gpt4 book ai didi

java - Ivy :强制本地快照依赖

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:36:49 26 4
gpt4 key购买 nike

我有一个依赖项目 B 的项目 A;两者都是积极开发的内部项目。假设最新的项目 A 版本是 1.1.2,它依赖于项目 B 1.1.1。现在我们正在开发项目 A 1.2.0,它依赖于也在开发中的项目 B 1.2.0。

<dependency org="my.org" name="projectB" rev="1.2.0" transitive="true" conf="..." changing="true"/>

项目 B 1.2.0 的新集成构建由 CI 服务器推送到公共(public)本地存储库中,因此感谢“更改”,每个人都能在发布后立即获得最新的集成构建。

假设 Bob 正在项目 A 上开发一项新功能,需要对项目 B 进行一些修改;他在他的本地私有(private)存储库中发布了一个新的 shapshot 项目 B 1.2.0,并且他在构建中被选中,因为它比公共(public)存储库中的更新。到目前为止一切正常。

但是如果 Alice 在项目 B 中提交了一些东西,CI 服务器会在公共(public) repo 上推送一个新的 1.2.0,它比 Bob 本地的更新;现在 Bob 获得了通用版本,该版本覆盖了他的本地更改。

当然我可以使用不同的名称(以巧妙的方式使用属性文件,名称不必以 ivy.xml 结尾),比如 Bob 的 1.2.0_snapshot,只要 Bob 需要本地版本,然后等普通版没问题再切换回1.2.0。但是有没有办法强制使用状态为“快照”的工件(这将始终是本地构建的状态)而不是具有“集成”的工件(由 CI 服务器生成的工件将始终具有该状态)或更高?

我试过“latest.snapshot”,但它采用集成版本,如果更新的话。

处理这种模式的最佳方法是什么?

最佳答案

我认为您希望本地解析器处于“强制模式”。在 ivysettings.xml 中的本地解析器上设置 force="true"。

请参阅强制模式的说明:http://ant.apache.org/ivy/history/latest-milestone/settings/resolvers.html

关于java - Ivy :强制本地快照依赖,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7023302/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com