Co to jest Gradle Artifact dependency graph command?

Przeczytałem ten komentarz w 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.
Przynoszę jakiś słoik, ale muszę się dowiedzieć, skąd pochodzi. Normalnie wykluczyłbym to globalnie, ale potrzebuję informacji na temat hierarchii. Jak Mogę uzyskać te informacje od Ivy i Mavena?

Nie wspominając o tym, że ktoś wnosi słoiki Hibernate (dużo) do mojej listy słoików i naprawdę chcę wiedzieć kto, ponieważ nie używam Hibernate i staram się wyciąć z tego uzależnienia.

 101
Author: spaaarky21, 2012-09-05

6 answers

Komenda jest gradle dependencies, a jej wyjście jest znacznie ulepszone w Gradle 1.2. (Możesz już dziś wypróbować 1.2-rc-1.)

 102
Author: Peter Niederwieser,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-09-05 20:37:43

Ah, ponieważ nie miałem zależności w moim głównym projekcie, "gradle dependencies" wymienia tylko te, a nie podprojekt zależności, więc poprawne polecenie skończyło się

 gradle :<subproject>:dependencies

Więc dla mnie to było

 gradle :master:dependencies
 103
Author: Dean Hiller,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-09-05 21:14:25

Jeśli chcesz zobaczyć zależności od projektu i wszystkich podprojektów, których używasz w kompilacji najwyższego poziomu."gradle": {]}

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

Następnie zadzwoń do gradle:

gradle listAllDependencies
 33
Author: user1707414,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-04-16 09:55:00

Jeśli masz dużo konfiguracji wyjście może być dość długie. Aby wyświetlić zależności dla konfiguracji runtime, uruchom

gradle dependencies --configuration runtime
 18
Author: icyerasor,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-09-15 13:53:48

Jeśli chcesz, aby rekurencyjny zawierał podprojekty, zawsze możesz napisać to sam:

Wklej w top-level 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
        }
    }
}

Run with:

gradle allDeps
 13
Author: Renato,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-08-10 09:26:58

Dla tych, którzy chcą debugować zależności gradle w projektach react-native, komenda jest (wykonywana z projectname/android)

./gradlew app:dependencies --configuration compile
 3
Author: pscl,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-05-25 07:44:15