<?xml version="1.0"?>
<project default="build_standardsm">
<import file="maven-build.xml"/>
<property name="src.main.java.dir" value="src/main/java" />
<property name="src.main.resources.dir" value="src/main/resources" />
<property name="src.test.java.dir" value="src/test/java" />
<property name="src.test.resources.dir" value="src/test/resources" />
<!-- 一些配置文件源路径 -->
<property name="src.main.webapp.dir" value="src/main/webapp"/>
<!-- 目标根路径 -->
<property name="build.dir" value="D:\Program Files\Apache Software Foundation\Tomcat 6.0\webapps/fgjj2"/>
<!-- 编译目标路径 -->
<property name="build_compile.dir" value="${build.dir}/WEB-INF/classes"/>
<!-- jar包目标路径 -->
<property name="build_lib.dir" value="${build.dir}/WEB-INF/lib" />
<!-- 用于混淆的临时路径 -->
<property name="build_lib_obfuscate.dir" value="${build.dir}/lib_obfuscate"/>
<!-- 初始化任务 -->
<target name="init" description="init">
<!-- 删除 -->
<delete dir="${build_compile.dir}"/>
<delete dir="${build_lib.dir}"/>
<mkdir dir="${build_compile.dir}"/>
<mkdir dir="${build_lib.dir}"/>
</target>
<!-- 编译到build下的classes -->
<target name="compile" depends="init">
<javac destdir="${build_compile.dir}"
source="1.6"
target="1.6"
debug="true"
deprecation="false"
optimize="false"
encoding="GBK"
failonerror="true"
includeantruntime="false">
<src path="${src.main.java.dir}:${src.main.resources.dir}" />
<classpath refid="build.classpath" />
</javac>
</target>
<!-- 编译到build下的classes_test -->
<target name="compile_test" depends="init">
<javac destdir="${build_compile.dir}"
source="1.6"
target="1.6"
debug="true"
deprecation="false"
optimize="false"
encoding="GBK"
failonerror="true"
includeantruntime="false">
<src path="${src.main.java.dir}:${src.test.java.dir}" includes="build.classpath" />
<classpath refid="build.classpath" />
</javac>
</target>
<!-- 将类打包成jar到目标路径 -->
<target name="classes_jar" depends="compile">
<jar jarfile="${build_lib.dir}/${maven.build.finalName}.jar"
compress="true"
index="false"
basedir="${build_compile.dir}"
excludes="**/package.html"/>
</target>
<!-- 将类打包成jar到目标路径 -->
<!--<target name="classes_jar_test" depends="compile_test">
<jar jarfile="${build_lib.dir}/${maven.build.finalName}-test.jar"
compress="true"
index="false"
basedir="${build_compile.dir}"
excludes="**/package.html"/>
</target>
-->
<!-- 拷贝类库到目标路径 -->
<target name="lib_copy" depends="init">
<copy todir="${build_lib.dir}" flatten="true">
<path refid="build.classpath"/>
</copy>
</target>
<!-- 拷贝配置文件到目标路径 -->
<target name="resources_copy" depends="init" description="copy the config files">
<!-- 拷贝src.main.resources.dir到目标路径 -->
<copy todir="${build_compile.dir}" includeEmptyDirs="yes">
<fileset dir="${src.main.resources.dir}">
<patternset>
<include name="config/" />
<include name="web/" />
<!--<include name="web/*.properties" />
<include name="web/*.db" />
<include name="web/dal/oracle/*.xml" />
<include name="web/dal/oracle/hbm/gjsystem/*.xml" />
<include name="web/dal/oracle/hbm/mmsbill/*.xml" />
<include name="web/dal/oracle/hbm/monitor/*.xml" />
<include name="web/dal/oracle/hbm/purview/*.xml" />
<include name="web/blf/business/*.xml"/>
<include name="web/bll/*.xml"/>-->
<include name="applicationContext-init.xml" />
</patternset>
</fileset>
</copy>
</target>
<!-- 拷贝配置文件到目标路径 -->
<target name="webapp_copy" depends="init" description="copy the config files">
<!--拷贝src.main.webapp.dir到目标路径 -->
<copy todir="${build.dir}">
<fileset dir="${src.main.webapp.dir}">
<patternset>
<include name="CSS/" />
<include name="ext/" />
<include name="*extjs2.2/" />
<include name="*Images/"/>
<include name="JS/"/>
<include name="META-INF/"/>
<include name="*.html"/>
<include name="*.jsp"/>
<include name="*.htm"/>
</patternset>
</fileset>
</copy>
</target>
<!-- 拷贝配置文件到目标路径 -->
<target name="web.xml_copy" depends="init" description="copy the config files">
<!--拷贝web.xml到目标路径 -->
<copy todir="${build.dir}/WEB-INF">
<fileset dir="${src.main.webapp.dir}/WEB-INF">
<patternset>
<include name="web.xml" />
</patternset>
</fileset>
</copy>
</target>
<target name="delete" description="init">
<delete dir="${build.dir}"/>
</target>
<!-- 执行标准平台build操作 -->
<target name="build_standardsm" depends="delete,init,compile,lib_copy,resources_copy,webapp_copy,web.xml_copy"/>
<!-- 执行代码混淆,只混淆lib/tech_*.jar -->
<target name="obfuscate">
<!--初始化混淆目标路径-->
<delete dir="${build_lib_obfuscate.dir}"/>
<mkdir dir="${build_lib_obfuscate.dir}"/>
<!--引入proguard task-->
<taskdef resource="proguard/ant/task.properties"/>
<!--执行混淆-->
<proguard ignorewarnings="true" configuration="library.pro">
<injar path="${build_lib.dir}" jarfilter="tech_*.jar"/>
<outjar file="${build_lib_obfuscate.dir}"/>
<libraryjar file="${build_lib.dir}"/>
<libraryjar file="${java.home}/lib/rt.jar"/>
-printmapping ${build.dir}/obfuscation.map
</proguard>
<!--混淆后的jar覆盖原有jar -->
<copy todir="${build_lib.dir}" overwrite="true">
<fileset dir="${build_lib_obfuscate.dir}"/>
</copy>
</target>
</project>