2014-10-02 22 views
1

我有三個android項目在當前的發展 - 我們稱他們爲阿爾法,布拉沃和查理。布拉沃和查理都依靠Alpha,一個android庫。當我創建阿爾法,我把它部署到使用./gradlew install我的本地倉庫,如果我用我的build.gradle文件布拉沃和查理以下工作正常:我該如何讓gradle覆蓋本地maven回購庫中的庫?

dependencies { 
     compile 'com.blah.alpha:alpha:[email protected]' 
} 

美中不足,不過,是所有三個項目正在開發中。因此,當我做一個更新的Alpha,並將其部署到我的本地倉庫,布拉沃和查理似乎沒有看到本地版本,除非我做到以下幾點:

$ cd ~/.m2/repository/com/blah/alpha/ 
$ rm -rf 1.1.0 
$ cd - 
$ ./gradlew install 

也就是說,我需要手動在部署到本地Maven存儲庫之前,先通過並清理我的本地Maven存儲庫。版本號沒有改變,所以我想知道這是不是最近版本庫的原因。

回答

2

該靜態版本是其中的一部分。您可以將您的版本更改爲1.1.0-SNAPSHOT,Gradle認爲這是「更改」模塊。但是,Gradle仍然只會默認每24小時重新下載一次工件。你可以覆蓋這個行爲,並指示Gradle不要緩存更改模塊。更多信息可以在Gradle docs找到。

configurations.all { 
    resolutionStrategy { 
     cacheChangingModulesFor 0, 'seconds' 
    } 
} 

如果你不願意改變你的神器版本,你可以嘗試使用 ResolutionRules

編輯:你可以告訴Gradle你的依賴是一個變化的依賴。

compile('com.blah.alpha:alpha:[email protected]') { 
    changing true 
} 
+0

完美,謝謝! – jwir3 2014-10-03 16:56:00

相關問題