我有BigSystem,它由多个SubSystems组成。每个子系统都是一个单独的项目,它编译成一个应用程序,有自己的发布周期和Git存储库,并且是单独维护的。 BigSystem只是它所包含的子系统的聚合。
我想标记和维护BigSystem相对于特定版本的SubSystems的版本,即通过构建BigSystem-1.1.0,我实际上将构建SubSystemA-1.0.1,SubSystemB-2.2.0和SubSystemC-2.5 0.0。
BigSystem-1.0.0
SubSystemA-1.0.1
SubSystemB-2.0.0
SubSystemC-2.0.4
BigSystem-1.1.0
SubSystemA-1.0.1
SubSystemB-2.2.0
SubSystemC-2.5.0
BigSystem-1.2.0-SNAPSPHOT
SubSystemA-1.0.2-SNAPSHOT
SubSystemB-2.2.0
SubSystemC-2.6.0-SNAPSHOT
我一直在探索Maven聚合,Maven继承和Git子模块来实现这一目标,但我还没有找到一个干净的解决方案。有小费吗?谢谢!
答案 0 :(得分:1)
Git子模块将有助于聚合源依赖,这意味着for(j = 0; j < i; j++)
将记录每个SubSystem源库的确切SHA1。
这与构建每个子系统的方式不同:它可以使用以下方式构建: