Gradle:如何使用并排项目配置多项目设置

kun*_*foo 15 java build multi-project gradle

我们有一个像这样设置的旧项目:

.
??? customizationProject
?   ??? ejb
?   ??? services
??? projectA
?   ??? ejb
?   ??? shared
??? projectB
?   ??? ejb
??? projectC
    ??? ejb
    ??? services
Run Code Online (Sandbox Code Playgroud)

我们的想法是customizationProject是交付的应用程序的最终组装发生的地方,实际上可能有多个 customizationProjects,它们可能包含多个配置.然而,这不是我要解决的问题.

我想使customizationProject成为gradle项目的逻辑根项目.如何配置各个项目,以便a)知道它们是多项目构建的一部分b)可以正确执行,具有不同的范围,例如只运行一个子项目的测试,同时还允许执行所有测试在所有项目中?

The*_*ain 19

这是一个相当容易的结构,以支持Gradle.使用以下内容将settings.gradle文件添加到customizationProject目录:

includeFlat 'projectA', 'projectB', 'projectC'
Run Code Online (Sandbox Code Playgroud)

您可以从命令行确认项目结构:

$ gradle projects
:projects

------------------------------------------------------------
Root Project
------------------------------------------------------------

Root project 'customizationProject'
+--- Project ':projectA'
+--- Project ':projectB'
\--- Project ':projectC'
Run Code Online (Sandbox Code Playgroud)

Gradle文档中提供了includeFlat方法的说明.

希望有所帮助!

  • 重要说明:您需要在`customizationProject`目录中运行gradle(settings.gradle文件所在的位置),否则将无法找到项目. (3认同)