LoginSignup
7
8

More than 5 years have passed since last update.

gradleのcompileOnlyで指定したライブラリはtestCompileに引き継がれない

Posted at

gradle 2.12で追加された compileOnly を使って lombok の依存を記載。
コンパイルはこれでOKなんだけど、
テストクラスでも lombok を使いたいとき、このままだと test タスク実行時にコンパイルエラーになってしまう。

build.gradle
dependencies {
    compileOnly 'org.projectlombok:lombok:1.16.8'
}

これは、compileOnly タスクは compile の拡張タスクで、testCompile は compile を拡張しているため、
compileOnly で指定した依存ライブラリは testCompile に受け継がれない。

よって、こんな風に2つ書かないといけないぽい。

build.gradle
dependencies {
    compileOnly 'org.projectlombok:lombok:1.16.8'
    testCompileOnly 'org.projectlombok:lombok:1.16.8'
}

まぁテストなら testCompile で書いてもいいか。

参考

7
8
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
7
8