對於我們的項目,我們希望自動更新大部分依賴項,因此我們希望在IVY中使用最新的策略。但是我們不想運行依賴關係的出血邊緣。 alpha和beta版本。帶有常春藤排除Alpha版和beta版的最新穩定版本
使用:
<dependency org="org.apache.httpcomponents" name="httpclient" rev="latest.revision" />
或
<dependency org="org.apache.httpcomponents" name="httpclient" rev="latest.release" />
我們得到修訂4.4-alpha1
這是可以理解的,因爲我們使用ibiblio上解析其中包含行家以下XML -metadata.xml <metadata> <groupId>org.apache.httpcomponents</groupId> <artifactId>httpclient</artifactId> <versioning> <latest>4.4-alpha1</latest> <release>4.4-alpha1</release> <versions> <version>4.0-alpha1</version> <!-- snip ---> <version>4.3-alpha1</version> <version>4.3-beta1</version> <version>4.3-beta2</version> <version>4.3</version> <version>4.3.1</version> <version>4.3.2</version> <version>4.3.3</version> <version>4.3.4</version> <version>4.3.5</version> <version>4.4-alpha1</version> </versions> <lastUpdated>20140801101402</lastUpdated> </versioning> </metadata>
元數據表示alpha版本同時發佈和最新版本。 (不知道這是actualy相關)
在這種情況下,我們有我們想在元數據列表是4.3.5
現在常春藤得到一個版本有一個結構和但文檔是很稀疏,我不知道如何讓這個策略'忽略'阿爾法釋放。
我試圖(使用rev="latest.test"
)以下無濟於事的變化: '
編輯: 從org.apache.ivy.plugins.latest.LatestRevisionStrategy
源代碼它顯示specialmeanings不會成爲能夠解決這個因爲版本首先分成幾部分,然後逐個部分進行比較。
如果有辦法禁止包含特定字符串的修訂版,我的問題也將被解決。 `
自動更新依賴關係並不一定是個好主意 - 也就是說,如果在構建定義中使用這種自動更新依賴項,那麼構建結果會變得時間相關,這可能會導致一系列問題。 – 2014-09-15 16:04:51
我明白這些風險,但這是我們特別想要的東西(不適用於所有圖書館)。主要原因是自動保持數據並且只是不時迴歸(我們有300個庫保持最新版本) – pvgoddijn 2014-09-16 07:49:27