Ant脚本自动构建打包

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<project name="xxx-analysis-plugin-1.0.0-SNAPSHOT" default="all" basedir=".">
<!--ANT 1.7 is required -->
<property environment="currentenv" />

<property name="app.name" value="analysis-server-1.0.0-SNAPSHOT" />
<property name="app.jar" value="${app.name}.jar" />
<property name="app.bin.zip" value="${app.name}.bin.zip" />
<property name="app.cfg.zip" value="${app.name}.cfg.zip" />
<property name="app.lib.zip" value="${app.name}.lib.zip" />
<property name="app.libs.zip" value="${app.name}.libs.zip" />
<property name="app.deploy.zip" value="${app.name}.deploy.zip" />
<property name="bin.dir" value="bin" />
<property name="lib.dir" value="lib" />
<property name="libs.dir" value="libs" />
<property name="cfg.dir" value="conf" />

<property name="build.dir" value="build" />
<property name="build.src" value="${build.dir}/src" />
<property name="build.classes" value="${build.dir}/classes" />
<property name="build.bin" value="${build.dir}/bin" />
<property name="build.cfg" value="${build.dir}/conf" />
<property name="build.lib" value="${build.dir}/lib" />
<property name="build.libs" value="${build.dir}/libs" />
<property name="build.project" value="${build.dir}/project" />
<property name="build.deploy" value="${build.dir}/deploy" />

<property name="dist.dir" value="dist" />
<property name="release" value="${dist.dir}/release" />
<property name="source" value="${dist.dir}/source" />

<tstamp>
<format property="date" pattern="yyyy-MM-dd" />
</tstamp>

<path id="build.classpath">
<fileset dir="${lib.dir}">
<include name="**/*.jar" />
</fileset>
</path>

<target name="clean">
<echo message="Removing old directory structure..." />
<delete dir="${build.dir}">
</delete>
</target>

<!-- =================================
target: init
================================= -->
<target name="init" depends="clean">

<mkdir dir="${build.dir}" />
<mkdir dir="${build.src}" />
<mkdir dir="${build.classes}" />
<mkdir dir="${build.bin}" />
<mkdir dir="${build.cfg}" />
<mkdir dir="${build.lib}" />
<mkdir dir="${build.libs}" />
<mkdir dir="${build.project}" />
<mkdir dir="${build.deploy}" />

<mkdir dir="${dist.dir}" />
<mkdir dir="${release}" />
<mkdir dir="${source}" />
<mkdir dir="${release}/${date}" />
<mkdir dir="${source}/${date}" />

<copy todir="${build.project}">
<fileset dir="${basedir}">
<include name="**/**/*.*" />
</fileset>
</copy>

<copy todir="${build.src}">
<fileset dir="src/main/java">
<include name="com/**/*.*" />
</fileset>
<fileset dir="src/main/resources">
<include name="*.*" />
</fileset>
</copy>

<copy todir="${build.classes}">
<fileset dir="target/classes">
<include name="com/**/*.*" />
</fileset>
</copy>

<copy todir="${build.bin}">
<fileset dir="bin">
<include name="*.*" />
</fileset>
</copy>

<copy todir="${build.cfg}">
<fileset dir="conf">
<include name="*.*" />
</fileset>
</copy>
<copy todir="${build.libs}">
<fileset dir="lib/commons">
<include name="*.*" />
</fileset>
<fileset dir="lib/ibatis">
<include name="*.*" />
</fileset>
<fileset dir="lib/log4j">
<include name="*.*" />
</fileset>
<fileset dir="lib/meta">
<include name="*.*" />
</fileset>
<fileset dir="lib/mongodb">
<include name="*.*" />
</fileset>
<fileset dir="lib/oracle">
<include name="*.*" />
</fileset>
<fileset dir="lib/spring">
<include name="*.*" />
</fileset>
<fileset dir="lib/sqlserver">
<include name="*.*" />
</fileset>
</copy>
</target>

<target name="compile" depends="init">
<!--编译-->
<javac source="1.6" srcdir="${build.src}" destdir="${build.classes}" debug="on" failοnerrοr="true" deprecation="true" optimize="true" encoding="UTF-8">
<classpath refid="build.classpath" />
</javac>
</target>

<!-- =================================
target: jar
================================= -->
<target name="jars" depends="compile">
<pathconvert property="mf.classpath" pathsep=" ">
<mapper>
<chainedmapper>
<flattenmapper />
<globmapper from="*" to="*" />
</chainedmapper>
</mapper>
<path refid="build.classpath" />
</pathconvert>

