1 property 任务:
用法:
<property file="./xxx/comversion.properties" />
可以在构建文件中引入属性文件中的value属性,使用${key} 来引用。
2 ant 任务:
用法:
<ant antfile="./xxx/buildcomponent.xml" >
调用buildcomponent.xml 文件同的默认目标。
<property name="path" value="pathvalue" /> 传递属性给目标
<property name="version" value="versionvalue" />
</ant>
3 delete 任务:删除文件和路径
用法:
<delete dir="../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="source" param="fe.source.path"
list="${plugin.path}" delimiter=";">
循环调用source目标,循环的变量为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='"1.0.0.qualifier"'
value='"1.0.0.${plugindateversion}"' />
把文件feature.xml 中包含1.0.0.qualifier 字符串替换为1.0.0.${plugindateversion}。