<?xml version="1.0" encoding="UTF-8"?> <!-- ~ Copyright (c) 2009-2010 Beijing RYTong Information Technologies, Ltd. ~ All rights reserved. ~ ~ No part of this source code may be copied, used, or modified ~ without the express written consent of RYTong. --> <project name="demo" default="all" xmlns:artifact="urn:maven-artifact-ant"> <!--<property file="build.properties"/>--> <property name="M2_HOME" value="D:/Repository/maven/repo"/> <target name="init_maven"> <!-- remember to set M2_REPO before use this build.xml, for example in eclispe: "Window→Preferences→Ant→Runtime", add a new property named "M2_REPO" and set it value point to the path of your maven local repository; Or you can set it in build.properties. You need do one (and only one) of them. --> <path id="maven-ant-tasks.classpath" path="${M2_HOME}/org/apache/maven/maven-ant-tasks/2.0.9/maven-ant-tasks-2.0.9.jar"/> <typedef resource="org/apache/maven/artifact/ant/antlib.xml" uri="urn:maven-artifact-ant" classpathref="maven-ant-tasks.classpath"/> <artifact:pom id="maven.project" file="pom.xml"/> <artifact:dependencies pathId="classpath.build" filesetid="maven.fileset.build"> <pom refid="maven.project"/> </artifact:dependencies> <artifact:dependencies pathId="classpath.runtime" filesetid="maven.fileset.runtime" useScope="runtime"> <pom refid="maven.project"/> </artifact:dependencies> </target> <target name="all" depends="init_path, compile, jar, package, zip" description="do all"> <echo>begin to do all target to build the result package.</echo> </target> <target name="maven_info" depends="init_maven"> <echo>Maven build directory is ${maven.project.build.directory}</echo> <echo>Maven build finalName is ${maven.project.build.finalName}</echo> <echo>Maven build sourceDirectory directory is ${maven.project.build.sourceDirectory}</echo> <echo>Maven build outputDirectory directory is ${maven.project.build.outputDirectory}</echo> <echo>Maven build scriptSourceDirectory directory is ${maven.project.build.testSourceDirectory}</echo> <echo>Maven build testOutputDirectory directory is ${maven.project.build.testOutputDirectory}</echo> <echo>Maven build scriptSourceDirectory directory is ${maven.project.build.scriptSourceDirectory}</echo> <echo>Maven build resourceDirectory directory is ${maven.project.build.resources}</echo> <property name="target.jar.name" value="${maven.project.build.directory}/${maven.project.build.finalName}.jar"/> <echo>Maven build scriptSourceDirectory directory is ${target.jar.name}</echo> </target> <target name="clean" depends="init_maven"> <echo>clean build directory : ${maven.project.build.directory}</echo> <delete dir="${maven.project.build.directory}" includes="**/*"/> </target> <target name="init_path" depends="maven_info, clean"> <echo>make dir for java compile: ${maven.project.build.outputDirectory}</echo> <mkdir dir="${maven.project.build.outputDirectory}"/> </target> <target name="compile" description="description" depends="init_maven"> <javac srcdir="${maven.project.build.sourceDirectory}" destdir="${maven.project.build.outputDirectory}" classpathref="classpath.build"/> </target> <target name="copyResource" depends="init_maven"> <copy todir="${maven.project.build.outputDirectory}"> <fileset dir="src/main/resources"> </fileset> </copy> </target> <target name="jar" depends="compile, copyResource"> <delete file="${maven.project.build.directory}/${maven.project.build.finalName}.jar" failοnerrοr="false"/> <jar destfile="${maven.project.build.directory}/${maven.project.build.finalName}.jar" basedir="${maven.project.build.outputDirectory}"> </jar> </target> <target name="package" depends="package_prepare, copyLib, copyConfig, copyBin"> </target> <target name="package_prepare" depends="init_maven"> <echo>clean package directory : ${maven.project.build.directory}/${path.package}</echo> <delete dir="${maven.project.build.directory}/${path.package}"/> <mkdir dir="${maven.project.build.directory}/${path.package}"/> <mkdir dir="${maven.project.build.directory}/${path.package}/${path.target.name}"/> <mkdir dir="${maven.project.build.directory}/${path.package}/${path.target.name}/${path.package.lib}"/> <mkdir dir="${maven.project.build.directory}/${path.package}/${path.target.name}/${path.package.config}"/> <mkdir dir="${maven.project.build.directory}/${path.package}/${path.target.name}/${path.package.log}"/> </target> <target name="copyLib" depends="init_maven"> <copy todir="${maven.project.build.directory}/${path.package}/${path.target.name}/${path.package.lib}"> <fileset refid="maven.fileset.runtime"/> <mapper type="flatten"/> </copy> <copy todir="${maven.project.build.directory}/${path.package}/${path.target.name}/${path.package.lib}" file="${maven.project.build.directory}/${maven.project.build.finalName}.jar"> </copy> </target> <target name="copyConfig" depends="init_maven"> <copy todir="${maven.project.build.directory}/${path.package}/${path.target.name}/${path.package.config}"> <fileset dir="src/main/config"> </fileset> </copy> </target> <target name="copyBin" depends="init_maven"> <copy todir="${maven.project.build.directory}/${path.package}/${path.target.name}/${path.package.bin}"> <fileset dir="src/main/bin"> </fileset> </copy> </target> <target name="zip" depends="init_maven"> <zip destfile="${maven.project.build.directory}/${path.package}/${path.target.name}.zip"> <fileset dir="${maven.project.build.directory}/${path.package}/${path.target.name}"></fileset> </zip> </target> </project>