Mercurial > public > develkit
diff init.gradle @ 106:34bb1f5b9027
support setting env and overriding of specific properties
author | smith@nwoca.org |
---|---|
date | Wed, 16 May 2012 18:24:23 +0100 |
parents | f7b0f9d286b8 |
children | 167745cd8af9 |
line wrap: on
line diff
--- 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 }