Xml Ant构建脚本-如果条件检查具有多个值
我需要比较相关环境的列表,并在任何环境与传递的参数环境匹配时执行该操作。 下面的代码每次比较每个值。我不想为每个环境编写代码,因为我需要对一组环境执行相同的操作 如何比较所有环境(DEV1、DEV2、DEV3)Xml Ant构建脚本-如果条件检查具有多个值,xml,build,ant,Xml,Build,Ant,我需要比较相关环境的列表,并在任何环境与传递的参数环境匹配时执行该操作。 下面的代码每次比较每个值。我不想为每个环境编写代码,因为我需要对一组环境执行相同的操作 如何比较所有环境(DEV1、DEV2、DEV3) <if> <equals arg1=“${env}” arg2="DEV" /> <!-- Need to compare with DEV1, DEV2, DEV3 --> <then> <echo>Dev relat
<if>
<equals arg1=“${env}” arg2="DEV" /> <!-- Need to compare with DEV1, DEV2, DEV3 -->
<then>
<echo>Dev related env </echo>
</then>
<elseif>
<equals arg1="${env}" arg2=“TST” /> <!-- Need to compare with TST, E2E, UAT -->
<then>
<echo>Test related env </echo>
</then>
</elseif>
开发相关环境
测试相关环境
首先,我强烈建议尽可能避免使用ant contrib(提供if/else块、for循环等的第三方库)。这类事情最好使用Ant固有的目标级别条件和依赖项来完成。下面是一个如何实现这一点的示例
<target name="build" depends="development,test" />
<target name="init">
<condition property="DEV">
<or>
<equals arg1="${env}" arg2="DEV1" />
<equals arg1="${env}" arg2="DEV2" />
<equals arg1="${env}" arg2="DEV3" />
</or>
</condition>
<condition property="TST">
<or>
<equals arg1="${env}" arg2="TST" />
<equals arg1="${env}" arg2="E2E" />
<equals arg1="${env}" arg2="UAT" />
</or>
</condition>
</target>
<target name="development" depends="init" if="DEV">
<echo message="Dev related env" />
</target>
<target name="test" depends="init" if="TST">
<echo message="Dev related env" />
</target>
首先,我强烈建议尽可能避免使用ant contrib(提供if/else块、for循环等的第三方库)。这类事情最好使用Ant固有的目标级别条件和依赖项来完成。下面是一个如何实现这一点的示例
<target name="build" depends="development,test" />
<target name="init">
<condition property="DEV">
<or>
<equals arg1="${env}" arg2="DEV1" />
<equals arg1="${env}" arg2="DEV2" />
<equals arg1="${env}" arg2="DEV3" />
</or>
</condition>
<condition property="TST">
<or>
<equals arg1="${env}" arg2="TST" />
<equals arg1="${env}" arg2="E2E" />
<equals arg1="${env}" arg2="UAT" />
</or>
</condition>
</target>
<target name="development" depends="init" if="DEV">
<echo message="Dev related env" />
</target>
<target name="test" depends="init" if="TST">
<echo message="Dev related env" />
</target>