1

I am trying to set a dependency version from a config.grooy properties. I have found a supoused way to do it here: pritomkumar.blogspot. This is the proposed solution:

Include the following lines in 'BuildConfig.groovy' file

def directory = new File(getClass().protectionDomain.codeSource.location.path).parent;
def config = new ConfigSlurper(grailsSettings.grailsEnv).parse(new File(directory + File.separator + "Config.groovy").toURI().toURL())
println "| Tomcat Version (API): " + config.grails.tomcat.version;
....    
plugins {
    runtime ":hibernate:2.2.4"
    runtime ":jquery:1.8.3"
    runtime ":resources:1.2"

    // Uncomment these (or add new ones) to enable additional resources capabilities
    //runtime ":zipped-resources:1.0"
    //runtime ":cached-resources:1.0"
    //runtime ":yui-minify-resources:0.1.5"

    build ":tomcat:"+config.grails.tomcat.version

    runtime ":database-migration:1.3.2"

    compile ':cache:1.0.1'
}

Include the following lines in 'Config.groovy'

grails.tomcat.version = "2.2.4" 

but It looks to work for older grails version, because I got this error when I try to refresh-dependecies:

org.codehaus.groovy.control.MultipleCompilationErrorsException: startup failed:
script15010760392501179421923.groovy: 1: unable to resolve class com.whatever.configuration.ConfigurationFilesManager
 @ line 1, column 1.
   import com.whatever.configuration.ConfigurationFilesManager
   ^

1 error

    at BuildConfig.run(BuildConfig.groovy:17)
    at grails.util.BuildSettings.loadConfig(BuildSettings.groovy:1087)
    at grails.util.BuildSettings.loadConfig(BuildSettings.groovy)
    at grails.util.BuildSettings.loadConfig(BuildSettings.groovy:1073)
    at grails.util.BuildSettings.loadConfig(BuildSettings.groovy)
    at grails.util.BuildSettings$loadConfig$0.callCurrent(Unknown Source)
    at grails.util.BuildSettings.loadConfig(BuildSettings.groovy:1053)

| Error There was an error loading the BuildConfig: startup failed: script15010760392501179421923.groovy: 1: unable to resolve class com.whatever.configuration.ConfigurationFilesManager @ line 1, column 1. import com.whatever.configuration.ConfigurationFilesManager

Any Help? Thanks in advance.

GSAN
  • 648
  • 6
  • 29

1 Answers1

0

You may check Grails use config.properties value into BuildConfig.groovy

Just replace config.properties to config.goorvy then you can get the Config value in BuildConfig tested in 2.5.6

But if we define a config in config.groovy such as `tomcatVersion = "2.2.4"

build ":tomcat:$slurp.tomcatVersion" will turn into ":tomcat:"2.2.4"" it's not fit the format

you can use another expression like
compile group: 'org.grails', name: 'tomcat', version: $slurp.tomcatVersion