如何使用 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)
}