IntelliJ上でGradleビルド時に「Deprecated Gradle features were used in this build」が出たので調べた
Gradle でプロジェクトのビルドをしたら以下の警告メッセージが表示されて嫌な予感。
(一部抜粋)
Deprecated Gradle features were used in this build, making it incompatible with Gradle 5.0.
Use ‘–warning-mode all’ to show the individual deprecation warnings.
メッセージの通り、使用しているバージョンは 4.10 だけど、5.0 から推奨されなくなるものがあるということです。
ちなみに、バージョンを 4.8 や 4.8.1 に落としてみても同じく警告は出ます。
4.10 の方が若干メッセージが詳しくなっている程度でしょうか。
Deprecated Gradle features were used in this build, making it incompatible with Gradle 5.0.
今回は、IntelliJ IDEA の IDE 上で、この警告メッセージの詳細な内容を調べてみたいと思います。
コマンドラインから gradle を実行している場合は、メッセージの通り以下をオプション指定すれば OK です。
–warning-mode all
warning-modeの設定場所
.gradle の配下に gradle.properties を作って、そこに定義しろって情報が見つかりましたが、残念ながら認識はしてくれませんでした。
あれこれ悩んで gradle のシェルに強引に追加してみたのですが、こちらも上手くいかず。
VM Option で引数を足してみたり・・・(破茶滅茶なことしてるな)
-Dorg.gradle.warning.mode=all
落ち着いて考えてみたところ、Gradle の Service Directory Path の設定は Mac だと以下になっているので、プロジェクトフォルダの .gradle ではなくてここのディレクトリのことですね。
/Users/USERNAME/.gradle
gradle.propertiesの作成
ということで、所定の場所にプロパティファイルを作成します。
$ vi /Users/USERNAME/.gradle/gradle.properties
org.gradle.warning.mode=all
ふー、ようやく警告の詳細が確認できました。
The project name ‘hoge/fuga’ contains at least one of the following characters: [ , /, \, :, <, >, “, ?, *, |].This has been deprecated and is scheduled to be removed in Gradle 5.0. Set the ‘rootProject.name’ or adjust the ‘include’ statement
要するに、プロジェクト名にスラッシュを使用するなよってことですね。
ってことで、命名した人にバトンタッチしてメデタシメデタシ。
すぐに対応しないような警告の場合は、ビルド時に詳細な警告メッセージが邪魔になるのでコメントアウトしておくといいと思います。
冒頭の警告メッセージは出続けちゃいますけどね。
$ vi /Users/USERNAME/.gradle/gradle.properties
#org.gradle.warning.mode=all