我有一个osgi项目,分为3个存储库.每个存储库都有自己的构建到使用Tycho的p2存储库:
Repo1 -> P2 repo 1
Repo2 -> P2 repo 2
Repo3 -> P2 repo 3
Run Code Online (Sandbox Code Playgroud)
此外,每个存储库都有一个目标定义文件,其中包含来自第三方p2存储库和另一个项目存储库的捆绑包(上面的P2 repo1,P2 repo 2或P2 repo 3).Repo2包含对Repo1包的依赖,Repo3与Repo1和Repo2包有依赖关系:
Repo1 Target Definition -> Eclipse Orbit P2
Repo2 Target Definition -> Eclipse Orbit P2, P2 repo1
Repo3 Target Definition -> Eclipse Orbit P2, P2 repo1, P2 repo2
Run Code Online (Sandbox Code Playgroud)
现在我有以下问题.构建第一个存储库后,P2 repo1存储库已更新,并包含具有新快照版本的功能.Repo2和Repo3的目标定义取决于Repo1包的先前快照版本,如果不更新相应的目标定义,则无法构建这些存储库(在Eclipse中,目标编辑器中有更新按钮).
<location includeAllPlatforms="false" includeConfigurePhase="true" includeMode="planner" includeSource="true" type="InstallableUnit">
<unit id="com.myproduct.feature.api.game.feature.group" version="1.0.0.201509251400"/>
<unit id="com.myproduct.feature.impl.game.feature.group" version="1.0.0.201509251400"/>
<repository location="http:............../target/repository/"/>
</location>
Run Code Online (Sandbox Code Playgroud)
所以不可能自动构建所有3个repos,因此构建过程变得过于复杂:
等等....
我现在想使用git子模块来集成这3个repos以避免p2存储库或在一个存储库中移动所有存储库.