如何使用 gradle 构建更多项目,而他们共享的部分将只构建一次?



我的项目中有三个子项目。它们中的每一个都是可执行的 Web 应用程序。它们共享相同的核心模块,该模块也具有build.gradle脚本。假设它的名字是shared-core.现在我为每个单独的gradle.build和settings.gradle。因此,当我尝试构建所有这些核心时,核心将重建三次。但是我想设置 gradle 脚本,以便shared-core只会重建一次。

我真的是刚开始学习的,所以很抱歉,如果这是一个愚蠢的问题,但我该怎么做?

感谢您的任何帮助。

root(main-project)
|
|-shared-core
|   |-build.gradle
|
|-sub-project-a
|   |-build.gradle
|
|-sub-project-b
|   |-build.gradle
|
|-sub-project-c
|   |-build.gradle
|
|-build.gradle
|-settings.gradle

现在,在每个子项目上,您将共享核心的依赖项添加为compile project(':shared-core')。您可以找到有关多项目构建的更多详细信息。

如果我理解正确(从多个settings.gradle文件中(,您将项目构建为完全独立的构建。Gradle不知道这些项目之间的关系。

如果您创建一个多项目构建,其中每个项目都是子项目,并且您使每个webapp模块都依赖于shared-core,则 Gradle 只会在单个构建中构建一次shared-core项目。

您仍然可以根据需要配置每个webapp模块。

如果您不想在单个项目中查看所有 Web 应用,请查看复合构建,但设置起来有点困难。

最新更新