Как исключить зависимость из компиляции, но не из testCompile

У меня есть транзитивная зависимость компиляции от старой версии библиотеки testX. Библиотека testX не должна быть зависимостью компиляции, но зависимостью testCompile. Более того, я бы хотел зависеть от новой версии testX, а не от старой.

У меня есть частичное решение, которое устанавливает правильную версию библиотеки, но она работает путем переопределения зависимости компиляции. Но я остался с нежелательным textX в компиляции.

compile group: 'x', name: 'testX', version 'new'

Я пытался исключить библиотеку testX из компиляции и добавить явную зависимость testCompile, но исключение также удаляет зависимости из testCompile.

testCompile group: 'x', name: 'testX', version 'new'

configurations {
    compile.exclude group: 'x', module: 'X'
}

1 ответ

Вы можете принудительно разрешить весь проект до определенной версии, вставив приведенную ниже команду. Имейте в виду, что это также заставит переходные зависимости разрешаться в этой версии при компиляции:

configurations.all {
  resolutionStrategy {
    force 'x:testX:1.1.1'
  }
}
Другие вопросы по тегам