に接続されているかを視覚的に表現を生成することで、各Configuration
を通過し、それらからProjectDependency
種類を取得するためのスニペットです。すべてのプロジェクトが評価された後に実行されるGradle.projectsEvaluated(org.gradle.api.Action)
を使用します。これは、推移を把握するか、誰が誰に依存しているかという概念を保持するために何もしませんが、これはあなたが探しているものを達成する方法の出発点となることを願っています。
gradle.projectsEvaluated {
println('Projects loaded')
println('*' * 15)
allprojects.forEach { proj ->
final List<ProjectDependency> projectDependencies = proj.configurations.collectMany { Configuration configuration ->
configuration.allDependencies
}.findAll { Dependency dependency ->
dependency instanceof ProjectDependency
}.collect {
it as ProjectDependency
}.unique().collect()
println("Project ${proj.name}")
println(projectDependencies.collect { " ${it.name} -> ${it.dependencyProject.path}" }.join(System.lineSeparator()))
println()
}
}
私はjunit-team/junit5リポジトリ上でそれを試して、次の出力ました:あなたは `A`およびマルチモジュールプロジェクトまたはマルチモジュール内の 'B'とのプロジェクトは、自分自身を投影し意味
Projects loaded
***************
Project junit5
Project documentation
junit-jupiter-api -> :junit-jupiter-api
junit-jupiter-params -> :junit-jupiter-params
junit-platform-runner -> :junit-platform-runner
junit-platform-launcher -> :junit-platform-launcher
junit-platform-console -> :junit-platform-console
junit-vintage-engine -> :junit-vintage-engine
junit-jupiter-engine -> :junit-jupiter-engine
Project junit-jupiter-api
junit-platform-commons -> :junit-platform-commons
Project junit-jupiter-engine
junit-platform-engine -> :junit-platform-engine
junit-jupiter-api -> :junit-jupiter-api
junit-platform-launcher -> :junit-platform-launcher
junit-platform-runner -> :junit-platform-runner
junit-platform-engine -> :junit-platform-engine
junit-platform-console -> :junit-platform-console
Project junit-jupiter-migrationsupport
junit-jupiter-api -> :junit-jupiter-api
junit-jupiter-engine -> :junit-jupiter-engine
junit-platform-launcher -> :junit-platform-launcher
junit-platform-runner -> :junit-platform-runner
junit-platform-engine -> :junit-platform-engine
junit-platform-console -> :junit-platform-console
Project junit-jupiter-params
junit-jupiter-api -> :junit-jupiter-api
junit-platform-engine -> :junit-platform-engine
junit-jupiter-engine -> :junit-jupiter-engine
junit-platform-launcher -> :junit-platform-launcher
junit-platform-runner -> :junit-platform-runner
junit-platform-console -> :junit-platform-console
Project junit-platform-commons
Project junit-platform-console
junit-platform-launcher -> :junit-platform-launcher
Project junit-platform-console-standalone
junit-platform-console -> :junit-platform-console
junit-jupiter-engine -> :junit-jupiter-engine
junit-jupiter-params -> :junit-jupiter-params
junit-vintage-engine -> :junit-vintage-engine
junit-jupiter-api -> :junit-jupiter-api
junit-jupiter-params -> :junit-jupiter-params
Project junit-platform-engine
junit-platform-commons -> :junit-platform-commons
Project junit-platform-gradle-plugin
junit-platform-console -> :junit-platform-console
junit-platform-launcher -> :junit-platform-launcher
junit-jupiter-api -> :junit-jupiter-api
junit-platform-console -> :junit-platform-console
junit-jupiter-engine -> :junit-jupiter-engine
Project junit-platform-launcher
junit-platform-engine -> :junit-platform-engine
Project junit-platform-runner
junit-platform-launcher -> :junit-platform-launcher
junit-platform-suite-api -> :junit-platform-suite-api
Project junit-platform-suite-api
junit-platform-commons -> :junit-platform-commons
Project junit-platform-surefire-provider
junit-platform-launcher -> :junit-platform-launcher
junit-jupiter-api -> :junit-jupiter-api
junit-platform-runner -> :junit-platform-runner
junit-jupiter-engine -> :junit-jupiter-engine
junit-platform-console -> :junit-platform-console
Project junit-vintage-engine
junit-platform-engine -> :junit-platform-engine
junit-platform-launcher -> :junit-platform-launcher
junit-jupiter-api -> :junit-jupiter-api
junit-platform-runner -> :junit-platform-runner
junit-platform-engine -> :junit-platform-engine
junit-platform-console -> :junit-platform-console
junit-jupiter-engine -> :junit-jupiter-engine
Project platform-tests
junit-platform-commons -> :junit-platform-commons
junit-platform-console -> :junit-platform-console
junit-platform-engine -> :junit-platform-engine
junit-platform-launcher -> :junit-platform-launcher
junit-jupiter-api -> :junit-jupiter-api
junit-jupiter-params -> :junit-jupiter-params
junit-platform-runner -> :junit-platform-runner
junit-platform-engine -> :junit-platform-engine
junit-jupiter-engine -> :junit-jupiter-engine
junit-vintage-engine -> :junit-vintage-engine
junit-jupiter-migrationsupport -> :junit-jupiter-migrationsupport
junit-platform-gradle-plugin -> :junit-platform-gradle-plugin
junit-platform-surefire-provider -> :junit-platform-surefire-provider
を? – Opal
@Opalマルチモジュールプロジェクト(標準アンドロイドプロジェクトの設定) – ZakTaccardi
関連する '* .gradle'ファイルとともに構造をスケッチすることができますか?単純なASCIIツリーで十分です。 – Opal