개미에 "if-else"논리를 제공하는 ant-contrib
이 있다는 것을 알고 있습니다. 그러나ant-contrib
없이 동일한 을 달성해야합니다. 그게 가능하니? 내가 작업해야"조건"을 사용하여 "if-else"논리를 에뮬레이트 할 수 있습니까?
의사 코드 :
if(property-"myProp"-is-true){
do-this;
}else{
do-that;
}
감사합니다!
개미에 "if-else"논리를 제공하는 ant-contrib
이 있다는 것을 알고 있습니다. 그러나ant-contrib
없이 동일한 을 달성해야합니다. 그게 가능하니? 내가 작업해야"조건"을 사용하여 "if-else"논리를 에뮬레이트 할 수 있습니까?
의사 코드 :
if(property-"myProp"-is-true){
do-this;
}else{
do-that;
}
감사합니다!
난 강력하게 당신은 항상 내가의 일부로서 개미 매크로 매개 변수를 사용하여 조사 할 값을 갖는 속성을 테스트하는 경우 어쨌든 개미 기여를 사용하고 있지만 추천 할 것입니다
<macrodef name="create-myprop-value">
<attribute name="prop"/>
<sequential>
<!-- should create a property called optional.myprop.true or -->
<!-- optional.myprop.false -->
<property name="[email protected]{prop}" value="set" />
</sequential>
</macrodef>
<target name="load-props">
<create-myprop-value prop="${optional.myprop}" />
</target>
<target name="when-myprop-true" if="optional.myprop.true" depends="load-props">
...
</target>
<target name="when-myprop-false" if="optional.myprop.false" depends="load-props">
...
</target>
<target name="do-if-else" depends="when-myprop-true,when-myprop-false">
...
</target>
대상에 "if"속성을 넣을 수 있습니다.
<target name="do-this-when-myProp-is-true" if="myProp">
...
</target>
"myProp"이 설정된 경우에만 실행됩니다. myProp을 다른 곳에서 정의해야이 대상이 &이 아닌 경우 발동되도록 설정해야합니다. 당신은 다른 경우를 제외하고 사용할 수 있습니다
<target name="do-this-when-myProp-is-false" unless="myProp">
...
</target>
엄밀히 말하면 "else"대상은 = "optional.myprop.false"가 아닌 = "optional.myprop.true"가 아니라면 코딩 될 수 있습니다. 또한 매개 변수로 속성 이름을 전달하기 위해 매크로를 일반화 할 수도 있습니다. –