しおしお

IntelliJ IDEAのことなんかを書いてます

Gradleでpropertiesファイルから設定値を読み込もう

Gradleでantみたいに外部ファイル(propertyファイル)に設定値を切り出す方法
とりあえず、このへんを見て使ってみました。
http://www.monochromeroad.com/artifacts/gradle/userguide/tutorial_this_and_that.html#sec:gradle_properties_and_system_properties

propertiesファイルは、gradle.propertiesというファイル名で下の2つのディレクトリの一方に配置する。
※両方に配置した場合は、Gradleのホームディレクトリのファイルでプロジェクトの設定値が上書されます。

  • Gradleのホームディレクトリ(USER_HOME/.gradle)
  • プロジェクトのディレクトリ(buildファイルのある場所)

設定値を参照する場合には、antみたいに${key}とする必要はなくて単純にkeyだけで参照できます。
(グローバルなスコープなString変数になるのかな?)

build.gradle

task properties << {
  println(key1)
  println(key2)
  println(key3)
}

プロジェクトのpropertyファイル

key1=value1
key2=value2

Gradleホームのpropertyファイル

key2=override-value2
key3=value3

実行した結果

propertyファイルの設定値が参照できてますね。あとは、Gradleホームの設定値が優先されているのも確認できました。

:properties
value1
override-value2
value3


おわり。