12

Gradle タスクですべての依存関係 (推移的なものを含む) の情報を取得したいと考えています。

私はコードを試しました:

class MyGradlePlugin implements Plugin<Project> {

  void apply(Project project) {
    project.afterEvaluate {
      println "  Project:" + project.name
      project.configurations.each { conf ->
        println "    Configuration: ${conf.name}"
        conf.allDependencies.each { dep ->
          println "      ${dep.group}:${dep.name}:${dep.version}"
        }
      }
    }
  }

}

ただし、宣言されたもののみを出力し、推移的なものは出力しません。

つまり、私の場合dependencies

dependencies {
    compile "com.google.guava:guava:18.0"
    compile 'org.codehaus.groovy:groovy-all:2.3.11'
    testCompile 'junit:junit:4.11'
}

これら 3 つの依存関係のみを出力しますorg.hamcrest:hamcrest-core:1.3が、推移的な依存関係でjunit:junit:4.11ある は表示されません。

コードを変更して表示できるようにする方法はorg.hamcrest:hamcrest-core:1.3?

PS:gradle dependenciesタスクで必要なものがすべて表示されることはわかっていますが、依存関係の情報を手動で取得して、独自の形式で出力する必要があります。

4

3 に答える 3