diff --git a/generate/swaggergen/g_docs.go b/generate/swaggergen/g_docs.go index c33263d..48b54ad 100644 --- a/generate/swaggergen/g_docs.go +++ b/generate/swaggergen/g_docs.go @@ -102,8 +102,8 @@ func init() { astPkgs = make([]*ast.Package, 0) } -// ParsePackagesFromDir parses packages from a given directory -func ParsePackagesFromDir(dirpath string) { +// parsePackagesFromDir parses packages from a given directory +func parsePackagesFromDir(dirpath string) { c := make(chan error) go func() { @@ -157,8 +157,14 @@ func parsePackageFromDir(path string) error { // GenerateDocs generates documentations for a given path. func GenerateDocs(curpath string) { - fset := token.NewFileSet() + pkgspath := curpath + workspace := os.Getenv("BeeWorkspace") + if workspace != "" { + pkgspath = workspace + } + parsePackagesFromDir(pkgspath) + fset := token.NewFileSet() f, err := parser.ParseFile(fset, filepath.Join(curpath, "routers", "router.go"), nil, parser.ParseComments) if err != nil { beeLogger.Log.Fatalf("Error while parsing router.go: %s", err) diff --git a/main.go b/main.go index bbc9284..851b199 100644 --- a/main.go +++ b/main.go @@ -21,19 +21,10 @@ import ( "github.com/beego/bee/cmd" "github.com/beego/bee/cmd/commands" "github.com/beego/bee/config" - "github.com/beego/bee/generate/swaggergen" "github.com/beego/bee/utils" ) -var ( - workspace = os.Getenv("BeeWorkspace") -) - func main() { - currentpath, _ := os.Getwd() - if workspace != "" { - currentpath = workspace - } flag.Usage = cmd.Usage flag.Parse() log.SetFlags(0) @@ -66,12 +57,6 @@ func main() { } config.LoadConfig() - - // Check if current directory is inside the GOPATH, - // if so parse the packages inside it. - if cmd.IfGenerateDocs(c.Name(), args) { - swaggergen.ParsePackagesFromDir(currentpath) - } os.Exit(c.Run(c, args)) return }