I found this thread and quote from Graeme Rocher:
3 Grails uses Spring concept of funding sources, so she decides the properties of the system, environment, and, finally, application.yml / application.groovy
and Clyde Balneovy code:
class Application extends GrailsAutoConfiguration implements EnvironmentAware { static void main(String[] args) { GrailsApp.run(Application) } @Override void setEnvironment(Environment environment) { //Set up Configuration directory def krakenHome = System.getenv('KRAKEN_HOME') ?: System.getProperty('KRAKEN_HOME') ?: "/opt/kraken" println "" println "Loading configuration from ${krakenHome}" def appConfigured = new File(krakenHome, 'KrakenConfig.groovy').exists() println "Loading configuration file ${new File(krakenHome, 'KrakenConfig.groovy')}" println "Config file found : " + appConfigured if (appConfigured) { def config = new ConfigSlurper().parse(new File(krakenHome, 'KrakenConfig.groovy').toURL()) environment.propertySources.addFirst(new MapPropertySource("KrakenConfig", config)) } } } ) { class Application extends GrailsAutoConfiguration implements EnvironmentAware { static void main(String[] args) { GrailsApp.run(Application) } @Override void setEnvironment(Environment environment) { //Set up Configuration directory def krakenHome = System.getenv('KRAKEN_HOME') ?: System.getProperty('KRAKEN_HOME') ?: "/opt/kraken" println "" println "Loading configuration from ${krakenHome}" def appConfigured = new File(krakenHome, 'KrakenConfig.groovy').exists() println "Loading configuration file ${new File(krakenHome, 'KrakenConfig.groovy')}" println "Config file found : " + appConfigured if (appConfigured) { def config = new ConfigSlurper().parse(new File(krakenHome, 'KrakenConfig.groovy').toURL()) environment.propertySources.addFirst(new MapPropertySource("KrakenConfig", config)) } } } ):? System.getProperty ( 'KRAKEN_HOME'):? "/ opt / kraken" class Application extends GrailsAutoConfiguration implements EnvironmentAware { static void main(String[] args) { GrailsApp.run(Application) } @Override void setEnvironment(Environment environment) { //Set up Configuration directory def krakenHome = System.getenv('KRAKEN_HOME') ?: System.getProperty('KRAKEN_HOME') ?: "/opt/kraken" println "" println "Loading configuration from ${krakenHome}" def appConfigured = new File(krakenHome, 'KrakenConfig.groovy').exists() println "Loading configuration file ${new File(krakenHome, 'KrakenConfig.groovy')}" println "Config file found : " + appConfigured if (appConfigured) { def config = new ConfigSlurper().parse(new File(krakenHome, 'KrakenConfig.groovy').toURL()) environment.propertySources.addFirst(new MapPropertySource("KrakenConfig", config)) } } } }" class Application extends GrailsAutoConfiguration implements EnvironmentAware { static void main(String[] args) { GrailsApp.run(Application) } @Override void setEnvironment(Environment environment) { //Set up Configuration directory def krakenHome = System.getenv('KRAKEN_HOME') ?: System.getProperty('KRAKEN_HOME') ?: "/opt/kraken" println "" println "Loading configuration from ${krakenHome}" def appConfigured = new File(krakenHome, 'KrakenConfig.groovy').exists() println "Loading configuration file ${new File(krakenHome, 'KrakenConfig.groovy')}" println "Config file found : " + appConfigured if (appConfigured) { def config = new ConfigSlurper().parse(new File(krakenHome, 'KrakenConfig.groovy').toURL()) environment.propertySources.addFirst(new MapPropertySource("KrakenConfig", config)) } } } 'KrakenConfig.groovy'). exists () class Application extends GrailsAutoConfiguration implements EnvironmentAware { static void main(String[] args) { GrailsApp.run(Application) } @Override void setEnvironment(Environment environment) { //Set up Configuration directory def krakenHome = System.getenv('KRAKEN_HOME') ?: System.getProperty('KRAKEN_HOME') ?: "/opt/kraken" println "" println "Loading configuration from ${krakenHome}" def appConfigured = new File(krakenHome, 'KrakenConfig.groovy').exists() println "Loading configuration file ${new File(krakenHome, 'KrakenConfig.groovy')}" println "Config file found : " + appConfigured if (appConfigured) { def config = new ConfigSlurper().parse(new File(krakenHome, 'KrakenConfig.groovy').toURL()) environment.propertySources.addFirst(new MapPropertySource("KrakenConfig", config)) } } } File (krakenHome, 'KrakenConfig.groovy')}" class Application extends GrailsAutoConfiguration implements EnvironmentAware { static void main(String[] args) { GrailsApp.run(Application) } @Override void setEnvironment(Environment environment) { //Set up Configuration directory def krakenHome = System.getenv('KRAKEN_HOME') ?: System.getProperty('KRAKEN_HOME') ?: "/opt/kraken" println "" println "Loading configuration from ${krakenHome}" def appConfigured = new File(krakenHome, 'KrakenConfig.groovy').exists() println "Loading configuration file ${new File(krakenHome, 'KrakenConfig.groovy')}" println "Config file found : " + appConfigured if (appConfigured) { def config = new ConfigSlurper().parse(new File(krakenHome, 'KrakenConfig.groovy').toURL()) environment.propertySources.addFirst(new MapPropertySource("KrakenConfig", config)) } } } appConfigured class Application extends GrailsAutoConfiguration implements EnvironmentAware { static void main(String[] args) { GrailsApp.run(Application) } @Override void setEnvironment(Environment environment) { //Set up Configuration directory def krakenHome = System.getenv('KRAKEN_HOME') ?: System.getProperty('KRAKEN_HOME') ?: "/opt/kraken" println "" println "Loading configuration from ${krakenHome}" def appConfigured = new File(krakenHome, 'KrakenConfig.groovy').exists() println "Loading configuration file ${new File(krakenHome, 'KrakenConfig.groovy')}" println "Config file found : " + appConfigured if (appConfigured) { def config = new ConfigSlurper().parse(new File(krakenHome, 'KrakenConfig.groovy').toURL()) environment.propertySources.addFirst(new MapPropertySource("KrakenConfig", config)) } } } parse (new File (krakenHome, 'KrakenConfig.groovy'). toURL ()) class Application extends GrailsAutoConfiguration implements EnvironmentAware { static void main(String[] args) { GrailsApp.run(Application) } @Override void setEnvironment(Environment environment) { //Set up Configuration directory def krakenHome = System.getenv('KRAKEN_HOME') ?: System.getProperty('KRAKEN_HOME') ?: "/opt/kraken" println "" println "Loading configuration from ${krakenHome}" def appConfigured = new File(krakenHome, 'KrakenConfig.groovy').exists() println "Loading configuration file ${new File(krakenHome, 'KrakenConfig.groovy')}" println "Config file found : " + appConfigured if (appConfigured) { def config = new ConfigSlurper().parse(new File(krakenHome, 'KrakenConfig.groovy').toURL()) environment.propertySources.addFirst(new MapPropertySource("KrakenConfig", config)) } } } , config)) class Application extends GrailsAutoConfiguration implements EnvironmentAware { static void main(String[] args) { GrailsApp.run(Application) } @Override void setEnvironment(Environment environment) { //Set up Configuration directory def krakenHome = System.getenv('KRAKEN_HOME') ?: System.getProperty('KRAKEN_HOME') ?: "/opt/kraken" println "" println "Loading configuration from ${krakenHome}" def appConfigured = new File(krakenHome, 'KrakenConfig.groovy').exists() println "Loading configuration file ${new File(krakenHome, 'KrakenConfig.groovy')}" println "Config file found : " + appConfigured if (appConfigured) { def config = new ConfigSlurper().parse(new File(krakenHome, 'KrakenConfig.groovy').toURL()) environment.propertySources.addFirst(new MapPropertySource("KrakenConfig", config)) } } }