From 612de1d3a48cfd60d1c9f733890d7c43aada3474 Mon Sep 17 00:00:00 2001 From: Jeevanandam M Date: Sat, 25 Jun 2016 19:04:40 -0700 Subject: [PATCH] #51 - Streamlined app version ad buildtime for revel app --- harness/build.go | 8 ++++++-- revel/run.go | 3 ++- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/harness/build.go b/harness/build.go index d0f21ef..29383a3 100755 --- a/harness/build.go +++ b/harness/build.go @@ -16,6 +16,7 @@ import ( "strconv" "strings" "text/template" + "time" "github.com/revel/revel" ) @@ -81,12 +82,15 @@ func Build(buildFlags ...string) (app *App, compileError *revel.Error) { gotten := make(map[string]struct{}) for { appVersion := getAppVersion() - versionLinkerFlags := fmt.Sprintf("-X %s/app.APP_VERSION=\"%s\"", revel.ImportPath, appVersion) + buildTime := time.Now().UTC().Format(time.RFC3339) + versionLinkerFlags := fmt.Sprintf("-X %s/app.AppVersion=%s -X %s/app.BuildTime=%s", + revel.ImportPath, appVersion, revel.ImportPath, buildTime) // TODO remove version check for versionLinkerFlags after Revel becomes Go min version to go1.5 goVersion, _ := strconv.ParseFloat(runtime.Version()[2:5], 64) if goVersion < 1.5 { - versionLinkerFlags = fmt.Sprintf("-X %s/app.APP_VERSION \"%s\"", revel.ImportPath, appVersion) + versionLinkerFlags = fmt.Sprintf("-X %s/app.AppVersion \"%s\" -X %s/app.BuildTime \"%s\"", + revel.ImportPath, appVersion, revel.ImportPath, buildTime) } flags := []string{ "build", diff --git a/revel/run.go b/revel/run.go index 70d2e1f..3817f80 100644 --- a/revel/run.go +++ b/revel/run.go @@ -85,7 +85,8 @@ func parseRunArgs(args []string) *RunArgs { // 1. revel run [import-path] // 2. revel run [port] // 3. revel run [run-mode] - if strings.Contains(args[0], "/") { + if strings.Contains(args[0], "/") || + strings.Contains(inputArgs.ImportPath, "..") { inputArgs.ImportPath = args[0] } else if port, err := strconv.Atoi(args[0]); err == nil { inputArgs.Port = port