From 0b165b78a1a00631eaf881f634c8aa8b15969f36 Mon Sep 17 00:00:00 2001 From: hetingyao Date: Mon, 22 Apr 2019 22:18:37 +0800 Subject: [PATCH] make routers configurable for beego multi-instance in the same repo --- parser.go | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/parser.go b/parser.go index 81990a4a..5e6b9111 100644 --- a/parser.go +++ b/parser.go @@ -35,7 +35,7 @@ import ( "github.com/astaxie/beego/utils" ) -var globalRouterTemplate = `package routers +var globalRouterTemplate = `package {{.routersDir}} import ( "github.com/astaxie/beego" @@ -516,7 +516,9 @@ func genRouterCode(pkgRealpath string) { } defer f.Close() + routersDir := AppConfig.DefaultString("routersdir", "routers") content := strings.Replace(globalRouterTemplate, "{{.globalinfo}}", globalinfo, -1) + content = strings.Replace(content, "{{.routersDir}}", routersDir, -1) content = strings.Replace(content, "{{.globalimport}}", globalimport, -1) f.WriteString(content) } @@ -574,7 +576,8 @@ func getpathTime(pkgRealpath string) (lastupdate int64, err error) { func getRouterDir(pkgRealpath string) string { dir := filepath.Dir(pkgRealpath) for { - d := filepath.Join(dir, "routers") + routersDir := AppConfig.DefaultString("routersdir", "routers") + d := filepath.Join(dir, routersDir) if utils.FileExists(d) { return d }