利用ant编译公布打包jar文件和打包api文档为rar文件
利用ant编译发布打包jar文件和打包api文档为rar文件
首先在build.properties文件中配置好发布时的路径及版本号、发布名称及发布者等等。。然后执行build.xml文件。
build.properties
#
#该文件用于配置发布和打包时所需配置
#
#发布版本号
build.version=0.1
#发布路径
build.path=D:/target
#发布名称
build.name=test
#发布title
build.title=smart rDelta API
#发布者
build.created-by=Smart rDelta SDT
#vendor
build.vendor=Stone Age Co. Ltd.
#最终发布名称
final.name=${build.name}-${build.version}
#打包后API文档的名称
doc.name=${build.name}-${build.version}-doc
#该文件用于配置发布和打包时所需配置
#
#发布版本号
build.version=0.1
#发布路径
build.path=D:/target
#发布名称
build.name=test
#发布title
build.title=smart rDelta API
#发布者
build.created-by=Smart rDelta SDT
#vendor
build.vendor=Stone Age Co. Ltd.
#最终发布名称
final.name=${build.name}-${build.version}
#打包后API文档的名称
doc.name=${build.name}-${build.version}-doc
build.xml
<project name="TestAnt" default="doc">
<!-- 定义properies -->
<property file="build.properties"/>
<property name="src.dir" value="src" />
<property name="classes.dir" value="classes" />
<property name="lib.dir" value="lib" />
<!-- 定义classpath -->
<path id="compile.classpath">
<fileset file="${lib.dir}/*.jar" />
<pathelement path="${classes.dir}" />
</path>
<!-- 初始化任务 -->
<target name="init">
<!-- 创建构建目录 -->
<echo message="Running init ..."/>
</target>
<!-- 清除构建文件和目录 -->
<target name="clean" description="Clean build and distribution directories">
<echo message="Running clean ..."/>
<delete dir="${build.path}"/>
</target>
<!-- 编译 -->
<target name="compile" depends="init" description="compile the source files">
<mkdir dir="${classes.dir}" />
<javac srcdir="${src.dir}" destdir="${classes.dir}" target="1.6">
<classpath refid="compile.classpath" />
</javac>
</target>
<!-- 打包成jar -->
<target name="pack" depends="compile" description="make .jar file">
<mkdir dir="${build.path}"/>
<jar destfile="${build.path}/${final.name}.jar" basedir="${classes.dir}">
<exclude name="**/*Test.*" />
<exclude name="**/Test*.*" />
<manifest>
<attribute name="Specification-Title" value="${build.title}" />
<attribute name="Created-By" value="${build.created-by}" />
<attribute name="Specification-Version" value="${build.version}" />
<attribute name="Specification-Vendor" value="${build.vendor}" />
</manifest>
</jar>
</target>
<!-- 输出并打包api文档成rar -->
<target name="doc" depends="pack,compile" description="create api doc">
<echo message="Running API Doc ..."/>
<tstamp>
<format property="current.year" pattern="yyyy"/>
</tstamp>
<javadoc sourcepath="${src.dir}"
destdir="${build.path}/${doc.name}"
author="true"
version="true"
use="true"
doctitle="<h1>${build.title} ${build.version}</h1>"
windowtitle="${build.name} ${build.version}"
bottom="Copyright &copy; 1998-${current.year} - ${build.vendor}">
<classpath refid="compile.classpath"/>
</javadoc>
<!-- 打包API文件和目录 -->
<echo message="Compressing API Doc ..."/>
<zip destfile="${build.path}/${doc.name}.rar">
<zipfileset dir="${build.path}/${doc.name}" prefix="${doc.name}"/>
</zip>
<!-- 打包之后清除构建的API文件和目录以及classes目录 -->
<echo message="Deleting classes ..."/>
<delete dir="${classes.dir}"/>
<echo message="Deleting API Doc ..."/>
<delete dir="${build.path}/${doc.name}"/>
</target>
</project>