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.
pull/390/head
Gero Nimo 6 years ago
parent 701b2e2ea8
commit 0cffaf8ea6
  1. 3
      main.go
  2. 9
      utils/utils.go

@ -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)
}

@ -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

Loading…
Cancel
Save