func (m *Generator) generateToolSourceCode(pkg *codegen.Package) { file := pkg.CreateSourceFile("main.go") imports := append(m.Imports, codegen.SimpleImport("fmt"), codegen.SimpleImport("os"), codegen.SimpleImport("strings"), codegen.SimpleImport("github.com/goadesign/goa/dslengine"), codegen.NewImport("_", filepath.ToSlash(codegen.DesignPackagePath)), ) file.WriteHeader("Code Generator", "main", imports) tmpl, err := template.New("generator").Parse(mainTmpl) if err != nil { panic(err) // bug } pkgName, err := codegen.PackageName(pkg.Abs()) if err != nil { panic(err) } context := map[string]string{ "Genfunc": m.Genfunc, "DesignPackage": codegen.DesignPackagePath, "PkgName": pkgName, } err = tmpl.Execute(file, context) if err != nil { panic(err) // bug } }
"github.com/goadesign/goa/goagen/codegen" "github.com/goadesign/goa/goagen/meta" . "github.com/onsi/ginkgo" . "github.com/onsi/gomega" ) var _ = Describe("Run", func() { var compiledFiles []string var compileError error var outputWorkspace *codegen.Workspace var designWorkspace *codegen.Workspace var genfunc string var debug bool var outputDir string var designPackage *codegen.Package var designPackagePath string var designPackageSource string var m *meta.Generator BeforeEach(func() { genfunc = "" debug = false designPackagePath = "design" designPackageSource = "package design" codegen.DesignPackagePath = designPackagePath var err error outputWorkspace, err = codegen.NewWorkspace("output") p, err := outputWorkspace.NewPackage("testOutput") Ω(err).ShouldNot(HaveOccurred())
"os" "path/filepath" "strings" "github.com/goadesign/goa/design" "github.com/goadesign/goa/goagen/codegen" "github.com/goadesign/goa/goagen/gen_schema" . "github.com/onsi/ginkgo" . "github.com/onsi/gomega" ) var _ = Describe("Generate", func() { var files []string var genErr error var workspace *codegen.Workspace var testPkg *codegen.Package BeforeEach(func() { var err error workspace, err = codegen.NewWorkspace("test") Ω(err).ShouldNot(HaveOccurred()) testPkg, err = workspace.NewPackage("schematest") Ω(err).ShouldNot(HaveOccurred()) os.Args = []string{"codegen", "--out=" + testPkg.Abs(), "--design=foo"} }) JustBeforeEach(func() { files, genErr = genschema.Generate([]interface{}{design.Design}) }) AfterEach(func() {
"strings" "github.com/goadesign/goa/design/apidsl" "github.com/goadesign/goa/dslengine" "github.com/goadesign/goa/goagen/codegen" "github.com/goadesign/goa/goagen/gen_schema" "github.com/goadesign/goa/version" . "github.com/onsi/ginkgo" . "github.com/onsi/gomega" ) var _ = Describe("Generate", func() { var files []string var genErr error var workspace *codegen.Workspace var testPkg *codegen.Package BeforeEach(func() { var err error workspace, err = codegen.NewWorkspace("test") Ω(err).ShouldNot(HaveOccurred()) testPkg, err = workspace.NewPackage("schematest") Ω(err).ShouldNot(HaveOccurred()) os.Args = []string{"goagen", "--out=" + testPkg.Abs(), "--design=foo", "--version=" + version.String()} }) JustBeforeEach(func() { files, genErr = genschema.Generate() }) AfterEach(func() {