I am using Gradle 1.6 which comes with Groovy 1.8.6 and here comes the problem, I want to execute groovy script which need Groovy 2+, but Gradle is running this script with his own groovy (1.8.6) and my custom task is failing.
-
And what prevents you from backporting your script to work with groovy 1.8.x?fge– fge2013-06-28 12:02:22 +00:00Commented Jun 28, 2013 at 12:02
-
5«Groovy 1.8.x cant parse large XML files» is completely falsemoskiteau– moskiteau2013-06-28 13:16:08 +00:00Commented Jun 28, 2013 at 13:16
Add a comment
|
2 Answers
You can create directory src/main/groovy, put your script called myscript.groovy in there:
println "hello world from groovy version ${GroovySystem.version}"
Then, have a build.gradle file in your project root directory:
apply plugin: 'groovy'
repositories {
mavenCentral()
}
dependencies {
compile 'org.codehaus.groovy:groovy-all:2.0.5'
}
task runScript (dependsOn: 'classes', type: JavaExec) {
main = 'myscript'
classpath = sourceSets.main.runtimeClasspath
}
Then, you can execute your script (with output)
hw@hbook:ex $ gradle runScript
:compileJava UP-TO-DATE
:compileGroovy
:processResources UP-TO-DATE
:classes
:runScript
hello world from groovy version 2.0.5
BUILD SUCCESSFUL
Total time: 6.118 secs