我继承了一些代码,并希望将黄瓜添加到项目中,最好更改得尽可能少。但是gradle文件具有配置级别设置,以阻止引入传递依赖项,这导致Cucumber-java无法引入Cucumber-Core,因此失败。
这是build.gradle的相关部分:
configurations.all {
transitive = false
}
depdendencies {
compile(group: .... lots of these
testCompile(group: 'io.cucumber', name: 'cucumber-java8', version: '4.8.0', transitive: true)
testCompile(group: 'io.cucumber', name: 'cucumber-testng', version: '4.8.0', transitive: true)
}
我希望transitive: true
会覆盖配置级别,但是不起作用。
我也尝试添加:
configurations {
all*.exclude group: 'io.cucumber', module: 'cucumber-java8'
}
但是它根本不会引入这种依赖性
我不希望手动获取黄瓜的所有依赖关系,而宁愿不要删除此配置级别transitive = false
。有可能做我想做的事吗?我可以仅针对compile
依赖项设置配置吗?还是我必须删除配置级别设置并将transitive: false
添加到每个编译依赖项中?
感谢您的帮助
答案 0 :(得分:1)
我认为您正在寻找这样的东西:
configurations {
compile {
transitive false
}
testCompile {
transitive true
}
}