在ProcessResources期间使用gradle过滤器资源的IntelliJ Build Artifact

时间:2018-02-20 15:26:59

标签: java gradle intellij-idea war

问题: 我们如何使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... } }}

0 个答案:

没有答案