<jar basedir="${build.classes}" jarfile="${build.lib}/${app.jar}">
<manifest>
<attribute name="Main-Class" value="com.xxx.analysis.ServerStartup" />
<!-- finally, use the magically generated libs path -->
<attribute name="Class-Path" value="${mf.classpath}" />
</manifest>
</jar>
</target>

<target name="package.bin.zip">
<zip destfile="${release}/${date}/${app.name}.bin.zip">
<fileset dir="${build.bin}">
<include name="*.*" />
</fileset>
</zip>
</target>

<target name="package.cfg.zip">
<zip destfile="${release}/${date}/${app.name}.cfg.zip">
<fileset dir="${build.cfg}">
<include name="*.*" />
</fileset>
</zip>
</target>

<target name="package.lib.zip">
<zip destfile="${release}/${date}/${app.name}.lib.zip">
<fileset dir="${build.lib}">
<include name="*.*" />
</fileset>
</zip>
</target>

<target name="build.deploy">
<zip destfile="${release}/${date}/${app.name}.lib.zip">
<fileset dir="${build.lib}">
<include name="*.*" />
</fileset>
</zip>
<copy todir="${build.deploy}/bin">
<fileset dir="bin">
</fileset>
<fileset dir="${build.classes}">
<include name="*.*" />
</fileset>
<fileset dir="${build.src}">
<include name="*.*" />
</fileset>
</copy>
<copy todir="${build.deploy}/conf">
<fileset dir="conf">
</fileset>
</copy>
<copy todir="${build.deploy}/lib">
<fileset dir="${build.lib}">
<include name="*.*" />
</fileset>
<fileset dir="${build.libs}">
<include name="*.*" />
</fileset>
</copy>
</target>

<target name="package.deploy.zip" depends="build.deploy">
<zip destfile="${release}/${date}/${app.name}.deploy.zip">
<fileset dir="${build.deploy}">
<filename name="**/*.*" />
</fileset>
</zip>
</target>

<target name="package.deploy.sms.zip" depends="build.deploy">
<zip destfile="${release}/${date}/${app.name}.sms.deploy.zip">
<fileset dir="${build.deploy}">
<include name="lib/*.*" />
<include name="conf/config-sms*.*" />
<include name="bin/*.*" />
<exclude name="bin/*.bat" />
</fileset>
<fileset dir="${build.deploy}">
<include name="bin/*sms.bat" />
</fileset>
</zip>
</target>

<target name="package.deploy.mms.zip" depends="build.deploy">
<zip destfile="${release}/${date}/${app.name}.mms.deploy.zip">
<fileset dir="${build.deploy}">
<include name="lib/*.*" />
<include name="conf/config-mms*.*" />
<include name="bin/*.*" />
<exclude name="bin/*.bat" />
</fileset>
<fileset dir="${build.deploy}">
<include name="bin/*mms.bat" />
</fileset>
</zip>
</target>

<target name="package.deploy.mail.zip" depends="build.deploy">
<zip destfile="${release}/${date}/${app.name}.mail.deploy.zip">
<fileset dir="${build.deploy}">
<include name="lib/*.*" />
<include name="conf/config-mail*.*" />
<include name="bin/*.*" />
<exclude name="bin/*.bat" />
</fileset>
<fileset dir="${build.deploy}">
<include name="bin/*mail.bat" />
</fileset>
</zip>
</target>

<target name="package.deploy.inform.zip" depends="build.deploy">
<zip destfile="${release}/${date}/${app.name}.inform.deploy.zip">
<fileset dir="${build.deploy}">
<include name="lib/*.*" />
<include name="conf/config-inform*.*" />
<include name="bin/*.*" />
<exclude name="bin/*.bat" />
</fileset>
<fileset dir="${build.deploy}">
<include name="bin/*inform.bat" />
</fileset>
</zip>
</target>

<target name="package">
<antcall target="package.lib.zip">
</antcall>
<antcall target="package.deploy.zip">
</antcall>
<antcall target="package.deploy.sms.zip">
</antcall>
<antcall target="package.deploy.mms.zip">
</antcall>
<antcall target="package.deploy.mail.zip">
</antcall>
<antcall target="package.deploy.inform.zip">
</antcall>
</target>

<target name="all" depends="jars,package">
</target>
</project>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值