ant-contrib
アリに「if-else」ロジックを提供するがあることを私は知っています。しかし、私はなし で同じことを達成する必要がありant-contrib
ます。それは可能ですか?
私が作業する必要がある疑似コード:
if(property-"myProp"-is-true){
do-this;
}else{
do-that;
}
ありがとうございました!
ant-contrib
アリに「if-else」ロジックを提供するがあることを私は知っています。しかし、私はなし で同じことを達成する必要がありant-contrib
ます。それは可能ですか?
私が作業する必要がある疑似コード:
if(property-"myProp"-is-true){
do-this;
}else{
do-that;
}
ありがとうございました!
とにかくant-contribsを使用することを強くお勧めしますが、常に値を持つプロパティをテストしている場合は、テストする新しいプロパティの名前の一部としてantマクロパラメーターを使用することを検討します
<macrodef name="create-myprop-value">
<attribute name="prop"/>
<sequential>
<!-- should create a property called optional.myprop.true or -->
<!-- optional.myprop.false -->
<property name="optional.myprop.@{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>