web-dev-qa-db-ja.com

GradleからGroovyスクリプトを実行する

私はGroovy 1.8.6に付属するGradle 1.6を使用していますが、ここに問題があります.Groovy 2+を必要とするgroovyスクリプトを実行したいのですが、Gradleはこのスクリプトを自分のgroovy(1.8.6)で実行しており、私のカスタムタスクは失敗。

37
IowA

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
}

次に、スクリプトを実行できます(出力付き)

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
74
Hans Westerbeek