From 6d12b806d3d0da51e958a1c0384c1709b07dbbd3 Mon Sep 17 00:00:00 2001 From: Jeevanandam M Date: Sun, 22 May 2016 20:40:13 -0700 Subject: [PATCH] Validated PR #14 and fixed issues for the PR --- revel/build.go | 19 +++++++++++++++---- revel/package.go | 2 +- 2 files changed, 16 insertions(+), 5 deletions(-) diff --git a/revel/build.go b/revel/build.go index 95dbf47..33b9174 100644 --- a/revel/build.go +++ b/revel/build.go @@ -12,12 +12,17 @@ import ( ) var cmdBuild = &Command{ - UsageLine: "build [import path] [target path]", + UsageLine: "build [import path] [target path] [run mode]", Short: "build a Revel application (e.g. for deployment)", Long: ` Build the Revel web application named by the given import path. This allows it to be deployed and run on a machine that lacks a Go installation. +The run mode is used to select which set of app.conf configuration should +apply and may be used to determine logic in the application itself. + +Run mode defaults to "prod". + WARNING: The target path will be completely deleted, if it already exists! For example: @@ -31,14 +36,20 @@ func init() { } func buildApp(args []string) { - if len(args) != 3 { + if len(args) < 2 { fmt.Fprintf(os.Stderr, "%s\n%s", cmdBuild.UsageLine, cmdBuild.Long) return } - appImportPath, destPath, mode := args[0], args[1], args[2] + appImportPath, destPath, mode := args[0], args[1], "prod" + if len(args) >= 3 { + mode = args[2] + } + + fmt.Println("mode:", mode) + if !revel.Initialized { - revel.Init("", appImportPath, "") + revel.Init(mode, appImportPath, "") } // First, verify that it is either already empty or looks like a previous diff --git a/revel/package.go b/revel/package.go index f18161b..9c8272b 100644 --- a/revel/package.go +++ b/revel/package.go @@ -44,7 +44,7 @@ func packageApp(args []string) { } appImportPath := args[0] - revel.Init("", appImportPath, "") + revel.Init(mode, appImportPath, "") // Remove the archive if it already exists. destFile := filepath.Base(revel.BasePath) + ".tar.gz"