Gradleでファイル内の特定の文字列を置換するとき、AntのReplaceタスクを使うと簡潔に書けます。
ファイル内の対象文字列を置換する
target.txt内の「@@@」を「wombat」に置換する。
※ 変更前のファイルを残したい場合は事前にコピーしておきます。
# file/target.txt
AAA@@@BBB@@@
// build.gradle
task replaceToken; replaceToken.doLast {
ant.replace(file: 'file/target.txt', token: '@@@', value: 'wombat')
}
実行結果
# file/target.txt
AAAwombatBBBwombat
参考
公式リファレンスにある通り、Copy APIの中でReplaceTokensを使えば、コピーしながらまとめて置換することもできます。
ただしその場合は、意図していなかったファイルまで置換してしまうなどの事故が起こる可能性があるため、特定のファイルだけを対象にしたい場合には、こちらの方法がベターだと思います。