Это может сделать CLI преобразователя зависимостей Coursier. Например. чтобы найти конфликты зависимостей в com.bynder:bynder-java-sdk:2.2.8
, вы можете использовать команду Coursier resolve
с флагом --conflict
:
$ cs resolve --conflicts com.bynder:bynder-java-sdk:2.2.8
org.jetbrains.kotlin:kotlin-stdlib-common:1.4.10 was selected, but
com.squareup.okio:okio:2.8.0 wanted version 1.4.0
io.reactivex.rxjava2:rxjava:2.2.20 was selected, but
com.squareup.retrofit2:adapter-rxjava2:2.9.0 wanted version 2.0.0
com.squareup.okhttp3:okhttp:4.9.0 was selected, but
com.squareup.retrofit2:retrofit:2.9.0 wanted version 3.14.9
org.jetbrains.kotlin:kotlin-stdlib:1.4.10 was selected, but
com.squareup.okio:okio:2.8.0 wanted version 1.4.0
Это выводит список конфликтов и ничего больше. Никакие артефакты не загружаются, кроме его метаданных, и весь процесс выполняется очень быстро.
Для дальнейшего изучения, где конфликт, например. com.squareup.okhttp3:okhttp
исходит, можешь бежать
$ cs resolve com.bynder:bynder-java-sdk:2.2.8 --what-depends-on com.squareup.okhttp3:okhttp
Result:
└─ com.squareup.okhttp3:okhttp:4.9.0
├─ com.squareup.okhttp3:logging-interceptor:4.9.0
│ └─ com.bynder:bynder-java-sdk:2.2.8
└─ com.squareup.retrofit2:retrofit:2.9.0 com.squareup.okhttp3:okhttp:3.14.9 -> 4.9.0
├─ com.bynder:bynder-java-sdk:2.2.8
├─ com.squareup.retrofit2:adapter-rxjava2:2.9.0
│ └─ com.bynder:bynder-java-sdk:2.2.8
└─ com.squareup.retrofit2:converter-gson:2.9.0
└─ com.bynder:bynder-java-sdk:2.2.8
На выходе получается обратное дерево зависимостей, показывающее все поддеревья, зависящие от com.squareup.okhttp3:okhttp
.
person
michid
schedule
18.02.2021