解析Ivy依赖版本顺序



在我的构建构件存储库中,我有来自分支和主干的构建。

我已经测试了我的解析对分支有效,并捕获了正确的项。

但如果依赖项也在主干仓库中,则此操作不起作用。在这种情况下,它从主干而不是我的分支获取依赖项。

如果依赖项不在分支中,我需要从主干repo中拉出它,但如果依赖项在分支中,我需要分支版本,而不是主干版本。

我如何在Ivy中做到这一点?我更希望它只是找到分支版本,然后停止寻找它。这样,如果它从分支中丢失,它就会"掉落"到主干版本。

对于这种情况,我使用构建号的方式是否可能不正确?

下面是一个例子:

trunkbuild - version = "1.0.4"branchbuild - version = "1.0-SNAPSHOT"

我的分支应该改为"1.1-SNAPSHOT"吗?

我的分支中的代码应该总是在一个版本之前,而不是在主干之后。

我认为这是动态修订,这是你要找的:

<dependency org="mygroup" name="myartifact" revision="latest.release"/>
<dependency org="mygroup" name="myartifact" revision="latest.integration"/>

Maven存储库支持两种基本类型的存储库:

    发布

只有在主干分支上构建的工件才会发布到发布库。

所以下面的ivy解析器设置应该足以让它工作,"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>

注意:

您可以在您的存储库管理器中创建一个存储库组,并将ivy设置简化为一个URL。

相关内容

  • 没有找到相关文章

最新更新