Gradle cacheDynamicVersionsFor 无效

Gradle cacheDynamicVersionsFor having no effect

我正在尝试配置 Gradle 以始终引入我在 artifactory 上托管的另一个项目的最新版本。在 artifactory 上,我在过去 24 小时内构建了两个版本的库。

在我的 build.gradle 我有

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

dependencies {
    compile "org:library:+"
}

我希望它总是引入最新版本的动态依赖,但它总是引入最近 24 小时内最旧的版本(默认行为)。另外,当我删除最新的缓存版本时,它会从 artifactory 下载过去 24 小时内最旧的版本,而不是最新版本。

如果你正在使用 spring gradle dependency-management-plugin 你必须在依赖管理部分有额外的解决策略:

dependencyManagement {
    resolutionStrategy {
        cacheDynamicVersionsFor 0, 'seconds'
    }
}

p.s。在任何情况下你都不应该使用别名 groovy 扩展运算符 all 尝试用另一种方式重写它 (docs):

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