npmでよく利用されているdotenvをGradleでも使えないか試してみたよ。
build.gradleに下記の記述を追加する
buildscript {
repositories {
maven {
url "https://plugins.gradle.org/m2/"
}
}
dependencies {
classpath "co.uzzu.dotenv:gradle:1.1.0"
}
}
apply plugin: "co.uzzu.dotenv.gradle"
プロジェクトルートに.envファイルを作成する
中身は適当にこんなかんじで。
FOO=foo
値を取得するには
環境変数名を指定するとOptional型が返ってくるので準じた方法で値を取得する。
環境変数が定義されていない場合ビルドエラーになるケースがあるので、fetchOrNull()を利用するのが良さげ。
env.FOO.value // => foo
env.fetch('FOO') // => foo
env.HOGE.value // => ビルドエラー
env.fetch('HOGE') // => ビルドエラー
env.fetchOrNull('FOO') // => foo
env.fetchOrNull('HOGE') // => null
env.fetch('HOGE', 'defaultValue') // => defaultValue
全ての環境変数をMapで取得するメソッド等もあります。
そのへんの詳細はプラグインのGithubを参照してください。
利用しているプラグイン