こんにちわ、北川です。
最近は、Gradle をお勉強中です。
わかってしまえば簡単な話なのですが、ファイルを参照する際に、
絶対パスで記載したいけど、環境によってプロジェクトルートは変更されてしまうので
ビルドスクリプトのあるディレクトリを取得する方法はないかと調べました。
ファイルを参照する
相対パス
File configFile = file('src/config.xml')
絶対パス
File configFile = file('/home/kitagawa/app/src/config.xml')
こんな感じでfileメソッドに絶対パスを記載することは可能ですが
環境固定になってしまうので、環境ごとにプロジェクトルートを
取得して絶対パスを生成できるはずだ!と悩むこと1ヶ月。。。
なんと、プロジェクトルートを取得する方法はドキュメントに記載されていました。
build.gradle
1 2 3 4 5 |
println """\ Project directory: $projectDir """ |
実行結果
1 2 |
/home/kitagawa/app gradle Project directory: /home/kitagawa/app |
わかってしまえば簡単ですね。
ドキュメントは、 13.2.1. 標準のプロジェクトプロパティ (http://gradle.monochromeroad.com/docs/userguide/writing_build_scripts.html)
に記載されております。