如何对 gretty 和 war 执行相同的资源过滤?

How to perform same resource filtering for both gretty and war?

这是一个 Gradle 构建脚本的片段,它在构建 WAR 和 运行 具有 gretty 的 appRun 任务的 webapp 时过滤 web.xml。有没有办法共享一个 'filesMatching' 定义而不是重复它?

import org.apache.tools.ant.filters.ReplaceTokens

def tokens = [
        "foo": "bar",
]

war {
    filesMatching("WEB-INF/web.xml") {
        filter(ReplaceTokens, tokens: tokens)
    }
}

gretty {
    webappCopy {
        filesMatching 'WEB-INF/web.xml', {
            filter(ReplaceTokens, tokens: tokens)
        }
    }
}

根据gretty documentation,任何添加到webappCopy的配置都会被插件自动添加到war