use yaml, and detect go.mod in current dir
This commit is contained in:
@@ -143,15 +143,17 @@ func createGoModFileIfNeed(dir string) {
|
|||||||
var tempPath = absDir
|
var tempPath = absDir
|
||||||
var hasGoMod = false
|
var hasGoMod = false
|
||||||
for {
|
for {
|
||||||
if tempPath == filepath.Dir(tempPath) {
|
|
||||||
break
|
|
||||||
}
|
|
||||||
tempPath = filepath.Dir(tempPath)
|
|
||||||
if util.FileExists(filepath.Join(tempPath, goModeIdentifier)) {
|
if util.FileExists(filepath.Join(tempPath, goModeIdentifier)) {
|
||||||
hasGoMod = true
|
hasGoMod = true
|
||||||
break
|
break
|
||||||
}
|
}
|
||||||
|
|
||||||
|
tempPath = filepath.Dir(tempPath)
|
||||||
|
if tempPath == filepath.Dir(tempPath) {
|
||||||
|
break
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if !hasGoMod {
|
if !hasGoMod {
|
||||||
gopath := os.Getenv("GOPATH")
|
gopath := os.Getenv("GOPATH")
|
||||||
parent := path.Join(gopath, "src")
|
parent := path.Join(gopath, "src")
|
||||||
|
|||||||
@@ -13,15 +13,14 @@ import (
|
|||||||
const (
|
const (
|
||||||
defaultPort = 8888
|
defaultPort = 8888
|
||||||
etcDir = "etc"
|
etcDir = "etc"
|
||||||
etcTemplate = `{
|
etcTemplate = `Name: {{.serviceName}}
|
||||||
"Name": "{{.serviceName}}",
|
Host: {{.host}}
|
||||||
"Host": "{{.host}}",
|
Port: {{.port}}
|
||||||
"Port": {{.port}}
|
`
|
||||||
}`
|
|
||||||
)
|
)
|
||||||
|
|
||||||
func genEtc(dir string, api *spec.ApiSpec) error {
|
func genEtc(dir string, api *spec.ApiSpec) error {
|
||||||
fp, created, err := util.MaybeCreateFile(dir, etcDir, fmt.Sprintf("%s.json", api.Service.Name))
|
fp, created, err := util.MaybeCreateFile(dir, etcDir, fmt.Sprintf("%s.yaml", api.Service.Name))
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -21,7 +21,7 @@ import (
|
|||||||
{{.importPackages}}
|
{{.importPackages}}
|
||||||
)
|
)
|
||||||
|
|
||||||
var configFile = flag.String("f", "etc/{{.serviceName}}.json", "the config file")
|
var configFile = flag.String("f", "etc/{{.serviceName}}.yaml", "the config file")
|
||||||
|
|
||||||
func main() {
|
func main() {
|
||||||
flag.Parse()
|
flag.Parse()
|
||||||
|
|||||||
@@ -28,32 +28,38 @@ func getParentPackage(dir string) (string, error) {
|
|||||||
var tempPath = absDir
|
var tempPath = absDir
|
||||||
var hasGoMod = false
|
var hasGoMod = false
|
||||||
for {
|
for {
|
||||||
if tempPath == filepath.Dir(tempPath) {
|
|
||||||
break
|
|
||||||
}
|
|
||||||
tempPath = filepath.Dir(tempPath)
|
|
||||||
if goctlutil.FileExists(filepath.Join(tempPath, goModeIdentifier)) {
|
if goctlutil.FileExists(filepath.Join(tempPath, goModeIdentifier)) {
|
||||||
tempPath = filepath.Dir(tempPath)
|
tempPath = filepath.Dir(tempPath)
|
||||||
rootPath = absDir[len(tempPath)+1:]
|
rootPath = absDir[len(tempPath)+1:]
|
||||||
hasGoMod = true
|
hasGoMod = true
|
||||||
break
|
break
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if tempPath == filepath.Dir(tempPath) {
|
||||||
|
break
|
||||||
|
}
|
||||||
|
|
||||||
|
tempPath = filepath.Dir(tempPath)
|
||||||
if tempPath == string(filepath.Separator) {
|
if tempPath == string(filepath.Separator) {
|
||||||
break
|
break
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if !hasGoMod {
|
|
||||||
gopath := os.Getenv("GOPATH")
|
if hasGoMod {
|
||||||
parent := path.Join(gopath, "src")
|
return rootPath, nil
|
||||||
pos := strings.Index(absDir, parent)
|
|
||||||
if pos < 0 {
|
|
||||||
fmt.Printf("%s not in gomod project path, or not in GOPATH of %s directory\n", absDir, gopath)
|
|
||||||
tempPath = filepath.Dir(absDir)
|
|
||||||
rootPath = absDir[len(tempPath)+1:]
|
|
||||||
} else {
|
|
||||||
rootPath = absDir[len(parent)+1:]
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
gopath := os.Getenv("GOPATH")
|
||||||
|
parent := path.Join(gopath, "src")
|
||||||
|
pos := strings.Index(absDir, parent)
|
||||||
|
if pos < 0 {
|
||||||
|
fmt.Printf("%s not in go.mod project path, or not in GOPATH of %s directory\n", absDir, gopath)
|
||||||
|
tempPath = filepath.Dir(absDir)
|
||||||
|
rootPath = absDir[len(tempPath)+1:]
|
||||||
|
} else {
|
||||||
|
rootPath = absDir[len(parent)+1:]
|
||||||
|
}
|
||||||
|
|
||||||
return rootPath, nil
|
return rootPath, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user