129 votes

Qu'est-ce que la commande Gradle artifact dependency graph ?

J'ai lu ce commentaire dans le Documents sur Gradle :

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

J'ai une sorte de bocal qui est introduit, mais j'ai besoin de savoir d'où il vient. Normalement, je devrais simplement l'exclure globalement, mais j'ai besoin d'informations sur la hiérarchie. Comment puis-je obtenir ces informations comme je peux le faire avec Ivy et Maven ?

Sans parler du fait que quelqu'un ajoute (beaucoup) de bocaux Hibernate à ma liste de bocaux et que je veux vraiment savoir qui, puisque je n'utilise pas Hibernate et que j'essaie de supprimer cette dépendance.

138voto

Peter Niederwieser Points 36369

La commande est gradle dependencies et son résultat est nettement amélioré dans Gradle 1.2 (vous pouvez déjà essayer la version 1.2-rc-1 aujourd'hui).

129voto

Dean Hiller Points 5292

Ah, puisque je n'avais pas de dépendances dans mon projet principal, "gradle dependencies" ne liste que celles-ci et pas les dépendances des sous-projets, donc la commande correcte a fini par être

 gradle :<subproject>:dependencies

donc pour moi c'était

 gradle :master:dependencies

41voto

user1707414 Points 947

Si vous voulez voir les dépendances sur le projet et tous les sous-projets, utilisez dans votre build.gradle de niveau supérieur :

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

Puis appelez gradle :

gradle listAllDependencies

26voto

icyerasor Points 1335

Si vous avez beaucoup de configurations, la sortie peut être assez longue. Pour afficher uniquement les dépendances de la configuration d'exécution, exécutez

gradle dependencies --configuration runtime

18voto

Renato Points 2667

Si vous voulez que recursive inclue les sous-projets, vous pouvez toujours l'écrire vous-même :

Collez dans le fichier de premier niveau 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
        }
    }
}

Fonctionne avec :

gradle allDeps

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X