2017-04-07 43 views
0

我正在嘗試在gradle文檔中提到的Gradle中爲我的應用使用動態版本。Gradle中的動態版本控制

但它沒有按預期工作。

我的本地連結有以下庫版本。

<metadata> 
<groupId>in.test</groupId> 
<artifactId>test</artifactId> 
<versioning> 
<release>1.0.1</release> 
<versions> 
<version>0.0.2</version> 
<version>0.0.3</version> 
<version>0.0.7</version> 
<version>0.0.8</version> 
<version>0.0.9</version> 
<version>0.0.10</version> 
<version>1.0.0</version> 
<version>1.0.1</version> 
</versions> 
<lastUpdated>20170407231704</lastUpdated> 
</versioning> 
</metadata> 

但是當我嘗試使用下面的動態版本時,它總是選擇1.0.0而不是1.0.1。 PS:我讀過使用動態版本不適合穩定構建,知道它的確切工作原理我正在嘗試這一點。

回答

0

閱讀gradle文檔後,我發現有關依賴性緩存。

https://docs.gradle.org/current/userguide/userguide_single.html#sec:controlling_caching

直到緩存過期的時候,它看起來對從緩存中的動態版本神器的最佳人選。緩存過期後,它會在存儲庫中進行搜索。

如果我們告訴gradle對於動態版本,總是尋找版本庫而不是緩存,問題就解決了。我用下面的腳本解決了這個問題。

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