読者です 読者をやめる 読者になる 読者になる

Gradle で Java から Groovy なクラスを参照する時の設定

第24章 Groovyプラグイン にあるように、
compileJava -> compileGrooby, compileTestJava -> compileTestGroovy てな形の依存関係になっていて、
Groovy から Java は OK ですが、Java から Groovy はダメです。*1

たまたま src/test/java から src/test/groovy を見たいケースが出たのでちょっと調べてみました。
Groovy/Gradle/Mixing Java and Groovy - Glamenv-Septzen.net
幾つかやり方があるようです。
今回採用したのは src/test/java の .java を src/test/groovy に移す方法にしました。

Javaコンパイルを compileTestGroovy に任したので、文字コードの設定も追加する必要あり。
Gradleで文字エンコーディングを指定する方法 - 豆無日記
こんな感じですかね。

def defaultEncoding = 'UTF-8'
tasks.withType(GroovyCompile) each {
  it.groovyOptions.encoding = defaultEncoding
  it.options.encoding = defaultEncoding
}

*1:test -> main は OK