Gradle 相当于 Maven Enforcer 的 RequireReleaseDeps

Gradle equivalent of Maven Enforcer's RequireReleaseDeps

Gradle 相当于使用 Maven Enforcer 插件来防止发布指向快照依赖项的效果是什么?这可能吗?

如果对构建有任何快照依赖性,我希望能够阻止发布的发生。我知道我可能可以通过它编写代码,但我想知道是否有任何 "standard" 或使用 gradle 进行此操作的明显方法,我在网上找不到任何关于它的信息。

解决方案

使用正确答案建议的解析策略:

project.getConfigurations().all { config ->
    config.resolutionStrategy.eachDependency { DependencyResolveDetails details ->
        //verifying that versions do not contain "SNAPSHOT"
        if (details.requested.version.contains("SNAPSHOT")) {
            throw new GradleException(sprintf("Using snapshot version of %s.%s", 
                [details.requested.group, details.requested.name]))
        }
    }
}

您可以实施自己的解析策略来拒绝 SNAPSHOT 依赖项。看看 https://gradle.org/docs/current/userguide/dependency_management.html#sec:dependency_resolution 看看它是如何工作的,你有什么可能性。