2017-09-15 6 views
0

Ant 환경에서 사용할 수있는 속성을 자유롭게 선택할 수있는 속성 파일이 있습니다. 예컨대. ::펼쳐지지 않은 Ant 속성을 확인하는 방법

property.action=${other.property} 

그러나 런타임에 내가 property.action 실제 값으로 확장되고 있음을 알 필요가 있습니다. 그러나 다음은 참조 된 속성이 설정되지 않은 경우 '$ {other.property}'를 세 번 인쇄합니다.

<property name="value" prop="property.action" /> 
<echo> 
    1: ${property.action} 
    2: ${other.property} 
    3: ${value} 
</echo> 

그것의 불가능은 사용자 값에 포함 된 내용을 속성 런타임에 알고, 그래서/등, 동일한 경우는 간단히 말해서 나는 (내가 개미의 contrib를 사용하고 있습니다)는 isset을 사용하여 각 하나를 확인할 수 없습니다.

결과 값에 대한 정규식을 사용하여이 문제를 해결할 수 있습니다. 변수 자리 표시자가 없는지 확인하십시오. 하지만 Java/Ant에 대한 더 나은 솔루션이 있습니까?

답변

0

정규 표현식을 사용하지 않고 금식했습니다. 추가 스크립팅 ::

<propertyregex property="check" select="\1" defaultValue="" input="${value}" regexp=".*(\$\{[A-Za-z0-9_\.-]+\}).*" /> 
<fail message="User setting failure, unexpanded variable: ${value}"> 
<condition> 
    <not><equals arg1="${check}" arg2=""/></not> 
</condition> 
</fail>