2013-06-28 156 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