【发布时间】:2013-05-28 21:54:15
【问题描述】:
似乎没有 ivy:unpublish 任务(例如,参见 here)。
所以,我认为应该在文件系统级别手动或通过删除 ~/.ivy2/local 子文件夹的 Ant 任务执行未发布? (当目标是从本地 ivy 存储库中取消发布时)。
【问题讨论】:
标签: ivy
似乎没有 ivy:unpublish 任务(例如,参见 here)。
所以,我认为应该在文件系统级别手动或通过删除 ~/.ivy2/local 子文件夹的 Ant 任务执行未发布? (当目标是从本地 ivy 存储库中取消发布时)。
【问题讨论】:
标签: ivy
我很惊讶您接受了 Mark 的回答,因为 AFAICT 与您的用例无关,它与您的本地存储库有关 - 即您系统上的私有存储库。他的回答仅与共享存储库有关。
我怀疑 Ivy 有一个非常常见的用例。一位开发人员正在临时从事两个项目,其中一个项目依赖于另一个项目。当他们做这项工作时,他们将上游项目的 SNAPSHOT 发布到他们的本地存储库,以便下游项目“看到”他们的更改。当开发人员完成这项任务后,他们将更改签入到源代码控制中,然后想要“重新加入组”并获取上游项目的最新 SNAPSHOT 依赖项。此时,他们希望从本地存储库中“取消发布”上游项目,以便他们继续使用组中其他开发人员的更改。
关于它的价值,另请参阅this Ivy Jira issue,从 2006 年开始。
正如我在几周前的评论中指出的那样,我怀疑存在一些我不知道的最佳实践,这使得这没有实际意义。有人吗?
【讨论】:
不,ivy 不支持取消发布操作。同样Maven不支持这样的操作。
不确定我是否理解用例。当一个人“发布”内容时,以后删除它通常是一个非常糟糕的主意……为什么?
话虽如此,有反对的理由。我建议阅读以下来自 sonatype 的优秀博客文章:
【讨论】: