245 lines
7.8 KiB
XML
245 lines
7.8 KiB
XML
<project name="math" default="compile" basedir=".">
|
|
|
|
|
|
<!--
|
|
"math" component of the Jakarta Commons Subproject
|
|
$Id: build.xml,v 1.3 2003/05/18 00:55:18 tobrien Exp $
|
|
-->
|
|
|
|
|
|
<!-- ========== Initialize Properties ===================================== -->
|
|
|
|
|
|
<property file="build.properties"/> <!-- Component local -->
|
|
<property file="../build.properties"/> <!-- Commons local -->
|
|
<property file="${user.home}/build.properties"/> <!-- User local -->
|
|
|
|
|
|
<!-- ========== External Dependencies ===================================== -->
|
|
|
|
|
|
<!-- The directory containing your binary distribution of JUnit,
|
|
version 3.7 or later -->
|
|
<property name="junit.home" value="/usr/local/junit3.7"/>
|
|
|
|
|
|
<!-- ========== Derived Values ============================================ -->
|
|
|
|
|
|
<!-- The pathname of the "junit.jar" JAR file -->
|
|
<property name="junit.jar" value="${junit.home}/junit.jar"/>
|
|
|
|
|
|
<!-- ========== Component Declarations ==================================== -->
|
|
|
|
|
|
<!-- The name of this component -->
|
|
<property name="component.name" value="math"/>
|
|
|
|
<!-- The primary package name of this component -->
|
|
<property name="component.package" value="org.apache.commons.math"/>
|
|
|
|
<!-- The title of this component -->
|
|
<property name="component.title" value="math Utilities"/>
|
|
|
|
<!-- The current version number of this component -->
|
|
<property name="component.version" value="0.1-dev"/>
|
|
|
|
<!-- The base directory for compilation targets -->
|
|
<property name="build.home" value="target"/>
|
|
|
|
<!-- The base directory for component configuration files -->
|
|
<property name="conf.home" value="src/conf"/>
|
|
|
|
<!-- The base directory for distribution targets -->
|
|
<property name="dist.home" value="dist"/>
|
|
|
|
<!-- The base directory for component sources -->
|
|
<property name="source.home" value="src/java"/>
|
|
|
|
<!-- The base directory for unit test sources -->
|
|
<property name="test.home" value="src/test"/>
|
|
|
|
|
|
<!-- ========== Compiler Defaults ========================================= -->
|
|
|
|
|
|
<!-- Should Java compilations set the 'debug' compiler option? -->
|
|
<property name="compile.debug" value="true"/>
|
|
|
|
<!-- Should Java compilations set the 'deprecation' compiler option? -->
|
|
<property name="compile.deprecation" value="true"/>
|
|
|
|
<!-- Should Java compilations set the 'optimize' compiler option? -->
|
|
<property name="compile.optimize" value="true"/>
|
|
|
|
<!-- Construct compile classpath -->
|
|
<path id="compile.classpath">
|
|
<pathelement location="${build.home}/classes"/>
|
|
</path>
|
|
|
|
|
|
<!-- ========== Test Execution Defaults =================================== -->
|
|
|
|
|
|
<!-- Construct unit test classpath -->
|
|
<path id="test.classpath">
|
|
<pathelement location="${build.home}/classes"/>
|
|
<pathelement location="${build.home}/tests"/>
|
|
<pathelement location="${junit.jar}"/>
|
|
</path>
|
|
|
|
<!-- Should all tests fail if one does? -->
|
|
<property name="test.failonerror" value="true"/>
|
|
|
|
<!-- The test runner to execute -->
|
|
<property name="test.runner" value="junit.textui.TestRunner"/>
|
|
|
|
|
|
<!-- ========== Executable Targets ======================================== -->
|
|
|
|
|
|
<target name="init"
|
|
description="Initialize and evaluate conditionals">
|
|
<echo message="-------- ${component.name} ${component.version} --------"/>
|
|
<filter token="name" value="${component.name}"/>
|
|
<filter token="package" value="${component.package}"/>
|
|
<filter token="version" value="${component.version}"/>
|
|
</target>
|
|
|
|
|
|
<target name="prepare" depends="init"
|
|
description="Prepare build directory">
|
|
<mkdir dir="${build.home}"/>
|
|
<mkdir dir="${build.home}/classes"/>
|
|
<mkdir dir="${build.home}/conf"/>
|
|
<mkdir dir="${build.home}/tests"/>
|
|
<mkdir dir="${build.home}/test-reports"/>
|
|
</target>
|
|
|
|
|
|
<target name="static" depends="prepare"
|
|
description="Copy static files to build directory">
|
|
<tstamp/>
|
|
<copy todir="${build.home}/conf" filtering="on">
|
|
<fileset dir="${conf.home}" includes="*.MF"/>
|
|
</copy>
|
|
</target>
|
|
|
|
|
|
<target name="compile" depends="static"
|
|
description="Compile shareable components">
|
|
<javac srcdir="${source.home}"
|
|
destdir="${build.home}/classes"
|
|
debug="${compile.debug}"
|
|
deprecation="${compile.deprecation}"
|
|
optimize="${compile.optimize}">
|
|
<classpath refid="compile.classpath"/>
|
|
</javac>
|
|
<copy todir="${build.home}/classes" filtering="on">
|
|
<fileset dir="${source.home}" excludes="**/*.java"/>
|
|
</copy>
|
|
</target>
|
|
|
|
|
|
<target name="compile.tests" depends="compile"
|
|
description="Compile unit test cases">
|
|
<javac srcdir="${test.home}"
|
|
destdir="${build.home}/tests"
|
|
debug="${compile.debug}"
|
|
deprecation="${compile.deprecation}"
|
|
optimize="${compile.optimize}">
|
|
<classpath refid="test.classpath"/>
|
|
</javac>
|
|
<copy todir="${build.home}/tests" filtering="on">
|
|
<fileset dir="${test.home}" excludes="**/*.java"/>
|
|
</copy>
|
|
</target>
|
|
|
|
|
|
<target name="clean"
|
|
description="Clean build and distribution directories">
|
|
<delete dir="${build.home}"/>
|
|
<delete dir="${dist.home}"/>
|
|
</target>
|
|
|
|
|
|
<target name="all" depends="clean,compile"
|
|
description="Clean and compile all components"/>
|
|
|
|
|
|
<target name="javadoc" depends="compile"
|
|
description="Create component Javadoc documentation">
|
|
<mkdir dir="${dist.home}"/>
|
|
<mkdir dir="${dist.home}/docs"/>
|
|
<mkdir dir="${dist.home}/docs/api"/>
|
|
<javadoc sourcepath="${source.home}"
|
|
destdir="${dist.home}/docs/api"
|
|
packagenames="org.apache.commons.*"
|
|
author="true"
|
|
private="true"
|
|
version="true"
|
|
doctitle="<h1>${component.title}</h1>"
|
|
windowtitle="${component.title} (Version ${component.version})"
|
|
bottom="Copyright (c) 2001-2002 - Apache Software Foundation">
|
|
<classpath refid="compile.classpath"/>
|
|
</javadoc>
|
|
</target>
|
|
|
|
|
|
<target name="dist" depends="compile,javadoc"
|
|
description="Create binary distribution">
|
|
<mkdir dir="${dist.home}"/>
|
|
<copy file="../LICENSE"
|
|
todir="${dist.home}"/>
|
|
<copy file="RELEASE-NOTES.txt"
|
|
todir="${dist.home}"/>
|
|
<antcall target="jar"/>
|
|
</target>
|
|
|
|
|
|
<target name="jar" depends="compile"
|
|
description="Create jar">
|
|
<mkdir dir="${dist.home}"/>
|
|
<mkdir dir="${build.home}/classes/META-INF"/>
|
|
<copy file="../LICENSE"
|
|
tofile="${build.home}/classes/META-INF/LICENSE.txt"/>
|
|
<jar jarfile="${dist.home}/commons-${component.name}.jar"
|
|
basedir="${build.home}/classes"
|
|
manifest="${build.home}/conf/MANIFEST.MF"/>
|
|
</target>
|
|
|
|
|
|
<target name="install-jar" depends="jar"
|
|
description="--> Installs jar file in ${lib.repo}">
|
|
<copy todir="${lib.repo}" filtering="no">
|
|
<fileset dir="${dist.home}">
|
|
<include name="commons-${component.name}.jar"/>
|
|
</fileset>
|
|
</copy>
|
|
</target>
|
|
|
|
|
|
<!-- ========== Unit Test Targets ========================================= -->
|
|
|
|
|
|
<!-- Run all the JUnit Tests -->
|
|
<target name="test" depends="compile.tests" description="Compiles and runs unit test cases">
|
|
<record name="${build.home}/test-output.txt" append="no" action="start"/>
|
|
<junit printsummary="yes" haltonfailure="yes">
|
|
<classpath refid="test.classpath"/>
|
|
|
|
<formatter type="plain"/>
|
|
|
|
<batchtest fork="yes" todir="${build.home}/test-reports">
|
|
<fileset dir="${test.home}">
|
|
<include name="**/*Test.java"/>
|
|
<exclude name="**/*AbstractTest.java"/>
|
|
</fileset>
|
|
</batchtest>
|
|
</junit>
|
|
<record name="${build.home}/test-output.txt" action="stop"/>
|
|
</target>
|
|
|
|
</project>
|