gpt4 book ai didi

Gradle failOnVersionConflict 仅当强制模块为空时

转载 作者:行者123 更新时间:2023-12-03 06:21:46 29 4
gpt4 key购买 nike

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

假设 groupe:modulegroupe:module1 具有传递依赖关系

示例1:

dependencies {
compile 'group:module:version'
compile ('groupe:module1:version1') {
force = true
}
}

在这种情况下,如果依赖项之间存在冲突,我不想失败。
(因为我认为我知道当我强制 module1 位于 version1 时我会做什么。我知道其他更高的依赖关系将从 version1 中获取,即使它们与默认值 version 冲突)

示例2:
dependencies {
compile 'group:module:version'
}

在这种情况下,如果二级依赖关系之间存在一些冲突,我希望得到通知(因为这不应该在我的依赖关系树中发生)

我尝试了类似的东西:
configurations.all {
resolutionStrategy {
if ( forcedModules.isEmpty() ){
failOnVersionConflict()
}
}
}

但是(正如我担心的那样)我没有工作

最佳答案

只要您使用 resolutionStrategy.force 强制模块版本,您将获得开箱即用的这种行为。如果您必须强制作为声明依赖项的一部分,您可能必须遍历所有配置的 ExternalDependency s 并检查其中是否有 force设置为 true .

关于Gradle failOnVersionConflict 仅当强制模块为空时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24064300/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com