Merge pull request #57 from revel/app-version-buildtime

Streamlined app version ad buildtime for revel app
This commit is contained in:
Jeevanandam M
2016-06-28 18:54:33 -07:00
committed by GitHub
2 changed files with 8 additions and 3 deletions

View File

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

View File

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