主要是流程+标签。
用的比较多的为文件操作、编译、打包、命令操作、自定义任务。
流程类似<target name="copy" depends="init">就是做这个"copy"任务之前要先做"init",而且depends的只做一遍。
编译与打包:
注意classpath与包名,main入口等等。
文件操作:
使用svnant.jar的SVN升级:
自定义任务:
这里比较有用的是自定义任务的latestFolder这个property,是从自定义任务中设置出来的返回值,在自定义类中加上getProject().setNewProperty(this.propertyName, folderName);
命令行操作:
ANT很好的入门教程:Ant使用指南.pdf 网上搜搜很多能下的 基础操作都全了 其实也不需要ant做很复杂的操作, 这些已经够了。
用的比较多的为文件操作、编译、打包、命令操作、自定义任务。
流程类似<target name="copy" depends="init">就是做这个"copy"任务之前要先做"init",而且depends的只做一遍。
编译与打包:
<property name="srcDir" location="src"/>
<property name="buildDir" location="build"/>
<property name="distDir" location="dist"/>
<target name="compile" depends="init">
<javac srcdir="${srcDir}" destdir="${buildDir}"/>
</target>
<target name="dist" depends="compile">
<jar destfile="${distDir}/package-${DSTAMP}.jar" basedir="${buildDir}">
<manifest>
<attribute name="built-by" value="${user.name}"/>
<attribute name="main-class" value="test.json.stringTest"/>
</manifest>
</jar>
<jar destfile="${distDir}/package-src-${DSTAMP}.jar" basedir="${srcDir}"/>
</target>
注意classpath与包名,main入口等等。
文件操作:
<property name="srcFile" location="\\192.168.1.1\1.4_20110811-20795-20795\xxx.jar"/>
<property name="distFile" location="dist\map-dev-src.jar"/>
<target name="dist">
<echo message="正在拷贝Jar文件到${distFile}中..." />
<copy file="${srcFile}" tofile="${distFile}"/>
<echo message="拷贝完成" />
</target>
使用svnant.jar的SVN升级:
<property name="project" location="E:\testsvn"/>
<property name="remoteurl" value="http://server:8080/svn/xxx"/>
<typedef resource="org/tigris/subversion/svnant/svnantlib.xml" classpath="svnant.jar"/>
<target name="init" >
<echo message="updating" />
<svn username="xxx" password="xxx">
<update dir="${project}"/>
<!--<checkout url="${remoteurl}" revision="HEAD" destPath="e:/testsvn" />-->
</svn>
</target>
自定义任务:
<property name="parentFolder" location="\\xxx"/>
<taskdef name="OwnTask" classname="GetLatestFolderName" classpath="."/>
<target name="init">
<OwnTask property="latestFolder" parentFolder="${parentFolder}"/>
</target>
<target name="dist" depends="init">
<echo message="Process Complete!"/>
<echo message="Latest folder is ${latestFolder}"/>
</target>
这里比较有用的是自定义任务的latestFolder这个property,是从自定义任务中设置出来的返回值,在自定义类中加上getProject().setNewProperty(this.propertyName, folderName);
命令行操作:
<target name="copy" depends="init">
<exec executable="TortoiseProc">
<arg value="/command:update"/>
<arg value="/path:"\\xxx\Tomcat5.0\webapps\""/>
<arg value="/closeonend:1"/>
</exec>
</target>
ANT很好的入门教程:Ant使用指南.pdf 网上搜搜很多能下的 基础操作都全了 其实也不需要ant做很复杂的操作, 这些已经够了。