使用SNAPSHOT依赖项释放时强制Gradle构建失败

时间:2017-10-26 14:51:33

标签: android gradle

在使用Gradle构建Android应用程序或库的发行版时,我想阻止使用SNAPSHOT依赖项。 如果在构建版本时存在任何SNAPSHOT依赖项,我如何强制Gradle构建失败?

1 个答案:

答案 0 :(得分:4)

您可以使用ResolutionStrategy。

请参阅此处了解API: https://docs.gradle.org/current/dsl/org.gradle.api.artifacts.ResolutionStrategy.html

以下示例由Peter_Niederwieser发布在Gradle论坛中 https://discuss.gradle.org/t/enforce-no-snapshot-dependencies-in-gradle/3851/2

configurations.all {
    resolutionStrategy.eachDependency { details ->
        if (!isRelease) return
        if (details.requested.version.endsWith("-SNAPSHOT")) {
            throw new GradleException("found snapshot dependency")
        }
    }
}

代码必须放在模块build.gradle中,或者放在" allprojects" main build.gradle的一部分。