2014-02-12 3 views
0

나는 gradle 빌드의 구성 (또는 그와 관련된 모든 개체)을 반복적으로 인쇄하고 싶습니다. 모든 속성이 무엇인지 모르는 경우 재귀 적으로 그라디언트의 객체 속성을 모두 재귀 적으로 인쇄하는 방법이 있습니까?gradle 구성을 재귀 적으로 인쇄하는 방법은 무엇입니까?

다음은 예입니다.

idea { 
    module{ 
    scopes.COMPILE.plus += configurations.playManaged 
    scopes.PROVIDED.plus += configurations.provided 

    scopes.each { it -> 
     println("[${it}]") // how to replace this with something that will print all properties of the object? 
    } 
    } 
} 

이 예에서 범위에는 COMPILE 및 PROVIDED 속성이 있으며 그 각각에는 더하기 속성이 있음을 알고 있습니다. 하지만이 객체에 다른 중첩 된 속성이 있는지 알 수 없습니다. 어떤 객체를 전달할 때 모든 속성이 반복적으로 콘솔에 출력되어 객체를 철저하게 검사 할 수있는 기능을 갖는 것이 좋습니다.

답변

2

scopesLinkedHashMap, 그래서 당신이 할 수있는 최선은 다음과 같습니다 (: COMPILE 등)과 현재 값

scopes.each { k, v -> println "$k -> $v" } 

이 키를 인쇄합니다.

가 있다면지도 이외의 목적, 당신은 같은 것을 할 수있는 :

scopes.getMetaClass().properties.each { println "PROPERTY $it.name" } 

을하지만이 Map :-)

의로 그것은 단지 당신에게 classempty를 표시합니다
관련 문제