我将如何过滤我的 res/values/strings.xml 文件?
就像是:
<resources>
<string name="version_name">${version}</string>
...
将${version}
扩展为version
来自 build.gradle 文件的值
如果您的令牌采用以下格式,则可以将 ReplaceTokens 与过滤方法一起使用:@token@
因此,如果您的文件如下所示:
<resources>
<string name="version_name">@version@</string>
...
那么你可以这样做:
import org.apache.tools.ant.filters.ReplaceTokens
def version = '1.0'
processResources{
filter(ReplaceTokens, tokens: ['version': version])
}
您可以对任何支持过滤器方法的任务执行此操作(看起来像任何扩展的任务AbstractCopyTask
)。
${token}
如果你想保持格式,我不确定你是怎么做的。您也许可以使用不同的过滤器或在 ReplaceTokens 上设置过滤器。看起来在 ant 中你可以设置开始和结束标记。
使用 groovy 闭包,如果您更喜欢没有 ant external:
filter {
line -> line.replace('${version}', version)
}