Module Gradle模块执行顺序

Module Gradle模块执行顺序,module,dependencies,gradle,dependency-management,Module,Dependencies,Gradle,Dependency Management,我有一个gradle项目,有两个模块 第一模块(A)生成第二模块(B)使用的归档文件。我已经定义了settings.gradle文件,以便在B之前看到A 在A的末尾,调用了一个install任务,该任务将使存档可供B使用,但是install任务在所有模块构建之前不会执行 当我使用A的构建文件,或设置build命令-p时,它仍将尝试查找项目B的依赖项。我不想这样做 我如何设置,使模块B完全等待模块A完成 我已经定义了settings.gradle文件,以便在B之前看到A 这里的秩序不重要 在A的末

我有一个gradle项目,有两个模块

第一模块(A)生成第二模块(B)使用的归档文件。我已经定义了
settings.gradle
文件,以便在B之前看到A

在A的末尾,调用了一个
install
任务,该任务将使存档可供B使用,但是
install
任务在所有模块构建之前不会执行

当我使用A的构建文件,或设置build命令
-p
时,它仍将尝试查找项目B的依赖项。我不想这样做

我如何设置,使模块B完全等待模块A完成

我已经定义了settings.gradle文件,以便在B之前看到A

这里的秩序不重要

在A的末尾,有一个名为的安装任务,它将使归档文件可供B使用

正确的处理方法是通过项目依赖关系将A的输出提供给B。在最简单的情况下,B的
build.gradle
将包含以下内容:

dependencies {
    compile project(":A") // could be something other than 'compile'
}
当我使用A的构建文件,或者设置build命令-p时,它仍然会尝试查找项目B的依赖项

最有可能的是,您的一个构建脚本出现了问题,即它在应该在执行阶段完成的配置阶段工作

我如何设置,使模块B完全等待模块A完成


没有好办法。Gradle执行的是任务图,而不是项目列表。只要任务依赖关系正确,前者就没有缺点,只有优点。通常,Gradle可以自动计算任务依赖关系(特别是项目之间的依赖关系)。

不幸的是,如果模块只是一个分发项目,依赖关系技巧就不起作用