如何使常春藤停止重新解决依赖关系?

时间:2017-07-10 23:43:41

标签: ivy

如何让Ivy解决,检索和冻结动态依赖关系,直到再次手动触发流程为止?我正在考虑有人正在建立候选发布版并希望将构建与所有不必要的更改隔离开来的情况。

我目前正在尝试一个依赖于另一个项目的latest.integration修订版的项目。在我的ivy.xml文件中,我有这个:

<dependencies>
    <dependency name="mylib" rev="latest.revision"/>
</dependencies>

为了编译,我以这种方式将mylib放到类路径中:

<ivy:cachepath organisation="myorg"
               module="mylib"
               revision="latest.integration"
               pathid="mylib.jar.path.id"
               inline="true"/>
    <property name="file.reference.mylib.jar"
              refid="mylib.jar.path.id"/>
</ivy:cachepath>

但是,如果我将更新版本的mylib推送到存储库并重建我的项目,那么这个<ivy:cachepath>任务将重新解析并重新检索mylib,这与我希望它做的完全相反

我尝试了<ivy:resolve>,但它没有我想要的冻结效果。

如果这就是常春藤的作用,那就没关系。我只是让解析的输出写入.properties文件的所有路径,并在编译期间使用该.properties文件的内容而不是所有常春藤业务。

但是,在我走这条道路之前,我想确定我不仅仅是在滥用常春藤,因为这似乎是一个应该内置的用例。

1 个答案:

答案 0 :(得分:1)

您正在寻找deliver任务。有关其使用的示例:

我认为您还应该考虑使用支持暂存和推广工件的Maven存储库管理器。这样你就可以构建它们并持续使用它们。