gpt4 book ai didi

java - Gradle - 让 "assemble"依赖于所有项目的 "clean"

转载 作者:行者123 更新时间:2023-12-02 06:16:52 25 4
gpt4 key购买 nike

我有几个使用 gradle 构建的不相关的 Java 项目,其中一些被组装成 jar 文件,其他则组装成 war

我希望所有项目的 assemble 任务都依赖于 clean 任务,因为我们在各种旧类进入已组装的 jars/wars 时遇到了问题构建文件夹缓存。有没有一种方法可以做到这一点,而不需要向每个 build.gradle 添加 assemble.dependsOn clean

最佳答案

您可以使用 ./gradle/init.gradle 脚本中的全局 Hook 来处理此问题。您放入其中的任何内容都会在每个构建中执行。

为了避免没有组装任务的项目失败,您还需要一个过滤器,如下所示的内容将起作用:

allprojects {
tasks.whenTaskAdded { theTask ->
if (theTask.name.equals('assemble')) {
theTask.dependsOn clean
}
}
}

它所做的是将 block 应用于定义的所有项目(allproject)。当添加每个任务时,它将运行,并且当添加名为 assemble 的任务时,依赖项将被添加到 clean

关于java - Gradle - 让 "assemble"依赖于所有项目的 "clean",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35133574/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com