環境毎に変化するリソースファイルがあって、今までsrc/main/resourcesとかsrc/main/webappとかにcopyタスクでコピーしてたけども、VCSに変更扱いにされたりして戻したりするのが面倒だった。
調べても同じ事考えてる人がなかなか出てこないし、似たような事を考えてる人はいたけどやっぱり何かcopyしてるしで、できないんかなーでもできそうなんだけどなーとか悩んでたけども、ドキュメントをよく読んでないだけでした。そりゃお前しか悩まないわけだ。
明日の自分のためにメモしておく。
src/main/resources
http://www.gradle.org/docs/current/userguide/java_plugin.html
project.sourceSets.main.resources.srcDirs = ["path/to/my/resources"]
ごっそり上書きするならこれで良さそう。
ファイルが膨大だけど、ちょっとした差分しかない場合はディレクトリを切って複数指定で頑張るか、filterで書き換えるようにするか。
src/main/webapp
http://www.gradle.org/docs/current/userguide/war_plugin.html
project.webAppDirName = "path/to/my/webapp"
webAppDirNameはwarプラグインを入れてると使えるようになる変数で/src/main/webappがデフォルト値。
今回は1.10を使ってたけどもprojectをつけないと2.0では削除されるよ的な警告が出た気がする。
と、調べてみたらstackoverflowで出てた。
おわり
このpath周りはだいたい変数が用意されてて良い感じに上書きできたりするみたい。
あとは-Pxxx=productionとかビルド時に指定して、プロパティからgetして、値を見て振り分ければ良いわけですね・・・