Gradle
のタスクを実行するときに、ファイルなどを相対パスで指定しても対象が存在しないという問題が発生したことはないでしょうか。
このような問題が発生するのは、実行するときのカレントディレクトリからの相対パスを使用して対象を取得していることが原因となる可能性があります。
今回は、Gradle
のタスクを実行するときに、どこをカレントディレクトリとしているかの確認方法を紹介します。
検証環境
検証に使用した環境/ライブラリを次に記載します。
- Java
- バージョン:11
- Gradle
- バージョン:6.7.1
確認方法
タスクの追加
build.gradle
ファイルに次のタスクを追加します。タスク名には、違う名前を設定しても問題ありません。
task printCurrentDirectory {
doLast {
println new File(".").absolutePath
}
}
追加したタスクは、実行するときに作成したファイルオブジェクトから絶対パスを取得して、出力する処理を実施しています。
タスクの実行
コンソールを開いてbuild.gradle
ファイルのあるディレクトリに移動してから、次のコマンドを実行します。
gradle printCurrentDirectory
タスク名を違う名前にしている場合は、変更したタスク名を指定して実行してください。
タスクの結果
タスクの実行結果を確認することでカレントディレクトリを確認することができます。
検証環境では、次ようにGradle
デーモンのディレクトリがカレントディレクトリとして結果が出力されました。
C:\Users\xxxx\.gradle\daemon\6.7.1\.
まとめ
Gradle
を実行するときのカレントディレクトリの確認方法を紹介しました。