Gradle failOnVersionConflict仅当强制模块为空时
有没有办法指定我希望Gradle的冲突解决方案在冲突中失败,但仅当我没有指定一些强制模块时 假设Gradle failOnVersionConflict仅当强制模块为空时,gradle,dependency-management,Gradle,Dependency Management,有没有办法指定我希望Gradle的冲突解决方案在冲突中失败,但仅当我没有指定一些强制模块时 假设groupe:module与groupe:module1 例1: dependencies { compile 'group:module:version' compile ('groupe:module1:version1') { force = true } } 在这种情况下,如果依赖项之间存在冲突,我不希望失败。 (因为我想我知道当我强迫模块1在代码>版本1< /代码>时,
groupe:module
与groupe:module1
例1:
dependencies {
compile 'group:module:version'
compile ('groupe:module1:version1') {
force = true
}
}
在这种情况下,如果依赖项之间存在冲突,我不希望失败。
(因为我想我知道当我强迫模块1在代码>版本1< /代码>时,我做了什么。我知道其他的更高的依赖性将从<代码>版本1<代码>中获得,即使它们与默认的代码<版本>代码> < /P>冲突。
例2:
dependencies {
compile 'group:module:version'
}
在这种情况下,如果二级依赖项之间存在一些冲突,我希望得到通知(因为这不应该发生在我的依赖项树中)
我试过这样的方法:
configurations.all {
resolutionStrategy {
if ( forcedModules.isEmpty() ){
failOnVersionConflict()
}
}
}
但是(正如我担心的那样)我没有工作只要您使用
ResolutionsStrategy.force
强制模块版本,您就可以摆脱这种行为。如果必须强制作为声明依赖项的一部分,则可能必须迭代所有配置的ExternalDependency
s,并检查其中是否有force
设置为true