Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/csharp-4.0/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Gradle failOnVersionConflict仅当强制模块为空时_Gradle_Dependency Management - Fatal编程技术网

Gradle failOnVersionConflict仅当强制模块为空时

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< /代码>时,

有没有办法指定我希望Gradle的冲突解决方案在冲突中失败,但仅当我没有指定一些强制模块时

假设
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