github.com/goadesign/goa/goagen/gen_main


genmain

import "github.com/goadesign/goa/goagen/gen_main"

Overview

Package genmain provides a generator for a skeleton goa application. This generator generates the code for a basic “main” package and is mainly intended as a way to bootstrap new applications. The generator creates a main.go file and one file per resource listed in the API metadata. If a file already exists it skips its creation unless the flag –force is provided on the command line in which case it overrides the content of existing files.

Index

Package files

doc.go generator.go options.go

func Generate

func Generate() (files []string, err error)

Generate is the generator entry point called by the meta generator.

func GenerateController

func GenerateController(force, regen bool, appPkg, outDir, pkg, name string, r *design.ResourceDefinition) (filename string, err error)

GenerateController generates the controller corresponding to the given resource and returns the generated filename.

type Generator

type Generator struct {
    API       *design.APIDefinition // The API definition
    OutDir    string                // Path to output directory
    DesignPkg string                // Path to design package, only used to mark generated files.
    Target    string                // Name of generated "app" package
    Force     bool                  // Whether to override existing files
    Regen     bool                  // Whether to regenerate scaffolding in place, maintaining controller implementation
    // contains filtered or unexported fields
}

Generator is the application code generator.

func NewGenerator

func NewGenerator(options ...Option) *Generator

NewGenerator returns an initialized instance of a JavaScript Client Generator

func (*Generator) Cleanup

func (g *Generator) Cleanup()

Cleanup removes all the files generated by this generator during the last invokation of Generate.

func (*Generator) Generate

func (g *Generator) Generate() (_ []string, err error)

Generate produces the skeleton main.

type Option

type Option func(*Generator)

Option a generator option definition

func API

func API(API *design.APIDefinition) Option

API The API definition

func DesignPkg

func DesignPkg(designPkg string) Option

DesignPkg Path to design package, only used to mark generated files.

func Force

func Force(force bool) Option

Force Whether to override existing files

func OutDir

func OutDir(outDir string) Option

OutDir Path to output directory

func Regen

func Regen(regen bool) Option

Regen Whether to regenerate scaffolding in place, maintaining existing controller implementation

func Target

func Target(target string) Option

Target Name of generated “app” package


Generated by godoc2md