在我的构建工件存储库中,我有分支和主干的构建。
我已经测试过我的决心适用于分支,并抓取正确的项目。
但是如果依赖项也在trunk repo中,则这不起作用。在这种情况下,它从主干而不是我的分支中获取依赖。
如果它不在分支中,我需要解决从trunk repo中提取依赖关系,但如果依赖关系在分支中,我需要分支版本,而不是trunk版本。
我怎样才能在常春藤做到这一点?我更喜欢它只是找到分支版本,然后停止寻找它。这样,如果它从分支中丢失,它会“落到”主干版本。
对于这种情况,我使用内部版本号的方式是否可能不正确?
以下是一个例子:
trunkbuild - version =“1.0.4” branchbuild - version =“1.0-SNAPSHOT”
我的分支机构应该是“1.1-SNAPSHOT”吗?
我的分支中的代码应始终是AHEAD版本,而不是后备箱。
答案 0 :(得分:2)
我认为这是动态修订你正在寻找的东西:
<dependency org="mygroup" name="myartifact" revision="latest.release"/>
<dependency org="mygroup" name="myartifact" revision="latest.integration"/>
Maven存储库支持两种基本类型的存储库:
只有在我的主干分支上构建的工件才会发布到Release存储库。
因此,以下常春藤解析器设置应足以使其正常工作,“latest.integration”解析为快照存储库中的工件。
<ivysettings>
<settings defaultResolver="default"/>
<resolvers>
<chain name="default">
<ibiblio name="nexus-central" root="http://myhost/nexus/content/repositories/central" m2compatible="true"/>
<ibiblio name="nexus-releases" root="http://myhost/nexus/content/repositories/releases" m2compatible="true"/>
<ibiblio name="nexus-snapshots" root="http://myhost/nexus/content/repositories/snapshots" m2compatible="true"/>
</chain>
</resolvers>
</ivysettings>
注意:强>
您可以在存储库管理器中创建存储库组,并将常春藤设置简化为单个URL。