Gradle如何在buildscript块中为快照版本指定CacheResolutionsStrategy?
我在解决策略。缓存更改模块方面遇到问题 我的project build.gradle与此类似Gradle如何在buildscript块中为快照版本指定CacheResolutionsStrategy?,gradle,dependencies,dependency-resolution,Gradle,Dependencies,Dependency Resolution,我在解决策略。缓存更改模块方面遇到问题 我的project build.gradle与此类似 apply plugin: 'base' apply plugin: 'maven' apply plugin: 'maven-publish' apply from: "gradle/mixins/cachestrategy.gradle" configurations.all { resolutionStrategy.cacheDynamicVersionsFor 5, 'minutes'
apply plugin: 'base'
apply plugin: 'maven'
apply plugin: 'maven-publish'
apply from: "gradle/mixins/cachestrategy.gradle"
configurations.all {
resolutionStrategy.cacheDynamicVersionsFor 5, 'minutes'
resolutionStrategy.cacheChangingModulesFor 0, 'seconds'
}
buildscript {
repositories {
maven {
url artifactoryUrl
}
}
dependencies {
classpath (group: 'com.myorg', name: 'aCustomPlugin', version: '1.5.0-SNAPSHOT') {
changing = true
}
}
}
allprojects {
apply plugin: 'base'
apply plugin: 'com.myorg.aCustomPlugin'
}
我的问题是:如何在buildscript块中为快照版本指定CacheResolutionsStrategy?在块外指定它不起作用(因为为了生成脚本,首先计算buildscript块…),因此尚未计算脚本中定义的缓存策略规则 解析策略应该像这样放置在buildscript块中
buildscript {
repositories {
mavenLocal()
maven {
url artifactoryUrl
}
}
dependencies {
classpath (group: 'com.myorg', name: 'aCustomPlugin', version: '1.5.0-SNAPSHOT') {
changing = true
}
}
configurations.all {
resolutionStrategy.cacheDynamicVersionsFor 5, 'minutes'
resolutionStrategy.cacheChangingModulesFor 0, 'seconds'
}
}
顺便说一句,默认情况下,快照版本被视为“正在更改”(如果使用Maven repo)。因此,不需要显式地设置
changing=true
。很肯定,这是因为我们当时使用的gradle版本中存在一个bug。现在,不需要了!:)您能解释一下CacheDynamicVersions for和CacheChangingModules for之间的区别吗?