Ist es möglich, Gradle zu verwenden, um einen Baum von Abhängigkeiten zu erstellen?
Ich habe ein Projekt und möchte gerne alle Abhängigkeiten herausfinden, um es ein wenig mit Vorwärtsdeklarationen usw. bereinigen zu können.
Ist es möglich, Gradle zu verwenden, um einen Baum von Abhängigkeiten zu erstellen?
Ich habe ein Projekt und möchte gerne alle Abhängigkeiten herausfinden, um es ein wenig mit Vorwärtsdeklarationen usw. bereinigen zu können.
Ich fand es auch nützlich, dies auszuführen:
./gradlew dI --dependency
Dies zeigt, wie Abhängigkeiten aufgelöst werden (dependencyInsight
) und hilft Ihnen dabei, Debugging durchzuführen, um festzustellen, wo Sie Bibliotheken in Ihrer build.gradle
erzwingen oder ausschließen müssen
Siehe: https://docs.gradle.org/current/userguide/tutorial_gradle_command_line.html
In Android Studio
1) Öffnen Sie das Terminal und stellen Sie sicher, dass Sie sich im Stammverzeichnis des Projekts befinden.
2) Führen Sie ./gradlew app:dependencies
aus (wenn Sie den Gradle-Wrapper nicht verwenden, versuchen Sie es mit gradle app:dependencies
)
Beachten Sie, dass das Ausführen von ./gradle dependencies
Ihnen nur den Abhängigkeitsbaum des Stammverzeichnisses des Projekts gibt, daher ist es wichtig, app in obiger Weise zu erwähnen, d.h. ./gradlew app:dependencies
.
Wenn Sie alle Abhängigkeiten am Ende innerhalb von zwei Schritten in einer einzigen Datei haben möchten. Fügen Sie dies zu Ihrer build.gradle.kts
im Stammverzeichnis Ihres Projekts hinzu:
project.rootProject.allprojects {
apply(plugin="project-report")
this.task("allDependencies", DependencyReportTask::class) {
evaluationDependsOnChildren()
this.setRenderer(AsciiDependencyReportRenderer())
}
}
Dann anwenden:
./gradlew allDependencies | grep '\-\-\-' | grep -Po '\w+.*$' | awk -F ' ' '{ print $1 }' | sort | grep -v '\{' | grep -v '\[' | uniq | grep '.\+:.\+:.\+'
Dies gibt Ihnen alle Abhängigkeiten in Ihrem Projekt und Unterprojekten sowie alle Drittanbieterabhängigkeiten.
Wenn Sie dies auf programmatische Weise erledigen möchten, benötigen Sie einen benutzerdefinierten Renderer der Abhängigkeiten - Sie können beginnen, indem Sie den AsciiDependencyReportRenderer
erweitern, der standardmäßig einen ASCII-Graph der Abhängigkeiten ausgibt.
CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.