多模块(多单片机)渐变项目开发



我继承了一个具有以下设置的项目。Gradle 中有大约 5 个独立的模块,分布在 5 个不同的 git 存储库中。这些模块的版本控制由 ScmVersion 插件驱动。其中一个模块是将这些模块集成在一起的结果应用程序。

模块之间的依赖关系在 build.gradle 依赖关系部分中由 groupId、artificatId 和版本指定。

App (separete git repo)
- depends on libA
- depends on libB
- depends on libC
LibA (separete git repo)
LibB (separete git repo)
- depends on LibD
LibC (separete git repo)
- depends on LibD
LibD (separete git repo)

我对 Gradle 很陌生。到目前为止,我已经创建了一个简单的脚本,该脚本将每个库的scmVersion覆盖到带时间戳的快照,并运行"干净构建发布到MavenLocal"。在 App、LibB 和 LibC 的 gradle.properites 中,脚本将依赖版本覆盖到那些刚刚构建的快照并运行相同的任务(在脚本结束时,这将恢复为 RELEASE 版本)。这有效地构建了项目的整体结构,就像它在我的机器上一样。

我的问题是,我如何才能有效地在本地开发它?我正在使用Intellij。我已经看到了一些带有嵌套模块的多项目设置的示例,但是我如何在当前的 CI 设置中保持它的工作,其中作业将这些之间的依赖关系视为常规的组工件 ID 版本依赖关系?

非常感谢您的任何输入。

P.S在离开之前同事提到Eclipse Gradle插件可以以某种方式处理这个问题。请问你有什么经验吗?

我们可能会使用 Gradle 复合构建功能(在 2016.3 版中也集成到 Intellij 中)来解决此问题。遗憾的是,Gradle 不支持嵌套复合构建:(

最新更新