我正在开发一个Android应用程序,如果存在依赖项版本冲突,我希望发布版本失败。如果我想为所有版本启用它,我可以这样做:
configurations.each {
if (it.name.startsWith("release")) {
it.resolutionStrategy {
failOnVersionConflict()
}
}
}
但是我不想为调试版本启用它。我找不到任何关于如何做到这一点的文档。我试过了:
configurations.each {
it.resolutionStrategy {
failOnVersionConflict()
}
}
但它不适用。我甚至尝试过我认为相当于第一个例子的东西 - 但这没有效果:
.all
我只是在这里为.each
切换failOnVersionConflict
,但即使代码已执行,{{1}}也不适用。
我做错了什么?
答案 0 :(得分:0)
它应该以下列方式工作:
apply plugin: 'java'
configurations.compile.resolutionStrategy {
failOnVersionConflict()
}
repositories {
mavenCentral()
}
dependencies {
compile 'com.google.guava:guava:23.0'
compile 'com.google.guava:guava:22.0'
}
task deps(type: Copy) {
from configurations.compile
into('deps')
}
当您运行gradle deps
时,它应该会因版本冲突而失败。如果您注释掉配置块,将复制guava版本23.0。