Java Gradle-make“;集合;依靠;“干净”;适用于所有项目
我用gradle构建了几个不相关的Java项目,其中一些组装到Java Gradle-make“;集合;依靠;“干净”;适用于所有项目,java,gradle,jar,war,Java,Gradle,Jar,War,我用gradle构建了几个不相关的Java项目,其中一些组装到jar文件中,另一些组装到war中 我希望所有项目的assembly任务都依赖于clean任务,因为我们遇到了各种旧类从构建文件夹缓存进入组装的jar/war的问题。是否有一种方法可以做到这一点,而无需将assembly.dependsOn clean添加到每个build.gradle submodules { assemble.dependsOn clean } 这将dependsOn应用于每个子项目您可以在/gradle/
jar
文件中,另一些组装到war
中
我希望所有项目的
assembly
任务都依赖于clean
任务,因为我们遇到了各种旧类从构建文件夹缓存进入组装的jar/war的问题。是否有一种方法可以做到这一点,而无需将assembly.dependsOn clean
添加到每个build.gradle
submodules {
assemble.dependsOn clean
}
这将
dependsOn
应用于每个子项目您可以在/gradle/init.gradle
脚本中使用全局钩子处理此问题。在那里输入的任何内容都会在每个构建中执行
为了避免在没有组装任务的项目上失败,您还需要一个过滤器,类似于以下的东西将起作用:
allprojects {
tasks.whenTaskAdded { theTask ->
if (theTask.name.equals('assemble')) {
theTask.dependsOn clean
}
}
}
这样做的目的是将块应用于所有定义的项目(
allproject
)。当添加每个任务时,它将运行,当添加名为assembly
的任务时,依赖项将添加到clean
中,您可以向init.gradle添加一些内容,因此每次调用gradle时它都适用。OP声明它们是/不相关的/项目