在我们的eclipse rcp(带有tycho/nexus的开普勒)项目中,我们创建了一个带有两个子部分的自定义应用程序。这些零件在功能计划和生产中组织。它们作为三种不同的产品交付:独立计划,独立生产以及 planning 的组合 - * procuction **。
问题现在是构建的目标平台的外观?应该设置TP每个构建吗?这意味着我们有四个TP:
- 构建用于创建插件的TP
- 计划版本TP
- 生产版本tp
- 计划生产版本TP
还是应该像存储库一样看待TP?这意味着整个项目只有一个,并且取决于上下文,构建将从TP或本地源代码获得依赖项。
(老实说,我们目前有第一个解决方案,我的直觉告诉我,这是一个坏主意。尽管我的直觉对我来说足够好,但解决方案建筑师倾向于忽略这种投入。争论为什么一个或另一个解决方案更好或更糟。)
或应该像存储库一样看待TP?
这就是我们在类似情况下所做的(尽管不使用Tycho,但我认为这应该改变事物)。
对于第一个选项:
-
主要是,我没有任何意义。由于您有一个合并的发布,因此无论如何都需要兼容生产和计划依赖性,并且您当然希望在开发和发布中具有相同的依赖性。
-
当依赖关系之一被更新或删除时,您只想在一个地方更改它(尽管可以使用功能来处理)。
-
无需在目标平台之间切换即可构建版本(尽管这可能是无关紧要的,具体取决于您的确切构建版本)。