プレースホルダー/トークンを使用できないgradleで単純な文字列置換を行うことは可能ですか?
例: 与えられたすべての出現箇所をでtemp.txt
置き換えます。xxx
yyy
テキストを読む:
String contents = new File( 'whatever.txt' ).getText( 'UTF-8' )
テキストを置き換える
contents = contents.replaceAll( 'xxx', 'yyy' )
もう一度テキストを書き出す
new File( 'replaced.txt' ).write( contents, 'UTF-8' )
それらをタスクにラップし、通常どおりタスクを呼び出すことができるはずです
インプレースで置換するには:
ant.replaceregexp(file: fout, flags: "g",
match: 'schemaLocation="[^"]+/', replace: 'schemaLocation="', encoding: 'UTF-8')
構文の参照:
リソース処理について話していると思います。その場合、自由形式のfilter
方法を使用できます。
processResources {
filter { String line -> line.replace(...) }
}