有没有办法配置Ivy从分支获取依赖关系而不编辑每个依赖关系?

时间:2011-10-13 13:56:06

标签: branch ivy dependency-management

我在这里有许多项目,它们之间以及外部库之间存在依赖关系。依赖管理是通过ivy和我们自己的存储库完成的。我们最近不得不进行分支,因为有一个版本的项目在QA中,另一个版本在当前开发中完成。

问题是我找不到在新分支中使用常春藤的方法,而不将分支属性添加到每个内部依赖项。

我考虑过将branch属性添加到resolve任务并激活内联模式,但是它也适用于不正确的外部库。但是将branch属性添加到每个内部dep都会很麻烦。

1 个答案:

答案 0 :(得分:4)

所以你想区分从分支发布的人工制品和从主干发布的人工制品?

我使用常春藤buildnumber任务来增加每个出版物的版本号。

<ivy:buildnumber organisation="${ivy.organisation}" module="${ivy.module}" revision="${project.version}"/>

<ivy:publish pubrevision="${ivy.new.revision}" resolver="${project.resolver}"  status="${project.status}">
    <artifacts pattern="${build.dir}/dist/[artifact].[ext]"/>
</ivy:publish>

分支使用 project.version 属性来指示它们来自哪个版本的主干分支,例如:

project.version=1.0-MYBRANCH

此方法意味着已发布的工件具有以下修订号:

1.0-MYBRANCH.0
1.0-MYBRANCH.1
1.0-MYBRANCH.2
..

而主干版本将是:

1.0.0
1.0.1
1.0.2
..