178 lines
8.3 KiB
XML
178 lines
8.3 KiB
XML
<!--
|
|
Copyright 2002-2005 The Apache Software Foundation.
|
|
|
|
Licensed 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="Lang" default="compile" basedir=".">
|
|
<!--
|
|
"Lang" component of the Jakarta Commons Subproject
|
|
$Id$
|
|
-->
|
|
<!-- ========== Initialize Properties ===================================== -->
|
|
<property file="${user.home}/${component.name}.build.properties"/>
|
|
<property file="${user.home}/build.properties"/>
|
|
<property file="${basedir}/build.properties"/>
|
|
<property file="${basedir}/default.properties"/>
|
|
<!-- The Sun Javadoc for versions prior to 1.3 are off-line. -->
|
|
<property name="jdk.javadoc" value="http://java.sun.com/j2se/1.3/docs/api/"/>
|
|
<!-- ========== Construct compile classpath =============================== -->
|
|
<path id="compile.classpath">
|
|
<pathelement location="${build.home}/classes"/>
|
|
</path>
|
|
<!-- ========== Construct unit test classpath ============================= -->
|
|
<path id="test.classpath">
|
|
<pathelement location="${build.home}/classes"/>
|
|
<pathelement location="${build.home}/tests"/>
|
|
<pathelement location="${junit.jar}"/>
|
|
</path>
|
|
<!-- ========== 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"/>
|
|
</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}" target="${compile.target}" source="${compile.source}" excludes="${compile.excludes}" 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="off" target="${compile.target}" source="${compile.source}" 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" overview="${source.home}/org/apache/commons/lang/overview.html" packagenames="org.apache.commons.*" excludepackagenames="${javadoc.excludepackagenames}" author="true" version="true" doctitle="<h1>${component.title}</h1>" windowtitle="${component.title} (Version ${component.version})" bottom="Copyright &copy; 2001-${copyright.end} - Apache Software Foundation" use="true" link="${jdk.javadoc}" source="${compile.source}">
|
|
<classpath refid="compile.classpath"/>
|
|
</javadoc>
|
|
</target>
|
|
<target name="dist" depends="compile,javadoc" description="Create binary distribution">
|
|
<mkdir dir="${dist.home}"/>
|
|
<copy file="LICENSE.txt" todir="${dist.home}"/>
|
|
<copy file="NOTICE.txt" todir="${dist.home}"/>
|
|
<copy file="RELEASE-NOTES.txt" todir="${dist.home}"/>
|
|
<antcall target="jar"/>
|
|
</target>
|
|
<target name="dist-build-2.1" description="Build binary distribution files excluding the text package">
|
|
<delete dir="src/java/org/apache/commons/lang/text"/>
|
|
<delete dir="src/test/org/apache/commons/lang/text"/>
|
|
<antcall target="dist-build"/>
|
|
</target>
|
|
<target name="dist-build" depends="clean,dist" description="Build binary distribution files">
|
|
<mkdir dir="${final.name}"/>
|
|
<move todir="${final.name}/${final.name}">
|
|
<fileset dir="${dist.home}"/>
|
|
</move>
|
|
<tar destfile="${final.name}.tar" basedir="${final.name}"/>
|
|
<gzip zipfile="${final.name}.tar.gz" src="${final.name}.tar"/>
|
|
<delete file="${final.name}.tar"/>
|
|
<fixcrlf srcdir="${final.name}" eol="crlf" includes="**/*.txt"/>
|
|
<zip destfile="${final.name}.zip" basedir="${final.name}"/>
|
|
<delete dir="${final.name}"/>
|
|
</target>
|
|
<target name="jar" depends="compile" description="Create jar">
|
|
<mkdir dir="${dist.home}"/>
|
|
<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"/>
|
|
<jar jarfile="${dist.home}/${final.name}.jar" basedir="${build.home}/classes" manifest="${build.home}/conf/MANIFEST.MF" excludes="**/*.html"/>
|
|
</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="${final.name}.jar"/>
|
|
</fileset>
|
|
</copy>
|
|
</target>
|
|
<!-- ========== Unit Test Targets ========================================= -->
|
|
<target name="test" depends="
|
|
compile.tests,
|
|
test.lang,
|
|
test.builder,
|
|
test.enum,
|
|
test.enums,
|
|
test.exception,
|
|
test.math,
|
|
test.mutable,
|
|
test.text,
|
|
test.time" description="Run all unit test cases">
|
|
<echo message="Running tests ..."/>
|
|
</target>
|
|
<macrodef name="runTestCase">
|
|
<attribute name="classname"/>
|
|
<sequential>
|
|
<junit printsummary="true" showoutput="true" fork="${junit.fork}" haltonerror="${test.failonerror}">
|
|
<classpath refid="test.classpath"/>
|
|
<test name="@{classname}"/>
|
|
</junit>
|
|
</sequential>
|
|
</macrodef>
|
|
<target name="test.lang" depends="compile.tests">
|
|
<runTestCase classname="org.apache.commons.lang.LangTestSuite"/>
|
|
</target>
|
|
<target name="test.builder" depends="compile.tests">
|
|
<runTestCase classname="org.apache.commons.lang.builder.BuilderTestSuite"/>
|
|
</target>
|
|
<target name="test.enum" depends="compile.tests">
|
|
<runTestCase classname="org.apache.commons.lang.enum.EnumTestSuite"/>
|
|
</target>
|
|
<target name="test.enums" depends="compile.tests">
|
|
<runTestCase classname="org.apache.commons.lang.enums.EnumTestSuite"/>
|
|
</target>
|
|
<target name="test.exception" depends="compile.tests">
|
|
<runTestCase classname="org.apache.commons.lang.exception.ExceptionTestSuite"/>
|
|
</target>
|
|
<target name="test.math" depends="compile.tests">
|
|
<runTestCase classname="org.apache.commons.lang.math.MathTestSuite"/>
|
|
</target>
|
|
<target name="test.mutable" depends="compile.tests">
|
|
<runTestCase classname="org.apache.commons.lang.mutable.MutableTestSuite"/>
|
|
</target>
|
|
<target name="test.text" depends="compile.tests">
|
|
<runTestCase classname="org.apache.commons.lang.text.TextTestSuite"/>
|
|
</target>
|
|
<target name="test.time" depends="compile.tests">
|
|
<runTestCase classname="org.apache.commons.lang.time.TimeTestSuite"/>
|
|
</target>
|
|
<target name="test.util" depends="compile.tests">
|
|
<runTestCase classname="org.apache.commons.lang.util.UtilTestSuite"/>
|
|
</target>
|
|
</project>
|