我有多个大致具有这种布局的应用程序项目:
所有应用共享相同的主要依赖项(带有其他功能的Java包装器)及其依赖项树。现在,我一直在开发每个应用程序,一直到C ++代码。它们在各自的父项目中作为git子模块进行管理。
由于在整个过程中变化率很高,所以我希望为所有来源的测试构建最终示例。
我尝试了几种方法将它们捆绑到一个gradle版本中:
现在,我希望在一个颤抖的构建中管理这棵完整的树。因此,我将直接依赖项添加到每个项目的settings.gradle中,只是为了学习gradle only supports one toplevel settings.gradle
。因此,这不起作用。前面提到的问题中提出的解决方案主要尝试模拟对多个settings.gradle文件的支持。
当每个子项目都完全了解其依赖关系时,我真的必须手动将所有子项目包括在顶层settings.gradle
中吗?此外,由于有多个项目依赖于此,我是否必须为每个项目手动进行此操作?
(而且甚至不让我为gradle不告诉我而烦恼,我有一个错误的projectDir,因为我在第100级递归下降中遇到了错字!)
这将触发构建,但是现在我必须解决构建工件而不是项目。其他工件也是如此。
我没有尝试此操作,因为我发现这个想法令人讨厌:我想测试C ++代码中的一个小更改,现在必须将其推送到存储库中,并可能对上述每个项目都做同样的事情? 这适用于稳定的项目,但不适用于灵活的探索性开发。当然,我想在最后发布一些内容,但是我不想发布这之间的每一个小步骤。
这让我感到奇怪:我在做一些不寻常的事情吗?我的意思是:有没有人对gradle似乎无法满足的要求相同:
在这种情况下,通常的做法是什么?
答案 0 :(得分:0)
在Lukas Körfer's comment之后,我再次仔细查看了复合构建,并发现我对它们有误解。我不知道他们的依赖关系解决方案将为我解决构建工件的发现。
现在我在使用时使用复合构建将整个构建捆绑在一起
DEVELOPER
导入子项目的代码和
implementation 'my.group:project'
将它们拉入。