2017-04-07 92 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' 
}