java - Gradle 子项目设置,git 子模块
问题描述
我有一个带有以下模块的 gradle (libgdx) 项目
- :core
- :a
- :b
我还包括本地库作为源,以修改它们,因为它们与项目松散地联系在一起。这些项目都有自己的结构,很像根项目的结构。最终的项目结构如下所示:
- :core
- :a
- :b
- :libA:core
- :libA:a
- :libA:b
- :libB:core
- :libB:a
- :libB:b
我现在的问题是,如何正确设置它,以便我可以project(':core')
在嵌套库项目中用作项目依赖项,并且仍然不是指:core
根项目,而是指各个库核心模块?我不想修改依赖项,project(':libA:core')
因为这会破坏独立形式的库项目。
解决方案
您可以这样组织项目:
/rootDir
-settings.gradle
-/core
-- build.gradle
-/a
-- build.gradle
-/b
-- build.gradle
-/libA
-settings.gradle
-/core
-- build.gradle
-/a
-- build.gradle
-/b
-- build.gradle
-/libB
-settings.gradle
-/core
-- build.gradle
-/a
-- build.gradle
-/b
-- build.gradle
细节:
- 一个
settings.gradle
在根级别,包括核心、a 和 b 项目 - libA 目录中的一个
settings.gradle
,其中包括 libA 中的核心、a 和 b 项目 - libB 目录中的一个
settings.gradle
,其中包括 libB 中的核心、a 和 b 项目
如果您不需要从不同的 libA 和 libB 子模块引用“主”代码项目,这将起作用。
推荐阅读
- javascript - 未选中复选框时如何更改标签标签的文本
- python - 具有相同类型属性的类的类型注释?
- android-studio - 无法从 sqldelight v1.4.1 访问生成的数据库类
- django - Django 错误日志仅在调试模式下工作
- sql - SQL (Hive):在使用 GROUP BY 进行聚合时使用窗口函数
- html - 调整容器大小时使用 HTML 和 CSS 缩写标题
- vb.net - 列表
循环短 - c++ - GTSAM Segfault - 可能的对齐问题?
- javascript - 即使其中一个承诺被拒绝,也不要让整个任务失败
- scala - 将列表转换为 Scala 中的设置