Graldeを4.10.2から6.0.1にバージョンアップしたときに警告やエラーが出たので、そのときに変更した依存関係周りを簡単にまとめました。
個人的にGradleはあまり詳しくないので、今回影響があった部分のみの記載です。
さらに詳細を知りたい方は、参考サイトをご覧ください。
バージョンアップ時のエラー
Gradle6にしてビルド等を走らせると、lombokを使用している場合、認識されずコンパイルが通りません。
いつの間にかGradleの設定方法が変わっていたので、その辺を変更します。
依存関係
ライブラリの依存定義に使う設定名が以下のように変わっています。
compile -> implementation compile files -> implementation files runtime -> runtimeOnly providedCompile -> compileOnly
注釈処理
「annotationProcessor
」というものを使う必要があります。
以下、Domaとlombokの場合です。
// Doma annotationProcessor 'org.seasar.doma:doma:2.19.3' implementation 'org.seasar.doma:doma:2.19.3' // lombok annotationProcessor 'org.projectlombok:lombok:1.18.8' compileOnly 'org.projectlombok:lombok:1.18.8'
Domaの場合、追加で以下も必要です。書き方が変わっています。
task copyDomaResources(type: Sync) { from sourceSets.main.resources.srcDirs into compileJava.destinationDir include 'doma.compile.config' include 'META-INF/**/*.sql' include 'META-INF/**/*.script' } compileJava { dependsOn copyDomaResources }
警告の確認
古い定義でもそのまま使えますが、バージョンアップ毎に非推奨の定義があり、将来的に削除されます。
スムーズにバージョンアップするためにも、非推奨定義は別の定義に変更しておいた方が良いです。
非推奨や警告定義の確認は、Gradleの各コマンドで「--warning-mode all
」を付与すると出力されます。
gradle build --warning-mode all