Я унаследовал некоторый код и хочу добавить огурец в проект, желательно, чтобы он менялся как можно меньше. Но файл 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
к каждой зависимости компиляции?
Спасибо за помощь