Что такое команда графического символа артефакта Gradle?

Я прочитал этот комментарий в Gradle docs:

To deal with problems due to version conflicts, reports with dependency graphs
are also very helpful. Such reports are another feature of dependency management.

У меня есть какая-то банка, но мне нужно выяснить, откуда она взялась. Обычно я просто глобально исключаю его, но мне нужна информация об иерархии здесь. Как получить эту информацию, как я могу, от Айви и Мейвена?

НЕ упоминать, что кто-то приносит Hibernate jars (много) в мой список баннеров, и я действительно хочу знать, кто с тех пор, как я не использую Hibernate и не пытаюсь вырезать эту зависимость.

Ответ 1

Команда gradle dependencies, и ее результат значительно улучшен в Gradle 1.2. (Вы уже можете попробовать 1.2-rc-1 сегодня.)

Ответ 2

А, поскольку у меня не было зависимостей в моем главном проекте, "gradle зависимостей" перечисляет только те, а не зависимости от подпроектов, поэтому правильная команда оказалась

 gradle :<subproject>:dependencies

поэтому для меня это было

 gradle :master:dependencies

Ответ 3

Если вы хотите видеть зависимости от проекта и всех подпроектов, используйте в своем верхнем уровне build.gradle:

subprojects {
    task listAllDependencies(type: DependencyReportTask) {}
}

Затем вызовите gradle:

gradle listAllDependencies

Ответ 4

Если у вас много конфигураций, вывод может быть довольно длинным. Чтобы просто показать зависимости для конфигурации времени выполнения, запустите

gradle dependencies --configuration runtime

Ответ 5

Если вы хотите, чтобы рекурсивные объекты включали подпроекты, вы всегда можете написать их самостоятельно:

Вставить в верхний уровень build.gradle:

task allDeps << {
    println "All Dependencies:"
    allprojects.each { p ->
        println()
        println " $p.name ".center( 60, '*' )
        println()
        p.configurations.all.findAll { !it.allDependencies.empty }.each { c ->
            println " ${c.name} ".center( 60, '-' )
            c.allDependencies.each { dep ->
                println "$dep.group:$dep.name:$dep.version"
            }
            println "-" * 60
        }
    }
}

Запустить с помощью:

gradle allDeps

Ответ 6

Для тех, кто ищет для отладки Gradle зависимостей в react-native проектах, команда (выполняются из projectname/android)

./gradlew app:dependencies --configuration compile

Ответ 7

gradlew -q :app:dependencies > dependencies.txt

Запишет все зависимости в файл dependencies.txt

Ответ 8

В последних версиях Gradle (т.е. 5+), если вы запускаете сборку с флагом --scan, она сообщает вам все виды полезной информации, включая зависимости, в браузере, где вы можете щелкать мышью.

gradlew --scan clean build

Он проанализирует дерьмо из того, что происходит в этой сборке. Это довольно аккуратно.