从Gradle运行Groovy脚本

Iow*_*owA 38 groovy gradle

我正在使用Groovy 1.8.6附带的Gradle 1.6,这就是问题所在,我想执行需要Groovy 2+的groovy脚本,但是Gradle用他自己的groovy(1.8.6)运行这个脚本,我的自定义任务是失败.

Han*_*eek 76

你可以创建src/main/groovy,把你的脚本叫做'myscript.groovy':

println "hello world from groovy version ${GroovySystem.version}"
Run Code Online (Sandbox Code Playgroud)

然后,在项目根目录中有一个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
}
Run Code Online (Sandbox Code Playgroud)

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

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
Run Code Online (Sandbox Code Playgroud)