gradle - 没有@@的任何字符串的Gradle replaceToken

标签 gradle replace token

Gradle替换文本文件中的字符串:

 foo --> bar

导入org.apache.tools.ant.filters.ReplaceTokens

ReplaceTokens要求 token 的格式为:@ token @。

但是在ant中, token 可以是没有@@的任何东西。
from ('/path') {
    filter(ReplaceTokens, tokens:["foo", "bar"])
}

它不会工作。逐行更换是解决方案?
from ('/path') {
    filter { String line -> line.replaceAll("foo", "bar") }
}

大文件的性能问题?

最佳答案

您应该能够像在Ant中一样配置它,因为它是完全相同的类。因此,以下可能应该起作用:

from ('/path') {
    filter(ReplaceTokens, beginToken: '', endToken: '', tokens:["foo", "bar"])
}

但这与逐行浏览文件并没有太大区别,因此我想从性能上来说并没有太大区别。

不过,您应该记住一件事。每当您使用内容过滤时,至少在文件中可能包含非ASCII字符的情况下,请设置filteringCharset,否则,将使用系统默认编码,这可能会破坏文件内容,具体取决于您构建的系统。

关于gradle - 没有@@的任何字符串的Gradle replaceToken,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44836095/

相关文章:

mysql - 在数据库中查找、隔离、重建和替换字符串

java - Gradle 中的 Maven 包阶段等效

Android Gradle 构建生成的 apk 包含混淆和非混淆类

python - 如何在 python 中将\t 视为常规字符串

java - 有限次数地随机替换字符串中的某个单词 | java

elasticsearch - Elasticsearch token 位置与得分相关吗?

ios - 检索已经获取的推送通知 token

c - 什么是 C token ?

java - Android Studio 1.0.2 Kickflip.io 短类型处理错误

android - 添加改造后的Gradle错误