Ant 常用任务

写道
Ant 常用任务
1 property 任务:
用法:
<property file="${basedir}/comversion.properties" />
在构建文件中引入属性文件中的属性,以后直接用${key} 即可。

2 ant 任务:
用法:
调用buildcomponent.xml 文件同的默认目标。
<ant
antfile="./${xpd.01.path}/buildcomponent.xml">
<property name="fe.path" value="${xpd.01.path}" /> 传递属性给目标
<property name="fe.version" value="${xpd.01.version}" />
</ant>

3 delete 任务:删除文件和路径
用法:
<delete dir="${fe.path}/../pl" /> 删除pl路径

4 foreach 任务:循环功能,包含在ant的扩展包中
声明:
<taskdef name="foreach" classname="net.sf.antcontrib.logic.ForEach" /> 在build文件中引入foreach task。
【注】:因为foreach 任务(task) 不是ant 核心包提供的,所以应该下载foreach的类包,添加到ant 类路径,并在build 文件中声明该任务。上面的taskdef 任务就完成了foreach的声明。

用法:
<foreach target="fe.source" param="fe.source.path" list="${fe.plugin.path}" delimiter=";">
循环调用fe.source目标,循环的变量为fe.source.path,功能为:把list的值用delimiter分割,并把值循环赋值给param。









5 if 任务:程序分支的作用
声明:
<taskdef name="if" classname="net.sf.antcontrib.logic.IfTask" /> 在build文件中引入if task
用法:
<if>
<and> 判断条件1
<equals arg1="${src.exit}" arg2="true" />
<equals arg1="${MANIFEST.exit}" arg2="true" />
</and>

<then> 满足判断条件1执行
<antcall target="jartarget">
<param name="pluginroot" value="${pluginpath}" />
</antcall>
</then>

<elseif> 不满足判断条件1
<not> 判断条件2
<equals arg1="${MANIFEST.exit}" arg2="true" />
</not>

<then> 满足判断条件2
<echo message="No MANIFEST.MF file" />
</then>
</elseif>

<else> 其他情况
<echo message="No Src directory" />
</else>
</if>

6 propertyregex 任务
声明:
<taskdef name="propertyregex" classname="net.sf.antcontrib.property.RegexTask" />
用法:
<propertyregex property="fe.name" input="${pluginsourcepath}" regexp="/.*" replace="" />
完成属性的替换,即:把pluginsourcepath中的以"." 开始的部分,替换成" "。








7 manifest 任务
用法:
<manifest
file="${pluginroot.temp}/META-INF/MANIFEST.MF" mode="update">
<attribute name="Bundle-SymbolicName" value="${pluginid}.source" />
<attribute name="Eclipse-SourceBundle" value='${pluginid};
version="${allversion}";roots:="."' />

<attribute name="Bundle-Version" value="${allversion}" />
<attribute name="Bundle-Name" value="non" />
<attribute name="Bundle-ManifestVersion" value="2" />
</manifest>

8 jar 任务
用法:
<jar
destfile="${release.plugin.path}/${pluginid}.source_${allversion}.jar"
manifest="${pluginroot.temp}/META-INF/MANIFEST.MF">
<fileset dir="${pluginroot}/src" />
<!-- <fileset dir="${pluginroot}/schema" /> -->
<fileset dir="${pluginroot}" includes="schema/**" />
</jar>

9 available 任务
用法:
<available file="${pluginpath}/src/" type="dir" property="src.exit" />
当${pluginpath}/src/ 路径存在时,src.exit 将被赋值为真。

10 replace 任务
用法:
<replace file="${release.feature.path}/feature.xml"
token='"6.2.1.qualifier"'
value='"6.2.1.${plugindateversion}"' />
把文件feature.xml 中包含6.2.1.qualifier 字符串替换为6.2.1.${plugindateversion}。

ant

相关推荐