gradle - 任务是否复制了同一项目中另一个任务的所有依赖项?

标签 gradle groovy

我有两个任务,具有相同的依赖性。

而不是每个依赖写两次,例如

A.dependsOn C
B.dependsOn C
...

有没有一种方法可以让B轻松地从A复制依赖关系,而又不必实际上依赖于A?当我调用任务之一时,我不希望A在B之前运行,反之亦然。

谢谢

最佳答案

一种可能的解决方案是创建要依赖的任务的集合,并按以下方式使用它:

def commonDependencies = [
        C, D, E
]

A.dependsOn commonDependencies
B.dependsOn commonDependencies

或者,您可以使用AB任务数组来完成此操作,如下所示:
[A, B].each {task -> task.dependsOn C}

它遍历数组并设置每个元素的dependsOn属性。

关于gradle - 任务是否复制了同一项目中另一个任务的所有依赖项?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51860878/

相关文章:

java - gradle 多项目出现 NoClassDefFoundError

grails - Grails,哪里可以定义方法?

android - 勺超时获取设备列表

gradle - Libgdx 和 gradle 模块

groovy - For 循环变量从列表初始化

Groovy BigDecimal 精度问题

java - Spring Inject/AutoWire 在运行时创建的 Groovy 类

grails - Grails 'false'唯一错误

java - 来自 Janino 和 Commons-Compiler 的 Spark java.lang.NoSuchMethodError

java - build.gradle 的 Gradle 备用名称和嵌套模块的约定