dependencies - Utiliser gradle pour trouver l'arbre de dépendance




tree task (9)

Est-il possible d'utiliser Gradle pour produire un arbre de ce qui dépend de quoi?

J'ai un projet et j'aimerais connaître toutes les dépendances pour pouvoir l'élaguer un peu avec des déclarations à l'avance etc.


Answers

Si vous trouvez qu'il est difficile de naviguer dans la sortie console des gradle dependencies de gradle dependencies , vous pouvez ajouter le plugin Project reports :

apply plugin: 'project-report'

Et générer un rapport HTML en utilisant:

$ ./gradlew htmlDependencyReport

Le rapport peut normalement être trouvé dans build/reports/project/dependencies/index.html

Cela ressemble à ceci:



Vous pouvez afficher l'arborescence des dépendances avec les dépendances de la commande gradle dependencies . Pour plus d'informations, consultez la section 11.6.4 Liste des dépendances de projet dans le guide de l'utilisateur en ligne.



Pour Android, utilisez cette ligne

 gradle app:dependencies

ou si vous avez un wrapper gradle:

./gradlew app:dependencies

app est votre module de projet.

De plus, si vous voulez vérifier si quelque chose est compile vs testCompile vs androidTestCompile ainsi que ce qui l' androidTestCompile :

./gradlew :app:dependencyInsight --configuration compile --dependency <name>
./gradlew :app:dependencyInsight --configuration testCompile --dependency <name>
./gradlew :app:dependencyInsight --configuration androidTestCompile --dependency <name>

Dans Android Studio (au moins depuis la version 2.3.3), vous pouvez exécuter la commande directement depuis l'interface utilisateur:

Cliquez sur l'onglet Gradle , puis double-cliquez sur : yourmodule -> Tâches -> android -> androidDependencies

L'arbre sera affiché dans l'onglet Gradle Console


Notez que vous devrez peut-être faire quelque chose comme ./gradlew <module_directory>:<module_name>:dependencies si le module a un répertoire supplémentaire avant d'atteindre son build.gradle. En cas de doute, faites des ./gradlew tasks --all pour vérifier le nom.


Souvent, le test complet, la compile et le androidTestCompile dépendance androidTestCompile sont trop androidTestCompile à examiner ensemble. Si vous voulez simplement le graphe de dépendance de compile , vous pouvez utiliser:

./gradlew app:dependencies --configuration compile

Source: Documents de Gradle, section 4.7.6

Remarque: la compile a été abandonnée dans les versions plus récentes de Gradle et dans les versions plus récentes, il est conseillé de déplacer toutes vos dépendances de compile vers l' implementation . S'il vous plaît voir cette réponse ici


dressez la liste des tâches et des tâches dont elles dépendent (un peu comme la dépendance de maven: arbre mais pour les tâches)

pour cela, vous pouvez utiliser l' --dry-run (ou -m ) qui liste les tâches qui sont exécutées dans l'ordre pour une commande particulière, mais n'exécute pas la commande, par exemple

gradle assemble --dry-run

vous pouvez trouver plus here





gradle