问题: 我们如何使IntelliJ Build工件从我们的processResources Gradle任务中替换我们的令牌字符串。我想避免手动配置IntelliJ,我认为它是'ant preprocess'。我希望配置只是在Gradle脚本中。
我们的环境:
我们使用Gradle构建我们的war容器,使用IntelliJ作为IDE。在开发过程中,我们使用其“构建工件”在IntelliJ中部署爆炸的工件。我们的Gradle进程资源使用ant ReplaceToken过滤一些log4j.xml文件和类似文件,如此
processResources {
filter(ReplaceTokens, tokens: [VERSION_TOKEN: version])
}
我们使用IntelliJ的导入Gradle模块,它创建了'Web Gradle'方面的'Web Gradle'构面资源工件。当我们让Intellij构建我们的工件并在开发中部署爆炸战争时。 IntelliJ的构建工件执行过程资源中定义的过滤器令牌替换。
然而,这个processResources定义会命中所有文件,并且会破坏我的PNG文件。
以下内容仍适用于Gradle,但现在IntelliJs构建工件不能替代令牌
processResources {
filesMatching('**/log4j2.xml') {
filter(ReplaceTokens, tokens: [VERSION_TOKEN: version])
}
}
同样,如果我在doFirst{}
中进行替换或执行eachFile { copyDetails -> if (copyDetails.path == 'log4j2.xml') { filter... } }}
。