2013-05-26 43 views
3

似乎沒有常春藤:取消發佈任務(例如參見here)。Apache ivy取消發佈任務?

所以,我想,應該未公開的文件系統級手動或通過螞蟻的任務,刪除〜/ .ivy2 /本地 subfolers進行? (當目標是從當地常春藤回購取消發佈)。

回答

1

不,常春藤不支持取消發佈操作。與此類似,Maven不支持這種操作。

不知道我理解用例。當一個人「發佈」內容時,通常是一個非常糟糕的主意,稍後將其刪除......爲什麼?

  • 你可以不可預測地打破其他人的構建,這取決於你的版本。
  • 存儲庫高速緩存通常假定發佈的工件永遠不會改變。如果它們可能會消失,這會迫使緩存不斷「撥號回家」以確保它們不髒。

說了反對的論點。我建議你閱讀來自Sonatype的下列優秀的博客文章:

+0

馬克,看到我的「答案」......任何想法? –

3

我很驚訝你接受了馬克的回答,因爲它AFAICT無關,與你的使用情況,這是關於您的本地存儲庫的 - 也就是您系統上的私有存儲庫。他的回答僅與共享存儲庫相關。

有一個常見的用例,我懷疑是很常見的。開發人員暫時在兩個項目上工作,其中一個依賴於另一個。在他們完成這項工作時,他們將上游項目的SNAPSHOT發佈到本地存儲庫,以便下游項目「看到」他們的變化。當開發人員完成此任務後,他們將其更改簽入到源代碼管理中,然後希望「重新加入組」,並獲取上游項目的最新SNAPSHOT依賴項。此時,他們希望從本地存儲庫「取消發佈」上游項目,以便他們可以繼續從組中的其他開發人員處獲取更改。

爲了那一點點它的價值,也見this Ivy Jira issue,從2006年

正如我在我的評論指出那裏,從幾個星期前,我懷疑有一些最佳實踐,我是不知道的,這是沒有意義的。任何人?

+0

公平點,但是,常春藤不完全支持Maven特性的快照發布。作爲這兩種技術的用戶,我對這個問題持開放態度,但是當我開始支持持續交付系統時,我偏離快照發布。 (一種構建,每個構建都是潛在版本) –

+0

@ MarkO'Connor - 在所描述的用例中,您需要在兩個需要在本地進行升級以將它們粘合在一起的項目中工作,您會做什麼?你是否似乎暗示在你的系統中使用一些本地的私有版本號?或者你有沒有遇到過這種用例? –

+0

常春藤有一個開發構建的替代機制,它利用動態修訂「latest.integration」和「latest.release」。如果您在本地發佈集成版本併發布到共享庫中,我認爲這將實現您正在尋找的內容。一旦新版本進入共享庫,它將使用「latest.release」來解決。 「latest.integration」也會在本地發佈新的開發版本之前提取它。 –