<?xml version="1.0"?> <!-- ============================================================================== Perforce build file Authors: Paul Hammant <Paul_Hammant@yahoo.com> ============================================================================== --> <project default="main" basedir="."> <!-- Give user a chance to override without editing this file (and without typing -D each time he compiles it) --> <property file=".ant.properties"/> <property file="${user.home}/.ant.properties"/> <property name="name" value="p4soap"/> <property name="Name" value="P4Soap"/> <property name="year" value="2001"/> <!-- these are here only for those who use jikes compiler. For other developers this part makes no difference. --> <property name="build.compiler.emacs" value="on"/> <property name="build.compiler.warnings" value="true"/> <property name="build.compiler.pedantic" value="true"/> <property name="build.compiler.depend" value="true"/> <property name="debug" value="on"/> <property name="optimize" value="off"/> <property name="deprecation" value="on"/> <property name="build.dir" value="build"/> <property name="build.lib" value="${build.dir}/lib"/> <property name="build.src" value="${build.dir}/src"/> <property name="build.classes" value="${build.dir}/classes"/> <property name="build.classes.lib" value="${build.dir}/classes/lib"/> <property name="src.base" value="src"/> <property name="src.dir" value="${src.base}/java"/> <property name="lib.dir" value="lib"/> <property name="dist.name" value="${Name}-${version}"/> <property name="docs.dir" value="docs"/> <!-- =================================================================== Main target =================================================================== --> <target name="main" depends="jar"/> <!-- =================================================================== Help on usage =================================================================== --> <target name="usage"> <echo message=""/> <echo message="${Name} Build file"/> <echo message="-------------------------------------------------------------"/> <echo message=""/> <echo message=" available targets are:"/> <echo message=""/> <echo message=" build --> generates the installable jar file in this dirtectory"/> <echo message=" dist --> creates a zip in the parent directory for distribution"/> <echo message=" clean --> cleans up the created directories"/> <echo message=" real-clean --> cleans up all genereated files and directories"/> <echo message=""/> <echo message="-------------------------------------------------------------"/> <echo message=""/> </target> <target name="help" depends="usage"/> <!-- =================================================================== Checks the environment for existing resources =================================================================== --> <target name="check-environment"> </target> <!-- =================================================================== Prepares the build directory =================================================================== --> <target name="prepare" depends="check-environment"> <tstamp/> <filter token="year" value="${year}"/> <filter token="version" value="${version}"/> <filter token="date" value="${TODAY}"/> <filter token="log" value="true"/> <filter token="verbose" value="true"/> <mkdir dir="${build.dir}"/> <mkdir dir="${build.dir}/classes/lib"/> </target> <!-- =================================================================== Prepares the library code =================================================================== --> <target name="prepare-lib" depends="prepare"> <mkdir dir="${build.lib}"/> <!-- <copy file="${lib.dir}/xerces.jar" todir="${build.lib}"/> --> </target> <!-- =================================================================== Prepares the source code =================================================================== --> <target name="prepare-src" depends="prepare"> <mkdir dir="${build.src}"/> <copy todir="${build.src}"> <fileset dir="${src.dir}"> <!-- <exclude name="org/apache/avalon/util/i18n/**"/> --> </fileset> </copy> </target> <!-- =================================================================== Compiles the source code =================================================================== --> <target name="compile" depends="prepare-src,prepare-lib"> <mkdir dir="${build.classes}"/> <javac srcdir="${build.src}" destdir="${build.classes}" debug="${debug}" optimize="${optimize}" deprecation="${deprecation}"> <classpath> <fileset dir="lib"> <include name="*.jar" /> </fileset> </classpath> </javac> <copy todir="${build.classes}"> <fileset dir="${build.src}"> <include name="**/*.properties"/> <include name="**/*.xinfo"/> <include name="**/*.gif"/> </fileset> </copy> <mkdir dir="${build.classes}"/> </target> <!-- =================================================================== Creates the P4Soap.jar file =================================================================== --> <target name="jar" depends="compile"> <mkdir dir="dist"/> <jar jarfile="dist/Perforce_P4Soap.jar" basedir="${build.classes}"> <include name="**"/> </jar> </target> <!-- =================================================================== Runs the perforce server =================================================================== --> <target name="run" depends="jar"> <!-- need to solve the natuve lib dependancy first --> <java classname="com.perforce.client.Main" > <classpath> <fileset dir="lib"> <include name="*.jar" /> </fileset> <pathelement path="build/classes"/> </classpath> </java> </target> <!-- =================================================================== Makes a distribution zip. =================================================================== --> <target name="dist" depends="real-clean, jar" > </target> <!-- =================================================================== Cleans up build and distribution directories =================================================================== --> <target name="clean"> <delete dir="${build.dir}"/> <delete dir="${dist.dir}"/> <delete> <fileset dir="." includes="**/*~" defaultexcludes="no"/> </delete> </target> <!-- =================================================================== Cleans absolutely everything up =================================================================== --> <target name="real-clean" depends="clean"> <delete file="dist/**"/> </target> </project>
# | Change | User | Description | Committed | |
---|---|---|---|---|---|
#1 | 783 | paul_hammant |
First cut of P4 Soap API. Uses Glue, can't work yet as DLLs missing. |