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 看看它是如何工作的,你有什么可能性。
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 看看它是如何工作的,你有什么可能性。