From 0266f00019e2182178c9c1923e8624a3292a9742 Mon Sep 17 00:00:00 2001 From: Lari Hotari Date: Mon, 7 Nov 2011 08:03:48 +0200 Subject: [PATCH] Fix for GRAILS-8269 (Environment setting doesn't get used for running commands in Grails 2.0 interactive mode) --- .../groovy/grails/cli/parsing/DefaultCommandLine.java | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/grails-bootstrap/src/main/groovy/org/codehaus/groovy/grails/cli/parsing/DefaultCommandLine.java b/grails-bootstrap/src/main/groovy/org/codehaus/groovy/grails/cli/parsing/DefaultCommandLine.java index fffead6664c..542f5ad00ab 100644 --- a/grails-bootstrap/src/main/groovy/org/codehaus/groovy/grails/cli/parsing/DefaultCommandLine.java +++ b/grails-bootstrap/src/main/groovy/org/codehaus/groovy/grails/cli/parsing/DefaultCommandLine.java @@ -58,7 +58,8 @@ public String getEnvironment() { env = lookupEnvironmentForCommand(); } else { - env = environment != null ? environment : Environment.DEVELOPMENT.getName(); + String fallbackEnv = System.getProperty(Environment.KEY) != null ? System.getProperty(Environment.KEY) : Environment.DEVELOPMENT.getName(); + env = environment != null ? environment : fallbackEnv; } System.setProperty(Environment.KEY, env); @@ -68,8 +69,9 @@ public String getEnvironment() { } public String lookupEnvironmentForCommand() { + String fallbackEnv = System.getProperty(Environment.KEY) != null ? System.getProperty(Environment.KEY) : Environment.DEVELOPMENT.getName(); String env = CommandLineParser.DEFAULT_ENVS.get(commandName); - return env == null ? Environment.DEVELOPMENT.getName() : env; + return env == null ? fallbackEnv : env; } public boolean isEnvironmentSet() { @@ -150,6 +152,9 @@ public Map getUndeclaredOptions() { } public void addSystemProperty(String name, String value) { + if(Environment.KEY.equals(name)) { + setEnvironment(value); + } systemProperties.put(name, value); }