2013-06-28 157 views
33

我使用的Groovy 1.6与Groovy 1.8.6一起出现,问题在于,我想执行需要Groovy 2+的groovy脚本,但是Gradle使用他自己的groovy(1.8 .6)和我的自定义任务失败。从Gradle运行Groovy脚本

+0

什么阻止你向后移植你的脚本GRO工作ovy 1.8.x? – fge

+0

Groovy 1.8.x不能解析大型XML文件,这就是阻止我切换的原因 – IowA

+5

«Groovy 1.8.x不能解析大型XML文件»是完全错误的 – moskiteau

回答

69

您可以创建的src/main/Groovy中,摆在那里你的脚本调用 'myscript.groovy':

println "hello world from groovy version ${GroovySystem.version}" 

然后,在你的项目的根目录中的build.gradle文件:

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 
} 

然后,您可以执行脚本(带输出)

[email protected]: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