Ant+Shell脚本更新XML文件节点值
刚刚team member有需求要通过Ant脚本更新XML配置文件里的某个值为true或者false。 记录一下实现的过程: 1. 编写shell脚本,文件名为SNMAPIUpdate.sh
#!/bin/sh if [ $# -ne 2 ];then echo "usage: SNMAPIUpdate.sh $RFIDIC_HOME $STATUS" exit 1 fi RFIDIC_HOME=$1 STATUS=$2 echo "Change ITS2.0.2.0APIOnly in $RFIDIC_HOME/etc/RFIDICServer.xml to $STATUS" sed "s/<ITS2.0.2.0APIOnly>.*<\/ITS2.0.2.0APIOnly>/<ITS2.0.2.0APIOnly>$STATUS<\/ITS2.0.2.0APIOnly>/"  $RFIDIC_HOME/etc/RFIDICServer.xml > $RFIDIC_HOME/etc/tmp mv $RFIDIC_HOME/etc/tmp $RFIDIC_HOME/etc/RFIDICServer.xml rm -f $RFIDIC_HOME/etc/tmp exit 0  | 
2. 在自定义宏的Ant xml里添加
<target name="Update_SNM_API_To_RFIDICServerXML">
<exec executable="bash">
<arg value="${VIEW_HOME}/EPCIS/test/com.ibm.rfidic.test.base/sh/SNMAPIUpdate.sh"/>
<arg value="${RFIDIC_HOME}" />
<arg value="${STATUS}" />
</exec>
</target> | 
3. 在build.xml中添加:
<import file="${VIEW_HOME}/EPCIS/test/com.ibm.rfidic.test.base/ant/Component_Interface.xml" />
<antcall target="Add_Test_MQ_To_RFIDICServerXML">
 <param name="STATUS" value="true" />
 </antcall> |