Fix generate swagger model api doc on Windows.

Add multiple gopath support for ParsePackagesFromDir.
Improves gloomyzerg@39cc0bc04e109ff0f69e73d567354d9e82b7c24c fix for #332 that got lost on some merge.
This commit is contained in:
Gero Nimo 2017-03-24 04:54:17 -03:00
parent 701b2e2ea8
commit 0cffaf8ea6
2 changed files with 8 additions and 4 deletions

View File

@ -17,7 +17,6 @@ import (
"flag"
"log"
"os"
"strings"
"github.com/beego/bee/cmd"
"github.com/beego/bee/cmd/commands"
@ -64,7 +63,7 @@ func main() {
// Check if current directory is inside the GOPATH,
// if so parse the packages inside it.
if strings.Contains(currentpath, utils.GetGOPATHs()[0]+"/src") && cmd.IfGenerateDocs(c.Name(), args) {
if utils.IsInGOPATH(currentpath) && cmd.IfGenerateDocs(c.Name(), args) {
swaggergen.ParsePackagesFromDir(currentpath)
}

View File

@ -61,12 +61,17 @@ func GetGOPATHs() []string {
return paths
}
// IsInGOPATH checks the path is in the fisrt GOPATH(/src) or not
// IsInGOPATH checks whether the path is inside of any GOPATH or not
func IsInGOPATH(thePath string) bool {
if runtime.GOOS == "windows" {
thePath = filepath.ToSlash(thePath)
}
return strings.Contains(thePath, GetGOPATHs()[0]+"/src")
for _, gopath := range GetGOPATHs() {
if strings.Contains(thePath, gopath + "/src") {
return true
}
}
return false
}
// IsBeegoProject checks whether the current path is a Beego application or not