blob: f9c3eb73b966c346a220c459db86a6dca82a3941 [file] [log] [blame]
<project name="Jasper2" default="deploy" basedir=".">
<!-- ===================== Initialize Property Values =================== -->
<!-- See "build.properties.sample" in the top level directory for all -->
<!-- property values you must customize for successful building!!! -->
<property file="${user.home}/build.properties"/>
<property file="build.properties"/>
<property file="build.properties.sample"/>
<property file="${catalina.home}/build.properties"/>
<!-- Build Defaults -->
<property name="jasper.build" value="${basedir}/build"/>
<property name="catalina.home" value="../../jakarta-tomcat-4.1/build"/>
<property name="jasper.deploy" value="${catalina.home}"/>
<property name="jasper.dist" value="${basedir}/dist"/>
<property name="test.failonerror" value="true"/>
<property name="test.runner" value="junit.textui.TestRunner"/>
<property name="tools.jar" value="${java.home}/lib/tools.jar"/>
<property name="ant.jar" value="${ant.home}/lib/ant.jar"/>
<property name="servlet-api.jar" value="${api.home}/jsr154/dist/lib/servlet-api.jar"/>
<property name="jsp-api.jar" value="${api.home}/jsr152/dist/lib/jsp-api.jar"/>
<!-- Construct Jasper classpath -->
<path id="jasper.classpath">
<pathelement location="${ant.jar}"/>
<pathelement location="${servlet-api.jar}"/>
<pathelement location="${jsp-api.jar}"/>
<pathelement location="${tools.jar}"/>
<pathelement location="${jasper-compiler-jdt.jar}"/>
<pathelement location="${xerces.jar}"/>
<pathelement location="${xercesImpl.jar}"/>
<pathelement location="${xml-apis.jar}"/>
<pathelement location="${commons-el.jar}"/>
<pathelement location="${commons-collections.jar}"/>
<pathelement location="${commons-logging.jar}"/>
<pathelement location="${commons-daemon-launcher.jar}"/>
<pathelement location="${jasper.build}/shared/classes"/>
</path>
<!-- Construct unit tests classpath -->
<path id="test.classpath">
<pathelement location="${ant.jar}"/>
<pathelement location="${junit.jar}"/>
<pathelement location="${servlet-api.jar}"/>
<pathelement location="${jsp-api.jar}"/>
<pathelement location="${tools.jar}"/>
<pathelement location="${xerces.jar}"/>
<pathelement location="${xercesImpl.jar}"/>
<pathelement location="${xml-apis.jar}"/>
<pathelement location="${commons-collections.jar}"/>
<pathelement location="${commons-launcher.jar}"/>
<pathelement location="${jasper.build}/shared/classes"/>
<pathelement location="${jasper.build}/tests"/>
</path>
<!-- =================== BUILD: Create Directories ====================== -->
<target name="build-prepare">
<available classname="junit.framework.TestCase" property="junit.present" />
<available property="launcher.present"
classname="org.apache.commons.launcher.Launcher"
classpath="${commons-daemon-launcher.jar}"/>
<available property="launcher.bootstrap.present"
file="${commons-daemon-launcher-bootstrap.class}"/>
<condition property="copy.launcher.jars">
<and>
<equals arg1="${launcher.present}" arg2="true" />
<equals arg1="${launcher.bootstrap.present}" arg2="true" />
</and>
</condition>
<mkdir dir="${jasper.build}"/>
<mkdir dir="${jasper.build}/bin"/>
<mkdir dir="${jasper.build}/common/classes"/>
<mkdir dir="${jasper.build}/common/lib"/>
<mkdir dir="${jasper.build}/shared/classes"/>
<mkdir dir="${jasper.build}/shared/lib"/>
</target>
<!-- =================== BUILD: Copy Launcher Files ===================== -->
<target name="copy-launcher.jars" if="copy.launcher.jars">
<!-- <copy todir="${jasper.build}/common/lib" file="${ant.jar}"/> -->
<copy todir="${jasper.build}/bin" file="${commons-daemon-launcher.jar}"/>
<copy todir="${jasper.build}/bin" file="${commons-daemon-launcher-bootstrap.class}"/>
<copy todir="${jasper.build}/bin">
<fileset dir="src/bin" includes="*-using-launcher.*,launcher.properties,jasper.xml" />
</copy>
</target>
<!-- =================== BUILD: Copy Static Files ======================= -->
<target name="build-static" depends="build-prepare,copy-launcher.jars">
<!-- Executable Commands -->
<copy todir="${jasper.build}/bin">
<fileset dir="src/bin" excludes="*-using-launcher.*,launcher.properties,jasper.xml" />
</copy>
<fixcrlf srcdir="${jasper.build}/bin" includes="*.sh" eol="lf"/>
<fixcrlf srcdir="${jasper.build}/bin" includes="*.bat" eol="crlf"/>
<chmod perm="+x" dir="${jasper.build}/bin" includes="*.sh"/>
</target>
<!-- ================= BUILD: Compile Server Components ================= -->
<target name="build-main" depends="build-static,build-only">
<!-- Extra operations: Supporting JAR Files -->
<copy todir="${jasper.build}/shared/lib" file="${commons-el.jar}"/>
</target>
<!-- Just build jasper -->
<target name="build-only">
<property name="jasper.classes" value="${jasper.build}/shared/classes"/>
<property name="jasper-compiler.jar" value="${jasper.build}/shared/lib/jasper-compiler.jar"/>
<property name="jasper-runtime.jar" value="${jasper.build}/shared/lib/jasper-runtime.jar"/>
<!-- Compile internal server components -->
<javac srcdir="src/share" destdir="${jasper.classes}"
debug="${compile.debug}"
deprecation="${compile.deprecation}"
source="${compile.source}"
optimize="${compile.optimize}"
excludes="**/CVS/**">
<classpath refid="jasper.classpath" />
</javac>
<!-- Copy static resource files -->
<copy todir="${jasper.classes}">
<fileset dir="src/share">
<include name="**/*.properties"/>
<include name="**/*.dtd"/>
</fileset>
</copy>
<!-- Jasper Compiler JAR File -->
<jar jarfile="${jasper-compiler.jar}">
<fileset dir="${jasper.classes}">
<include name="org/apache/jasper/compiler/**" />
<include name="org/apache/jasper/xmlparser/**" />
<include name="org/apache/jasper/servlet/**" />
<include name="org/apache/jasper/tagplugins/**" />
<exclude name="org/apache/jasper/Constants.class" />
<exclude name="org/apache/jasper/JasperException.class" />
<include name="org/apache/jasper/*.class" />
<!-- Javadoc and i18n exclusions -->
<exclude name="**/package.html" />
<exclude name="**/LocalStrings_*" />
</fileset>
</jar>
<!-- Jasper Runtime JAR File -->
<jar jarfile="${jasper-runtime.jar}">
<fileset dir="${jasper.classes}">
<include name="org/apache/jasper/Constants.class" />
<include name="org/apache/jasper/JasperException.class" />
<include name="org/apache/jasper/compiler/Localizer.class" />
<include name="org/apache/jasper/resources/**" />
<include name="org/apache/jasper/runtime/**" />
<include name="org/apache/jasper/security/**" />
<include name="org/apache/jasper/util/**" />
<!-- Javadoc and i18n exclusions -->
<exclude name="**/package.html" />
<exclude name="**/LocalStrings_*" />
</fileset>
</jar>
</target>
<!-- ================ BUILD: Create Jasper Javadocs ===================== -->
<target name="javadoc">
<delete dir="${jasper.build}/javadoc"/>
<mkdir dir="${jasper.build}/javadoc"/>
<javadoc packagenames="org.apache.jasper.*"
classpathref="jasper.classpath"
sourcepath="src/share"
destdir="${jasper.build}/javadoc"
author="true"
version="true"
windowtitle="Jasper Internal API Documentation"
doctitle="Jasper API"
bottom="Copyright &#169; 2000-2004 Apache Software Foundation. All Rights Reserved."
additionalparam="-breakiterator"
/>
</target>
<!-- ======================= BUILD: Clean Directory ===================== -->
<target name="build-clean">
<delete dir="${jasper.build}"/>
</target>
<!-- ==================== BUILD: Rebuild Everything ===================== -->
<target name="all" depends="build-clean,build-main"
description="Clean, build, and deploy Jasper component"/>
<!-- =============== BUILD: Compile Unit Tests ========================== -->
<target name="build-tests" depends="build-main" if="junit.present">
<mkdir dir="${jasper.build}/tests"/>
<!-- Compile unit test classes -->
<!--
<javac srcdir="src/test" destdir="${jasper.build}/tests"
deprecation="${compile.deprecation}"
debug="${compile.debug}"
source="${compile.source}"
optimize="off"
excludes="**/CVS/**">
<classpath refid="test.classpath"/>
</javac>
-->
</target>
<!-- ==================== BUILD: Execute Unit Tests ===================== -->
<target name="test" if="junit.present"
description="Run all unit test cases"
depends="build-tests">
</target>
<!-- ====================== DEPLOY: Create Directories ================== -->
<target name="deploy-prepare">
<mkdir dir="${jasper.deploy}"/>
<mkdir dir="${jasper.deploy}/bin"/>
<mkdir dir="${jasper.deploy}/common/lib"/>
</target>
<!-- ====================== DEPLOY: Copy Static Files =================== -->
<target name="deploy-static" depends="build-main,deploy-prepare">
<!-- Executable Commands -->
<copy todir="${jasper.deploy}/bin">
<fileset dir="${jasper.build}/bin" />
</copy>
<fixcrlf srcdir="${jasper.deploy}/bin" includes="*.sh" eol="lf"/>
<fixcrlf srcdir="${jasper.deploy}/bin" includes="*.bat" eol="crlf"/>
<chmod perm="+x" file="${jasper.deploy}/bin/jspc.sh"/>
</target>
<!-- ====================== DEPLOY: Create Jasper JARs ================== -->
<target name="deploy" depends="deploy-static,build-main"
description="Build and deploy Jasper component">
<echo message="Deploy to ${jasper.deploy}/common/lib" />
<!-- Jasper Compiler JAR File -->
<copy file="${jasper.build}/shared/lib/jasper-compiler.jar"
tofile="${jasper.deploy}/common/lib/jasper-compiler.jar" />
<copy file="${jasper.build}/shared/lib/jasper-runtime.jar"
tofile="${jasper.deploy}/common/lib/jasper-runtime.jar" />
<!-- Copy JARs -->
<copy todir="${jasper.deploy}/common/lib" file="${jasper-compiler-jdt.jar}"/>
<copy todir="${jasper.deploy}/common/lib" file="${jsp-api.jar}"/>
<copy todir="${jasper.deploy}/common/lib" file="${commons-el.jar}"/>
</target>
<!-- ================ DIST: Create Distribution ========================= -->
<target name="dist" depends="build-main"
description="Create binary distribution">
<!-- Executable commands -->
<mkdir dir="${jasper.dist}/bin"/>
<copy todir="${jasper.dist}/bin">
<fileset dir="${jasper.build}/bin" />
</copy>
<fixcrlf srcdir="${jasper.dist}/bin" includes="*.sh" eol="lf"/>
<fixcrlf srcdir="${jasper.dist}/bin" includes="*.bat" eol="crlf"/>
<chmod perm="+x" file="${jasper.dist}/bin/jspc.sh"/>
<!-- Jasper Compiler and Runtime JAR Files -->
<mkdir dir="${jasper.dist}/shared/lib"/>
<copy todir="${jasper.dist}/shared/lib">
<fileset dir="${jasper.build}/shared/lib"/>
</copy>
</target>
<!-- ======================== DIST: Clean Directory ===================== -->
<target name="dist-clean">
<delete dir="${jasper.dist}"/>
</target>
<!-- ====================== Convenient Synonyms ========================= -->
<target name="clean" depends="build-clean, dist-clean"
description="Clean build and dist directories"/>
</project>