2016-10-10 19 views
2

在我的團隊中,我們開發了幾個應用程序,都使用相同的內部框架。這個框架被分離成許多子模塊,每個模塊都有自己的版本,並且每個模塊都作爲jar發佈到artifactory(maven存儲庫)。Gradle:在發佈分支中刻錄實際的依賴關係版本

當我們發佈一個應用程序時,我們爲它創建了一個分支,我們希望根據每個框架模塊的最新版本來編譯該分支(沒關係,因爲在我們每晚的迴歸中,我們會根據最新的快照編譯)。我們使用gradle,這是通過將依賴版本設置爲「latest.release」來完成的。這很好,直到我們需要修復生產中的錯誤 - 然後我們通過檢查發佈分支,修復錯誤,編譯,驗證和打包應用程序,爲發佈的應用程序發佈補丁。

問題:latest.release現在指向的版本與我們最初編譯的版本不同。

我想要什麼:發佈應用程序時,在build.gradle(或其他文件)中刻錄所有已解決的版本(已解決的latest.release),所以當我將來再次編譯時,我將編譯舊版本。

我認爲很多開發者都面臨這個問題,但我還沒有找到任何解決方案。我從來沒有使用過maven,但在尋找解決方案時,我發現maven中有一個插件,發佈插件,完全符合我的需求。

想知道你是否有解決這個問題的方法。

+1

Netflix公司有一個插件,這是否:https://github.com/nebula-plugins/gradle-dependency-lock-plugin – RaGe

+0

@RaGe看起來很有希望!將檢查出來。謝謝。 – ItamarBe

+0

@RaGe正是我所需要的!謝謝 – ItamarBe

回答