개미 build.xml
파일에서 속성을 추출 할 가능성이있는 명확하고 간결한 방법을 찾고 있습니다.개미 빌드 파일에서 gradle 빌드 스크립트로 속성을 읽는 방법?
나는 ant.importBuild 'build.xml'
을 사용할 수 있지만 모든 대상을 가져 오므로 이름 충돌이 발생할 수 있음을 알고 있습니다. java 플러그인은 known issue입니다.
나는 gradle 1.6을 사용하고 있습니다.
개미 build.xml
파일에서 속성을 추출 할 가능성이있는 명확하고 간결한 방법을 찾고 있습니다.개미 빌드 파일에서 gradle 빌드 스크립트로 속성을 읽는 방법?
나는 ant.importBuild 'build.xml'
을 사용할 수 있지만 모든 대상을 가져 오므로 이름 충돌이 발생할 수 있음을 알고 있습니다. java 플러그인은 known issue입니다.
나는 gradle 1.6을 사용하고 있습니다.
한 가지 방법은 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에서 읽은 외부 속성 파일을 사용하는 것입니다.