2013-05-22 2 views

답변

1

한 가지 방법은 XML 파일을 수동으로 구문 분석하는 것입니다 (예 : Groovy의 XmlSlurper 클래스 사용). 그러나이 값은 속성 값에서 발생하는 모든 속성 참조를 대체하지 않습니다. 또 다른 방법은 org.apache.tools.ant.Project 개체를 구성하는 것입니다 (ant.importBuild과 유사 함). 거기에서 속성 값을 가져옵니다. 같은 뭔가 :

import org.apache.tools.ant.Project 
import org.apache.tools.ant.ProjectHelper 

task printPropertyValue { 
    doLast { 
     def antProject = new Project() 
     ProjectHelper.configureProject(antProject, file("build.xml")) 
     def value = antProject.getProperty("some.property") 
     while (value.contains('${')) { 
      value = antProject.replaceProperties(value) 
     } 
     println value 

    } 
} 

재귀 적 속성 참조를 대체 할 수있는 더 좋은 방법이있을 수 있습니다,하지만 난 하나를 찾을 수 없습니다.

다른 해결책은 Ant와 Gradle에서 읽은 외부 속성 파일을 사용하는 것입니다.