2013-06-28 16 views
33

Używam programu Gradle 1.6, który jest dostarczany z wersją Groovy 1.8.6, a tu pojawia się problem, chcę wykonać groovy skrypt, który wymaga Groovy 2+, ale Gradle uruchamia ten skrypt z własnym, groovy (1.8. .6) i moje niestandardowe zadanie nie działa.Uruchamianie skryptów Groovy z Gradle

+0

a co uniemożliwia backport skryptu do pracy z gro ovy 1.8.x? – fge

+0

Groovy 1.8.x nie potrafi parsować dużych plików XML, to uniemożliwia przełączanie – IowA

+5

"Groovy 1.8.x nie potrafi parsować dużych plików XML" jest całkowicie fałszywe – moskiteau

Odpowiedz

69

Można tworzyć src/main/Groovy, umieścić skrypt o nazwie 'myscript.groovy' tam:

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

Wtedy masz plik build.gradle w katalogu głównym projektu:

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 
} 

Następnie można wykonać skryptu (przy wyjściu)

[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 
Powiązane problemy