#51 - Streamlined app version ad buildtime for revel app

This commit is contained in:
Jeevanandam M
2016-06-25 19:04:40 -07:00
parent 28c0df2ff3
commit 612de1d3a4
2 changed files with 8 additions and 3 deletions

View File

@@ -16,6 +16,7 @@ import (
"strconv" "strconv"
"strings" "strings"
"text/template" "text/template"
"time"
"github.com/revel/revel" "github.com/revel/revel"
) )
@@ -81,12 +82,15 @@ func Build(buildFlags ...string) (app *App, compileError *revel.Error) {
gotten := make(map[string]struct{}) gotten := make(map[string]struct{})
for { for {
appVersion := getAppVersion() 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 // TODO remove version check for versionLinkerFlags after Revel becomes Go min version to go1.5
goVersion, _ := strconv.ParseFloat(runtime.Version()[2:5], 64) goVersion, _ := strconv.ParseFloat(runtime.Version()[2:5], 64)
if goVersion < 1.5 { 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{ flags := []string{
"build", "build",

View File

@@ -85,7 +85,8 @@ func parseRunArgs(args []string) *RunArgs {
// 1. revel run [import-path] // 1. revel run [import-path]
// 2. revel run [port] // 2. revel run [port]
// 3. revel run [run-mode] // 3. revel run [run-mode]
if strings.Contains(args[0], "/") { if strings.Contains(args[0], "/") ||
strings.Contains(inputArgs.ImportPath, "..") {
inputArgs.ImportPath = args[0] inputArgs.ImportPath = args[0]
} else if port, err := strconv.Atoi(args[0]); err == nil { } else if port, err := strconv.Atoi(args[0]); err == nil {
inputArgs.Port = port inputArgs.Port = port