Gradleでのプロパティファイルの拡張(expand)

Spring Bootアプリケーションで、検証環境と本番環境とでプロパティの値を変更するためのビルドスクリプトを書いてみました。

GradleのドキュメントSpring Bootのリファレンスを参考にしています。

ここでは、例としてspring.profiles.activeの値を設定してみます。application.propertiesには次のように書きます。

spring.profiles.active=${ext.profiles}

次に、build.gradleにprocessResourcesを記述します。

processResources {
    filesMatching('**/application.properties') {
        expand(project.properties)
    }
}

-Pprofiles=fooを指定してbuildを実行します。 build/resourcesにコピーされたapplication.propertiesは下のようになります。

spring.profiles.active=foo

置換してほしくないプロパティについては、$の前に(バックスラッシュ)を付加します。

spring.datasource.url=\${url}

build/resourcesにコピーされたプロパティファイルは下のようになります。

spring.datasource.url=${url}