【问题标题】:Gradle - Recursive subprojectsGradle - 递归子项目
【发布时间】:2013-09-07 18:53:24
【问题描述】:

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

RootProject
\-- SubProjectA
    \-- SubProjectAA
    \-- SubProjectAB

我将如何实现这一目标?

我尝试的方法非常简单。我已经创建了具有上述结构的所有目录:

RootProject
\-- SubProjectA
    \-- SubProjectAA
        \-- build.gradle
    \-- SubProjectAB
        \-- build.gradle
    \-- build.gradle
    \-- settings.gradle
\-- build.gradle
\-- settings.gradle

RootProject/settings.gradle:

include "SubProjectA"

RootProject/SubProjectA/settings.gradle:

include "SubProjectAA", "SubProjectAB"

我尝试了两件事。首先,我尝试在 Eclipse 中导入项目 - 没有检测到 SubProjectAASubProjectAB。惊呆了,我在RootProject 中运行了gradle projects 并得到了这个输出:

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

Root project 'RootProject'
\--- Project ':SubProjectA'

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

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

Root project 'RootProject'
\--- Project ':SubProjectAA'
\--- Project ':SubProjectAB'

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

每个示例都被示例名称所掩盖,如果我犯了任何错误,请见谅。

谢谢!

【问题讨论】:

    标签: gradle multi-project


    【解决方案1】:

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

    include "SubProjectA:SubProjectAA"
    include "SubProjectA:SubProjectAB"
    

    更多信息可以在Gradle User Guide的“多项目构建”一章中找到。

    【讨论】:

    • 感谢您的澄清。你知道这方面有什么动静吗?对于更大的项目,我发现这非常繁琐。我已经看到了这个问题,但没有额外的 cmets:link
    • 那SubProjectAA的依赖怎么写呢?
    【解决方案2】:

    试试

    RootProject
    \-- SubProjectA
        \-- SubProjectAA
            \-- build.gradle
        \-- SubProjectAB
            \-- build.gradle
    \-- build.gradle
    \-- settings.gradle
    
    include ':SubProjectA/SubProjectAA'
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-12-27
      • 2014-02-09
      • 2017-03-26
      • 1970-01-01
      • 1970-01-01
      • 2014-02-11
      • 1970-01-01
      相关资源
      最近更新 更多