如何使用 gradle 替换文件中的令牌?
How to replace token in a file using gradle?
在存在 gradle 构建文件的文件夹中,我有一个名为“文件”的文件,它包含以下数据:
@tokenval@
在构建文件中,我写了以下内容:
import org.apache.tools.ant.filters.*
task processResources {
filesMatching('file') {
filter(ReplaceTokens, tokens: [tokenval: 1])
}
}
我想用 1 替换文件中的 @tokenval@。但是当我 运行 使用 gradle -q processResources 时出现以下错误:
A problem occurred evaluating root project 'gradle learning experiments'.
> Could not find method filesMatching() for arguments [file, build_biz3ipxhnv8xkmjuuxur85z50$_run_closure1$_closure2@7d811b8] on task ':processResources' of type org.gradle.api.DefaultTask.
这会将输入 file
复制到项目 build/
目录并替换副本中的令牌:
import org.apache.tools.ant.filters.*
task processResources(type: Copy) {
from('file') {
filter(ReplaceTokens, tokens: [tokenval: '1'])
}
into(buildDir)
}
在存在 gradle 构建文件的文件夹中,我有一个名为“文件”的文件,它包含以下数据:
@tokenval@
在构建文件中,我写了以下内容:
import org.apache.tools.ant.filters.*
task processResources {
filesMatching('file') {
filter(ReplaceTokens, tokens: [tokenval: 1])
}
}
我想用 1 替换文件中的 @tokenval@。但是当我 运行 使用 gradle -q processResources 时出现以下错误:
A problem occurred evaluating root project 'gradle learning experiments'.
> Could not find method filesMatching() for arguments [file, build_biz3ipxhnv8xkmjuuxur85z50$_run_closure1$_closure2@7d811b8] on task ':processResources' of type org.gradle.api.DefaultTask.
这会将输入 file
复制到项目 build/
目录并替换副本中的令牌:
import org.apache.tools.ant.filters.*
task processResources(type: Copy) {
from('file') {
filter(ReplaceTokens, tokens: [tokenval: '1'])
}
into(buildDir)
}