Author: psteitz Date: Sat Jan 24 18:44:58 2009 New Revision: 737417 URL: http://svn.apache.org/viewvc?rev=737417&view=rev Log: Replaced maven-generated ant build with standalone version adapted from [io].
Modified: commons/proper/math/trunk/build.xml Modified: commons/proper/math/trunk/build.xml URL: http://svn.apache.org/viewvc/commons/proper/math/trunk/build.xml?rev=737417&r1=737416&r2=737417&view=diff ============================================================================== --- commons/proper/math/trunk/build.xml (original) +++ commons/proper/math/trunk/build.xml Sat Jan 24 18:44:58 2009 @@ -1,185 +1,337 @@ -<?xml version="1.0" encoding="UTF-8"?> +<!-- + Licensed to the Apache Software Foundation (ASF) under one or more + contributor license agreements. See the NOTICE file distributed with + this work for additional information regarding copyright ownership. + The ASF licenses this file to You under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with + the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +--> +<project name="Commons IO" default="jar" basedir="."> -<!--build.xml generated by maven from project.xml version 1.2-RC2 - on date April 24 2008, time 1634--> -<project default="jar" name="commons-math" basedir="."> - <property name="defaulttargetdir" value="target"> - </property> - <property name="libdir" value="target/lib"> - </property> - <property name="classesdir" value="target/classes"> - </property> - <property name="testclassesdir" value="target/test-classes"> - </property> - <property name="testclassesdir" value="target/test-classes"> - </property> - <property name="testreportdir" value="target/test-reports"> - </property> - <property name="distdir" value="dist"> - </property> - <property name="javadocdir" value="dist/docs/api"> - </property> - <property name="final.name" value="commons-math-1.2-RC2"> - </property> - <path id="build.classpath"> - <fileset dir="${libdir}"> - <include name="**/*.jar"> - </include> - </fileset> +<!-- + "Math" component of the Apache Commons Project + $Id:$ + $Revision:$ $Date:$ +--> + + +<!-- ========== Initialize Properties ===================================== --> + + <property file="build.properties"/> <!-- Component local --> + <property file="${user.home}/build.properties"/> <!-- User local --> + + +<!-- ========== External Dependencies ===================================== --> + + + <!-- Junit --> + <property name="junit.version" value="4.4"/> + <property name="junit.home" value="/usr/share/junit"/> + <property name="junit.jar" value="${junit.home}/junit-${junit.version}.jar"/> + + +<!-- ========== Component Declarations ==================================== --> + + + <!-- The name of this component --> + <property name="component.name" value="commons-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="Commons MATH"/> + + <!-- The current version number of this component --> + <property name="component.version" value="2.0-SNAPSHOT"/> + + <!-- 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"/> + + <!-- Download lib dir --> + <property name="download.lib.dir" value="lib"/> + + <!-- The base directory for compilation targets --> + <property name="build.home" value="target"/> + + <!-- The base directory for distribution targets --> + <property name="dist.home" value="${build.home}/dist"/> + + <!-- Base file name for dist files --> + <property name="final.name" value="${component.name}-${component.version}"/> + + <!-- Directory where binary release files are staged --> + <property name="stage.bin.dir" value="${dist.home}/stage-bin"/> + + <!-- Directory where source release files are staged --> + <property name="stage.src.dir" value="${dist.home}/stage-src"/> + +<!-- ========== 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="false"/> + + <!-- Should Java compilations set the 'optimize' compiler option? --> + <property name="compile.optimize" value="true"/> + + <!-- JDK level --> + <property name="compile.source" value="1.5"/> + <property name="compile.target" value="1.5"/> + + <!-- Base compile classpath --> + <path id="compile.classpath"> + <pathelement location="${build.home}/classes"/> + </path> + + <!-- External dependency classpath --> + <path id="downloaded.lib.classpath"> + <pathelement location="${download.lib.dir}/junit-${junit.version}.jar"/> + </path> + +<!-- ========== Test Execution Defaults =================================== --> + + + <!-- Construct unit test classpath --> + <path id="test.classpath"> + <pathelement location="${build.home}/classes"/> + <pathelement location="${build.home}/test-classes"/> + <pathelement location="${junit.jar}"/> + <path refid="downloaded.lib.classpath"/> </path> - <target name="init" description="o Initializes some properties"> - <mkdir dir="${libdir}"> - </mkdir> - <condition property="noget"> - <equals arg2="only" arg1="${build.sysclasspath}"> - </equals> - </condition> - <!--Test if JUNIT is present in ANT classpath--> - - <available property="Junit.present" classname="junit.framework.Test"> - </available> - </target> - <target name="compile" description="o Compile the code" depends="get-deps"> - <mkdir dir="${classesdir}"> - </mkdir> - <javac destdir="${classesdir}" deprecation="true" debug="true" optimize="false" excludes="**/package.html"> - <src> - <pathelement location="src/java"> - </pathelement> - </src> - <classpath refid="build.classpath"> - </classpath> + + <!-- Should the build fail if there are test failures? --> + <property name="test.failonerror" value="true"/> + +<!-- ========== Executable Targets ======================================== --> + + <target name="clean" description="Clean build and distribution directories"> + <delete dir="${build.home}"/> + </target> + + + <target name="init" + description="Initialize and evaluate conditionals"> + <echo message="-------- ${component.title} ${component.version} --------"/> + <filter token="name" value="${component.name}"/> + <filter token="package" value="${component.package}"/> + <filter token="version" value="${component.version}"/> + <filter token="compilesource" value="${compile.source}"/> + <filter token="compiletarget" value="${compile.target}"/> + <tstamp/> + <mkdir dir="${build.home}"/> + <mkdir dir="${build.home}/classes"/> + <mkdir dir="${build.home}/test-classes"/> + </target> + +<!-- ========== Compile Targets =========================================== --> + + <target name="compile" depends="init" description="Compile"> + + <javac srcdir="${source.home}" + destdir="${build.home}/classes" + source="${compile.source}" + target="${compile.target}" + debug="${compile.debug}" + deprecation="${compile.deprecation}" + optimize="${compile.optimize}"> + <classpath refid="compile.classpath"/> </javac> - <mkdir dir="${classesdir}/META-INF"> - </mkdir> - <copy todir="${classesdir}/META-INF"> + </target> + + +<!-- ========== Unit Test Targets ========================================= --> + + <target name="compile.tests" depends="compile, download-dependencies" description="Compile unit tests."> + + <javac srcdir="${test.home}" + destdir="${build.home}/test-classes" + debug="${compile.debug}" + deprecation="${compile.deprecation}" + optimize="${compile.optimize}"> + <classpath refid="test.classpath"/> + </javac> + + <copy todir="${build.home}/test-classes"> + <fileset dir="${test.home}"> + <include name="**/*.xml"/> + <include name="**/*.txt"/> + </fileset> + </copy> + + </target> + + <target name="test" depends="compile.tests" + description="Run unit tests"> + <junit printsummary="true" + errorProperty="test.failed" + failureProperty="test.failed" + fork="true" + showOutput="true"> + <formatter usefile="false" type="plain"/> + <classpath refid="test.classpath"/> + <batchtest> + <fileset dir="${test.home}" includes="**/*Test.java" + excludes="**/*AbstractTest.java"/> + </batchtest> + </junit> + <fail message="There were test failures."> + <condition> + <and> + <istrue value="${test.failonerror}"/> + <isset property="test.failed"/> + </and> + </condition> + </fail> + </target> + + +<!-- ========== Produce JavaDocs ========================================== --> + + <target name="javadoc" depends="compile" description="Create component Javadoc documentation"> + <mkdir dir="${build.home}/apidocs"/> + <tstamp> + <format property="current.year" pattern="yyyy"/> + </tstamp> + <javadoc sourcepath="${source.home}" + destdir="${build.home}/apidocs" + packagenames="org.apache.commons.*" + author="true" + private="true" + version="true" + doctitle="<h1>${component.title} ${component.version}</h1>" + windowtitle="${component.title} ${component.version}" + bottom="Copyright (c) 2003-${current.year} Apache Software Foundation" + classpathref="compile.classpath"> + <link href="http://java.sun.com/j2se/1.5.0/docs/api/"/> + <link href="http://commons.apache.org/collections/api"/> + </javadoc> + </target> + + +<!-- ========== Create Jar ================================================ --> + + <target name="jar" depends="test" description="Create jar file"> + + <mkdir dir="${build.home}/classes/META-INF"/> + <copy file="LICENSE.txt" tofile="${build.home}/classes/META-INF/LICENSE.txt"/> + <copy file="NOTICE.txt" tofile="${build.home}/classes/META-INF/NOTICE.txt"/> + + <manifest file="${build.home}/MANIFEST.MF"> + <attribute name="Specification-Title" value="${component.title}"/> + <attribute name="Specification-Version" value="${component.version}"/> + <attribute name="Specification-Vendor" value="Apache Software Foundation"/> + <attribute name="Implementation-Title" value="${component.title}"/> + <attribute name="Implementation-Version" value="${component.version}"/> + <attribute name="Implementation-Vendor" value="Apache Software Foundation"/> + <attribute name="Implementation-Vendor-Id" value="org.apache"/> + <attribute name="X-Compile-Source-JDK" value="${compile.source}"/> + <attribute name="X-Compile-Target-JDK" value="${compile.target}"/> + </manifest> + + <jar jarfile="${build.home}/${final.name}.jar" + basedir="${build.home}/classes" + manifest="${build.home}/MANIFEST.MF"/> + </target> + + +<!-- ========== Distribution Target =========================================== --> + + <target name="dist" depends="clean,jar,javadoc" description="Create distribution artifacts"> + + <mkdir dir="${dist.home}"/> + + <!-- jar(s) --> + <copy todir="${dist.home}"> <fileset dir="."> - <include name="NOTICE.txt"> - </include> + <include name="RELEASE-NOTES.txt"/> + </fileset> + <fileset dir="${build.home}"> + <include name="*.jar"/> </fileset> </copy> - </target> - <target name="jar" description="o Create the jar" depends="compile,test"> - <jar jarfile="${defaulttargetdir}/${final.name}.jar" excludes="**/package.html" basedir="${classesdir}"> - </jar> - </target> - <target name="clean" description="o Clean up the generated directories"> - <delete dir="${defaulttargetdir}"> - </delete> - <delete dir="${distdir}"> - </delete> - </target> - <target name="dist" description="o Create a distribution" depends="jar, javadoc"> - <mkdir dir="dist"> - </mkdir> - <copy todir="dist"> - <fileset dir="${defaulttargetdir}" includes="*.jar"> + + <!-- Binary Distro --> + <mkdir dir="${stage.bin.dir}/${final.name}"/> + <copy todir="${stage.bin.dir}/${final.name}"> + <fileset dir="."> + <include name="LICENSE.txt"/> + <include name="NOTICE.txt"/> + <include name="RELEASE-NOTES.txt"/> </fileset> - <fileset dir="${basedir}" includes="LICENSE*, README*"> + <fileset dir="${build.home}"> + <include name="*.jar"/> </fileset> </copy> - </target> - <target name="test" description="o Run the test cases" if="test.failure" depends="internal-test"> - <fail message="There were test failures."> - </fail> - </target> - <target name="internal-test" if="Junit.present" depends="junit-present,compile-tests"> - <mkdir dir="${testreportdir}"> - </mkdir> - <junit dir="./" failureproperty="test.failure" printSummary="yes" fork="true" haltonerror="true"> - <sysproperty key="basedir" value="."> - </sysproperty> - <formatter type="xml"> - </formatter> - <formatter usefile="false" type="plain"> - </formatter> - <classpath> - <path refid="build.classpath"> - </path> - <pathelement path="${testclassesdir}"> - </pathelement> - <pathelement path="${classesdir}"> - </pathelement> - </classpath> - <batchtest todir="${testreportdir}"> - <fileset dir="src/test"> - <include name="**/*Test.java"> - </include> - <exclude name="**/*AbstractTest.java"> - </exclude> - </fileset> - </batchtest> - </junit> - </target> - <target name="junit-present" unless="Junit.present" depends="init"> - <echo>================================= WARNING ================================</echo> - <echo>Junit isn't present in your ${ANT_HOME}/lib directory. Tests not executed.</echo> - <echo>==========================================================================</echo> - </target> - <target name="compile-tests" if="Junit.present" depends="junit-present,compile"> - <mkdir dir="${testclassesdir}"> - </mkdir> - <javac destdir="${testclassesdir}" deprecation="true" debug="true" optimize="false" excludes="**/package.html"> - <src> - <pathelement location="src/test"> - </pathelement> - </src> - <classpath> - <path refid="build.classpath"> - </path> - <pathelement path="${classesdir}"> - </pathelement> - </classpath> - </javac> - <copy todir="${testclassesdir}"> - <fileset dir="src/test"> - <include name="**/*.xml"> - </include> - <include name="**/*.txt"> - </include> + <copy todir="${stage.bin.dir}/${final.name}/apidocs"> + <fileset dir="${build.home}/apidocs" /> + </copy> + + <!-- Source Distro --> + <mkdir dir="${stage.src.dir}/${final.name}-src"/> + <copy todir="${stage.src.dir}/${final.name}-src"> + <fileset dir="."> + <include name="*.xml"/> + <include name="*.txt"/> + <include name="*.html"/> </fileset> </copy> - </target> - <target name="javadoc" description="o Generate javadoc" depends="get-deps"> - <mkdir dir="${javadocdir}"> - </mkdir> - <tstamp> - <format pattern="2003-yyyy" property="year"> - </format> - </tstamp> - <property name="copyright" value="Copyright &copy; The Apache Software Foundation. All Rights Reserved."> - </property> - <property name="title" value="Math 1.2-RC2 API"> - </property> - <javadoc use="true" private="true" destdir="${javadocdir}" author="true" version="true" sourcepath="src/java" packagenames="org.apache.commons.math.*"> - <classpath> - <path refid="build.classpath"> - </path> - </classpath> - </javadoc> - </target> - <target name="get-deps" unless="noget" depends="init"> - <!--Proxy settings works only with a JDK 1.2 and higher.--> + <copy todir="${stage.src.dir}/${final.name}-src/src"> + <fileset dir="src" excludes="mantissa/**,experimental/**" /> + </copy> + <zip zipfile="${dist.home}/${final.name}.zip" basedir="${stage.bin.dir}"/> + <zip zipfile="${dist.home}/${final.name}-src.zip" basedir="${stage.src.dir}"/> + <tar tarfile="${dist.home}/${final.name}.tar" basedir="${stage.bin.dir}" longfile="gnu"/> + <tar tarfile="${dist.home}/${final.name}-src.tar" basedir="${stage.src.dir}" longfile="gnu"/> + <gzip src="${dist.home}/${final.name}.tar" zipfile="${dist.home}/${final.name}.tar.gz"/> + <gzip src="${dist.home}/${final.name}-src.tar" zipfile="${dist.home}/${final.name}-src.tar.gz"/> + + <!-- clean up staging directories --> + <delete dir="${stage.bin.dir}"/> + <delete dir="${stage.src.dir}"/> - <echo>Proxy used :</echo> - <echo>Proxy host [${proxy.host}]</echo> - <echo>Proxy port [${proxy.port}]</echo> - <echo>Proxy user [${proxy.username}]</echo> - <setproxy proxyuser="${proxy.username}" proxyport="${proxy.port}" proxypassword="${proxy.password}" proxyhost="${proxy.host}"> - </setproxy> - <get dest="${libdir}/maven-cobertura-plugin-1.1.1.jar" usetimestamp="true" ignoreerrors="true" src="http://repo1.maven.org/maven/maven-plugins/plugins/maven-cobertura-plugin-1.1.1.jar"> - </get> - <get dest="${libdir}/maven-xdoc-plugin-1.9.2.jar" usetimestamp="true" ignoreerrors="true" src="http://repo1.maven.org/maven/maven/plugins/maven-xdoc-plugin-1.9.2.jar"> - </get> - </target> - <target name="noProxy" unless="useProxy" depends="init"> - <echo>Proxy not used.</echo> - </target> - <target name="install-maven"> - <get dest="${user.home}/maven-install-latest.jar" usetimestamp="true" src="${repo}/maven/maven-install-latest.jar"> - </get> - <unjar dest="${maven.home}" src="${user.home}/maven-install-latest.jar"> - </unjar> </target> -</project> \ No newline at end of file + + +<!-- ========== Gump Target ===================================================== --> + + <target name="gump" depends="clean,test,javadoc,jar" description="Gump Target - clean,test,javadoc,jar"/> + + +<!-- ========== Download Dependencies =========================================== --> + + <target name="download-dependencies" + depends="check-availability" unless="skip.download"> + <echo message="doing download-dependencies..." /> + <antcall target="download-junit" /> + </target> + + <target name="check-availability"> + <echo message="doing check-availability..." /> + <available file="${junit.jar}" property="junit.found"/> + </target> + + <target name="download-junit" unless="junit.found"> + <echo message="Downloading junit..."/> + <mkdir dir="${download.lib.dir}" /> + <get dest="${download.lib.dir}/junit-${junit.version}.jar" + usetimestamp="true" ignoreerrors="true" + src="http://repo1.maven.org/maven2/junit/junit/${junit.version}/junit-${junit.version}.jar"/> + </target> + +</project> +