# HG changeset patch # User smith@nwoca.org # Date 1337189063 -3600 # Node ID 34bb1f5b90279eec23f50988af41c3cfc2f2d28f # Parent f7b0f9d286b8caca15ce1e11700b381a710acedf support setting env and overriding of specific properties diff -r f7b0f9d286b8 -r 34bb1f5b9027 init.gradle --- a/init.gradle Tue May 15 19:02:25 2012 +0100 +++ b/init.gradle Wed May 16 18:24:23 2012 +0100 @@ -122,8 +122,20 @@ if (file('private.properties').exists()) { developerPrivate.load(file('private.properties').newReader()) } - gradle.ext.env = (hasProperty('env') ? getProperty('env') : (developerPrivate.env ?: 'dev')) - println "Environment is: $gradle.env" + def envOverrides = [:] + + if ( !hasProperty('env') ) { + gradle.ext.env = developerPrivate.env ?: 'dev' + } else { + def values = getProperty('env').split(',') + gradle.ext.env = values.first() + values.tail().each { + def (k,v) = it.split('=') + envOverrides.put(k,v) + } + } + + println "Environment is: $gradle.env ($envOverrides)" def slurper = new ConfigSlurper(gradle.env) def environment = new ConfigObject() def environments = [] @@ -140,8 +152,12 @@ envCfg.put(k,v) } } - environment.merge(envCfg) - if (envName != 'environment' ) { + envOverrides.each { k,v -> + logger.info("$envName: overriding " + k + "=" + v) + envCfg.put(k,v) + } + environment.merge(envCfg) + if (envName != 'environment' ) { gradle.ext[envName] =envCfg environments << envName }