From ecedf03be698a85e34e30590ce10fe6ccdb2fc9e Mon Sep 17 00:00:00 2001 From: iman tung Date: Tue, 8 Oct 2019 11:46:25 +0700 Subject: [PATCH] tidy up name regarding walk project to get annotation --- .../typicmd/internal/prebuilder/prebuild.go | 6 ++--- .../walker/{file.go => project_file.go} | 8 +++---- .../walker/{report.go => project_files.go} | 10 ++++----- .../walker/{walk.go => walk_project.go} | 22 +++++++++---------- .../{walk_test.go => walk_project_test.go} | 2 +- typical/context.go | 6 ++--- 6 files changed, 27 insertions(+), 27 deletions(-) rename EXPERIMENTAL/typicmd/internal/prebuilder/walker/{file.go => project_file.go} (61%) rename EXPERIMENTAL/typicmd/internal/prebuilder/walker/{report.go => project_files.go} (61%) rename EXPERIMENTAL/typicmd/internal/prebuilder/walker/{walk.go => walk_project.go} (72%) rename EXPERIMENTAL/typicmd/internal/prebuilder/walker/{walk_test.go => walk_project_test.go} (95%) diff --git a/EXPERIMENTAL/typicmd/internal/prebuilder/prebuild.go b/EXPERIMENTAL/typicmd/internal/prebuilder/prebuild.go index 6c99b5c8..47c60a6c 100644 --- a/EXPERIMENTAL/typicmd/internal/prebuilder/prebuild.go +++ b/EXPERIMENTAL/typicmd/internal/prebuilder/prebuild.go @@ -23,14 +23,14 @@ func PreBuild(ctx *typictx.Context) (err error) { root := typienv.AppName projPkgs, filenames, _ := projectFiles(root) configuration := createConfiguration(ctx) - report, err := walker.Walk(filenames) + projFiles, err := walker.WalkProject(filenames) if err != nil { return } return runn.Execute( typienv.WriteEnvIfNotExist(ctx), prepareTestTargets(projPkgs), - generateAnnotated(report), + generateAnnotated(projFiles), generateConfiguration(configuration), ) } @@ -56,7 +56,7 @@ func generateTestTargets(name string, testTargets []string) error { ) } -func generateAnnotated(files *walker.Files) error { +func generateAnnotated(files *walker.ProjectFiles) error { defer elapsed("Generate Annotated")() pkg := typienv.Dependency.Package name := "annotateds.go" diff --git a/EXPERIMENTAL/typicmd/internal/prebuilder/walker/file.go b/EXPERIMENTAL/typicmd/internal/prebuilder/walker/project_file.go similarity index 61% rename from EXPERIMENTAL/typicmd/internal/prebuilder/walker/file.go rename to EXPERIMENTAL/typicmd/internal/prebuilder/walker/project_file.go index 5dfe5b46..843ee364 100644 --- a/EXPERIMENTAL/typicmd/internal/prebuilder/walker/file.go +++ b/EXPERIMENTAL/typicmd/internal/prebuilder/walker/project_file.go @@ -1,19 +1,19 @@ package walker -// File of walk analysis -type File struct { +// ProjectFile of walk analysis +type ProjectFile struct { Name string Mock bool Constructors []string } // IsEmpty is true if empty truct -func (f *File) IsEmpty() bool { +func (f *ProjectFile) IsEmpty() bool { return !f.Mock && len(f.Constructors) < 1 } // AddConstructor to add contructor to file -func (f *File) AddConstructor(constructor string) *File { +func (f *ProjectFile) AddConstructor(constructor string) *ProjectFile { f.Constructors = append(f.Constructors, constructor) return f } diff --git a/EXPERIMENTAL/typicmd/internal/prebuilder/walker/report.go b/EXPERIMENTAL/typicmd/internal/prebuilder/walker/project_files.go similarity index 61% rename from EXPERIMENTAL/typicmd/internal/prebuilder/walker/report.go rename to EXPERIMENTAL/typicmd/internal/prebuilder/walker/project_files.go index 68ac8c36..71cec88b 100644 --- a/EXPERIMENTAL/typicmd/internal/prebuilder/walker/report.go +++ b/EXPERIMENTAL/typicmd/internal/prebuilder/walker/project_files.go @@ -1,15 +1,15 @@ package walker -// Files information -type Files []File +// ProjectFiles information +type ProjectFiles []ProjectFile // Add item to files -func (f *Files) Add(item File) { +func (f *ProjectFiles) Add(item ProjectFile) { *f = append(*f, item) } // Autowires return autowired constructors -func (f *Files) Autowires() (constructors []string) { +func (f *ProjectFiles) Autowires() (constructors []string) { for _, file := range *f { constructors = append(constructors, file.Constructors...) } @@ -17,7 +17,7 @@ func (f *Files) Autowires() (constructors []string) { } // Automocks return automocked filenames -func (f *Files) Automocks() (filenames []string) { +func (f *ProjectFiles) Automocks() (filenames []string) { for _, file := range *f { if file.Mock { filenames = append(filenames, file.Name) diff --git a/EXPERIMENTAL/typicmd/internal/prebuilder/walker/walk.go b/EXPERIMENTAL/typicmd/internal/prebuilder/walker/walk_project.go similarity index 72% rename from EXPERIMENTAL/typicmd/internal/prebuilder/walker/walk.go rename to EXPERIMENTAL/typicmd/internal/prebuilder/walker/walk_project.go index af9f4a6d..1419f64b 100644 --- a/EXPERIMENTAL/typicmd/internal/prebuilder/walker/walk.go +++ b/EXPERIMENTAL/typicmd/internal/prebuilder/walker/walk_project.go @@ -8,36 +8,36 @@ import ( "strings" ) -// Walk the source code to get autowire and automock -func Walk(filenames []string) (f *Files, err error) { - f = &Files{} +// WalkProject the source code to get autowire and automock +func WalkProject(filenames []string) (files *ProjectFiles, err error) { + files = &ProjectFiles{} fset := token.NewFileSet() // positions are relative to fset for _, filename := range filenames { - if walkTarget(filename) { - var file File + if isWalkTarget(filename) { + var file ProjectFile file, err = parse(fset, filename) if err != nil { return } if !file.IsEmpty() { - f.Add(file) + files.Add(file) } } } return } -func walkTarget(filename string) bool { +func isWalkTarget(filename string) bool { return strings.HasSuffix(filename, ".go") && !strings.HasSuffix(filename, "_test.go") } -func parse(fset *token.FileSet, filename string) (file File, err error) { +func parse(fset *token.FileSet, filename string) (projFile ProjectFile, err error) { f, err := parser.ParseFile(fset, filename, nil, parser.ParseComments) if err != nil { return } - file.Name = filename + projFile.Name = filename for objName, obj := range f.Scope.Objects { switch obj.Decl.(type) { case *ast.FuncDecl: @@ -47,7 +47,7 @@ func parse(fset *token.FileSet, filename string) (file File, err error) { godoc = funcDecl.Doc.Text() } if isAutoWire(objName, godoc) { - file.AddConstructor(fmt.Sprintf("%s.%s", f.Name, objName)) + projFile.AddConstructor(fmt.Sprintf("%s.%s", f.Name, objName)) } case *ast.TypeSpec: typeSpec := obj.Decl.(*ast.TypeSpec) @@ -58,7 +58,7 @@ func parse(fset *token.FileSet, filename string) (file File, err error) { if typeSpec.Doc != nil { doc = typeSpec.Doc.Text() } - file.Mock = isAutoMock(doc) + projFile.Mock = isAutoMock(doc) } } } diff --git a/EXPERIMENTAL/typicmd/internal/prebuilder/walker/walk_test.go b/EXPERIMENTAL/typicmd/internal/prebuilder/walker/walk_project_test.go similarity index 95% rename from EXPERIMENTAL/typicmd/internal/prebuilder/walker/walk_test.go rename to EXPERIMENTAL/typicmd/internal/prebuilder/walker/walk_project_test.go index 1774b154..4dfa7a1e 100644 --- a/EXPERIMENTAL/typicmd/internal/prebuilder/walker/walk_test.go +++ b/EXPERIMENTAL/typicmd/internal/prebuilder/walker/walk_project_test.go @@ -50,6 +50,6 @@ func TestWalkTarget(t *testing.T) { {"file", false}, } for _, tt := range testcases { - require.Equal(t, tt.result, walkTarget(tt.filename)) + require.Equal(t, tt.result, isWalkTarget(tt.filename)) } } diff --git a/typical/context.go b/typical/context.go index 74567fe6..c043a18f 100644 --- a/typical/context.go +++ b/typical/context.go @@ -3,7 +3,7 @@ package typical import ( "github.com/typical-go/typical-rest-server/EXPERIMENTAL/typictx" "github.com/typical-go/typical-rest-server/app" - "github.com/typical-go/typical-rest-server/app/config" + cfg "github.com/typical-go/typical-rest-server/app/config" "github.com/typical-go/typical-rest-server/pkg/module/typpostgres" "github.com/typical-go/typical-rest-server/pkg/module/typredis" "github.com/typical-go/typical-rest-server/pkg/module/typserver" @@ -11,14 +11,14 @@ import ( // Context instance of Context var Context = &typictx.Context{ + Root: "github.com/typical-go/typical-rest-server", Name: "Typical-RESTful-Server", Description: "Example of typical and scalable RESTful API Server for Go", - Root: "github.com/typical-go/typical-rest-server", Application: typictx.Application{ StartFunc: app.Start, Config: typictx.Config{ Prefix: "APP", - Spec: &config.Config{}, + Spec: &cfg.Config{}, }, Initiations: []interface{}{ app.Middlewares,