maven - Gradle 相当于 Maven Enforcer 的 RequireReleaseDeps

标签 maven gradle snapshot maven-enforcer-plugin

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

如果对构建有任何快照依赖性,我希望能够阻止发布的发生。我知道我可能可以自己编写代码来完成它,但我想知道是否有任何“标准”或明显的方法可以使用 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看看它是如何工作的以及你有什么可能性。

关于maven - Gradle 相当于 Maven Enforcer 的 RequireReleaseDeps,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29553215/

相关文章:

java - Jenkins 找不到通过 Eclipse 为 selenium 项目添加的外部 Jars

elasticsearch - 在具有多个节点的Elasticsearch中创建快照时出现“Read-only file system”错误

Elasticsearch 1.7.1 不创建快照,但也不报告错误

javafx-2 - 尝试将图像扩展到全尺寸时出现不需要的黑色边框

java - log4j2 的 Slack 附加程序

java - 在命令行中为具有许多库和外部资源的java项目设置类路径

maven - 如何强制 Sonatype Nexus 更新?

android - 无法将 android studio 3.0.1 中的 dex 与最新的 gradle 合并

gradle - Gradle-任务名称的驼峰式保护套-首字母大写

android - 运行应用程序失败并出现错误 'com.android.builder.dexing.DexArchiveMergerException: Unable to merge dex'