Gradle任务接管战争配置

时间:2014-04-14 13:49:20

标签: gradle war

对于我的Web项目,我需要构建两个WAR文件。 一个是静态内容,一个没有。

war {
    archiveName = "feeder##${version}.full.war"
    exclude 'test.html', 'test.js', 'todos.js'
}
task SmallWar(type: War, dependsOn:[war]) {
    // exclude 'css', 'img', 'js', 'template', 'index.html'
    archiveName = "feeder##${version}.war"
}

很明显,我能够以相同的方式进行配置,但是如何接管配置并对其进行增强? 当前配置仅在运行war之前调用SmallWar 我不想打电话给它。相反,SmallWar任务应该已经排除了与战争加上其他文件相同的文件。

1 个答案:

答案 0 :(得分:2)

dependsOn仅影响执行,而不影响配置。在两个War任务之间配置共性的简便方法是:

tasks.withType(War) {
    exclude 'test.html', 'test.js', 'todos.js'
}

smallWar可以添加进一步的排除:

task smallWar(type: War) {
    exclude 'css', 'img', 'js'
}