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/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() { workspace.Delete() }) Context("with a dummy API", func() { BeforeEach(func() { design.Design = &design.APIDefinition{ APIVersionDefinition: &design.APIVersionDefinition{ Name: "test api",
. "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() { workspace.Delete() }) Context("with a dummy API", func() { BeforeEach(func() { dslengine.Reset() apidsl.API("test api", func() { apidsl.Title("dummy API with no resource")