[gradle] Gradle 아티팩트 종속성 그래프 명령은 무엇입니까?

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.

나는 어떤 종류의 항아리를 가져 왔지만 그것이 어디에서 오는지 알아 내야합니다. 일반적으로 전체적으로 제외하지만 여기에 계층 구조에 대한 정보가 필요합니다. Ivy 및 Maven에서 얻을 수있는 것처럼이 정보를 어떻게 얻을 수 있습니까?

누군가가 내 jar 목록에 Hibernate jar를 (많이) 가져오고 있다는 것은 말할 것도없고, Hibernate를 사용하지 않기 때문에 누가 누구인지 알고 싶고 그 종속성을 제거하려고합니다.



답변

명령은 gradle dependencies이며 출력은 Gradle 1.2에서 훨씬 향상되었습니다. (오늘 이미 1.2-rc-1을 사용해 볼 수 있습니다.)


답변

아, 내 마스터 프로젝트에 종속성이 없었기 때문에 “gradle 종속성”은 하위 프로젝트 종속성이 아닌 해당 항목 만 나열하므로 올바른 명령은

 gradle :<subproject>:dependencies

그래서 나를 위해 이것은

 gradle :master:dependencies


답변

프로젝트 및 모든 하위 프로젝트에 대한 종속성을 보려면 최상위 build.gradle에서 사용하세요.

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

그런 다음 gradle을 호출합니다.

gradle listAllDependencies


답변

구성이 많으면 출력이 상당히 길어질 수 있습니다. 런타임 구성에 대한 종속성 만 표시하려면 다음을 실행하십시오.

gradle dependencies --configuration runtime


답변

재귀 적으로 하위 프로젝트를 포함하려면 언제든지 직접 작성할 수 있습니다.

최상위 수준에 붙여 넣기 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
        }
    }
}

다음으로 실행 :

gradle allDeps


답변

gradlew -q :app:dependencies > dependencies.txt

모든 종속성을 파일 dependency.txt에 기록합니다.


답변

react-native프로젝트 에서 gradle 종속성을 디버깅하려는 경우 명령은 (에서 실행 됨 projectname/android)

./gradlew app:dependencies --configuration compile