Gradle任务接管战争配置

Gradle任务接管战争配置,gradle,war,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' ar

对于我的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"
}
很明显,我可以以相同的方式配置这两种配置,但如何接管配置并增强它?
当前配置仅在运行
SmallWar
之前调用
war


我不想叫它。相反,
SmallWar
任务应该已经排除与war相同的文件以及其他文件。

依赖项只影响执行,而不影响配置。配置两个
War
任务之间共性的简单方法是:

tasks.withType(War) {
    exclude 'test.html', 'test.js', 'todos.js'
}
smallWar
然后可以添加更多的排除项:

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

如果您声明一个变量来保存'test.html'、'test.js'、'todos.js'排除模式,并在war任务和SmallWar任务中使用它,这是否有帮助?