Gradle - 递归子项目

Mat*_*vic 23 multi-project gradle

假设我想使用Gradle项目结构,例如:

RootProject
\-- SubProjectA
    \-- SubProjectAA
    \-- SubProjectAB
Run Code Online (Sandbox Code Playgroud)

我怎么能实现这个目标?

我尝试的非常简单.我创建了所有目录,具有上述结构:

RootProject
\-- SubProjectA
    \-- SubProjectAA
        \-- build.gradle
    \-- SubProjectAB
        \-- build.gradle
    \-- build.gradle
    \-- settings.gradle
\-- build.gradle
\-- settings.gradle
Run Code Online (Sandbox Code Playgroud)

RootProject/settings.gradle:

include "SubProjectA"
Run Code Online (Sandbox Code Playgroud)

RootProject/SubProjectA/settings.gradle:

include "SubProjectAA", "SubProjectAB"
Run Code Online (Sandbox Code Playgroud)

我试过两件事.首先,我尝试在Eclipse中导入项目 - 它没有检测到SubProjectAA也没有SubProjectAB.惊呆了,我跑gradle projects进来RootProject得到了这个输出:

------------------------------------------------------------
Root project
------------------------------------------------------------

Root project 'RootProject'
\--- Project ':SubProjectA'
Run Code Online (Sandbox Code Playgroud)

仍然,我以为我犯了一个错误,我尝试在SubProjectA中运行相同的命令,并得到:

------------------------------------------------------------
Root project
------------------------------------------------------------

Root project 'RootProject'
\--- Project ':SubProjectAA'
\--- Project ':SubProjectAB'
Run Code Online (Sandbox Code Playgroud)

我假设解析子项目不会递归.这有什么解决方法吗?

每个例子都用样本名称掩盖,如果我犯了任何错误,对不起.

谢谢!

Pet*_*ser 24

你只能有一个settings.gradle.通常它会包含以下内容:

include "SubProjectA:SubProjectAA"
include "SubProjectA:SubProjectAB"
Run Code Online (Sandbox Code Playgroud)

可以在Gradle用户指南的"多项目构建"一章中找到更多信息.