| <?xml version="1.0"?> |
| <!-- Build file for Tomcat Native --> |
| <project name="Tomcat Native" default="compile" basedir="."> |
| <!-- Give user a chance to override without editing this file |
| (and without typing -D each time it compiles it |
| --> |
| <property file="${user.home}/.ant.properties" /> |
| <property file="${user.home}/build.properties" /> |
| <property file="build.properties" /> |
| <property file=".ant.properties" /> |
| |
| <!-- Initialization properties --> |
| <property name="name" value="Tomcat Native"/> |
| <property name="title" value="Tomcat Native Library"/> |
| <property name="version" value="1.0.0"/> |
| <property name="version.number" value="100"/> |
| <property name="project" value="tomcat-native"/> |
| <property name="build.dir" value="./dist"/> |
| <property name="build.src" value="${build.dir}/src"/> |
| <property name="build.dest" value="${build.dir}/classes"/> |
| <property name="src.dir" value="."/> |
| <property name="final.name" value="${project}-${version}"/> |
| <property name="dist.root" value="./dist"/> |
| <property name="ant.home" value="."/> |
| |
| <property name="debug" value="off"/> |
| <property name="optimize" value="on"/> |
| <property name="deprecation" value="on"/> |
| |
| <property name="docs.src" value="./xdocs"/> |
| <property name="docs.dest" value="${dist.root}/doc"/> |
| <property name="docs.dest.print" value="${dist.root}/doc/printable"/> |
| <property name="test.runner" value="junit.textui.TestRunner"/> |
| <property name="test.dir" value="${build.dest}/test"/> |
| <property name="examples.dir" value="${build.dest}/examples"/> |
| <property name="junit.home" value="/usr/local/junit3.8"/> |
| <property name="junit.jar" value="${junit.home}/junit.jar"/> |
| <property name="tc.library.path" value="${basedir}/native/.libs"/> |
| |
| <!-- The base directory for component sources --> |
| <property name="source.home" value="java"/> |
| |
| <!-- Build classpath --> |
| <path id="classpath"> |
| <pathelement location="${build.dest}/java"/> |
| </path> |
| |
| <!-- Test classpath --> |
| <path id="test.classpath"> |
| <pathelement location="${build.dest}/java"/> |
| <pathelement location="${build.dest}/test"/> |
| <pathelement location="${junit.jar}"/> |
| </path> |
| |
| <!-- Examples classpath --> |
| <path id="examples.classpath"> |
| <pathelement location="${build.dest}/java"/> |
| <pathelement location="${build.dest}/examples"/> |
| </path> |
| |
| <!-- =================================================================== --> |
| <!-- prints the environment --> |
| <!-- =================================================================== --> |
| <target name="env"> |
| <echo message="java.home = ${java.home}"/> |
| <echo message="user.home = ${user.home}"/> |
| <!-- |
| <echo message="java.class.path = ${java.class.path}"/> |
| --> |
| <echo message="tc.library.path = ${tc.library.path}"/> |
| <echo message=""/> |
| </target> |
| |
| <target name="prepare" depends="env"> |
| <mkdir dir="${build.dir}"/> |
| </target> |
| |
| <!-- =================================================================== --> |
| <!-- Creates the API documentation --> |
| <!-- =================================================================== --> |
| <target name="javadocs" description="Java documentation"> |
| <mkdir dir="${docs.dest}"/> |
| <mkdir dir="${docs.dest}/api"/> |
| <javadoc sourcepath="${build.src}/java" |
| destdir="${docs.dest}/api" |
| author="true" |
| version="true" |
| overview="${src.dir}/java/overview.html" |
| packagenames="org.apache.tomcat.*" |
| windowtitle="${title} (Version ${version})" |
| doctitle="<h1>${title} (Version ${version})</h1>" |
| bottom="Copyright 2002-2004 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.-->"> |
| <classpath refid="classpath"/> |
| </javadoc> |
| </target> |
| |
| <!-- =================================================================== --> |
| <!-- Cleans up the build directory --> |
| <!-- =================================================================== --> |
| <target name="clean"> |
| <delete dir="${build.dir}"/> |
| </target> |
| |
| <!-- =================================================================== --> |
| <!-- Compiles the source directory --> |
| <!-- =================================================================== --> |
| <target name="compile" depends="prepare"> |
| <mkdir dir="${build.dest}"/> |
| <mkdir dir="${build.dest}/java"/> |
| <mkdir dir="${build.src}"/> |
| <mkdir dir="${build.src}/java"/> |
| <tstamp> |
| <format property="TODAY" pattern="MMM d yyyy" locale="en"/> |
| <format property="TSTAMP" pattern="hh:mm:ss"/> |
| </tstamp> |
| <!-- Copy static resource files --> |
| <filter token="VERSION" value="${version}"/> |
| <filter token="VERSION_NUMBER" value="${version.number}"/> |
| <filter token="VERSION_BUILT" value="${TODAY} ${TSTAMP}"/> |
| <copy todir="${build.src}/java" filtering="yes"> |
| <fileset dir="${src.dir}/java"> |
| <include name="**/*.java"/> |
| <include name="**/*.xml"/> |
| <include name="**/*.properties"/> |
| </fileset> |
| </copy> |
| |
| <javac srcdir="${build.src}/java" |
| destdir="${build.dest}/java" |
| debug="${debug}" |
| deprecation="${deprecation}" |
| optimize="${optimize}"> |
| <classpath refid="classpath"/> |
| </javac> |
| <copy todir="${build.dest}/java" filtering="yes"> |
| <fileset dir="${build.src}/java"> |
| <include name="**/*.xml"/> |
| <include name="**/*.properties"/> |
| </fileset> |
| </copy> |
| </target> |
| |
| <target name="compile-only" |
| description="Compile shareable components"> |
| |
| <javac srcdir="${source.home}" |
| destdir="${build.home}/classes" |
| debug="${compile.debug}" |
| deprecation="${compile.deprecation}" |
| optimize="${compile.optimize}"> |
| <classpath refid="classpath"/> |
| </javac> |
| <copy todir="${build.home}/classes" filtering="on"> |
| <fileset dir="${source.home}" excludes="**/*.java"/> |
| </copy> |
| </target> |
| |
| <!-- =================================================================== --> |
| <!-- Compiles the examples directory --> |
| <!-- =================================================================== --> |
| <target name="examples" depends="compile"> |
| <mkdir dir="${build.dest}"/> |
| <mkdir dir="${build.dest}/examples"/> |
| <mkdir dir="${build.src}"/> |
| <mkdir dir="${build.src}/examples"/> |
| <tstamp> |
| <format property="TODAY" pattern="MMM d yyyy" locale="en"/> |
| <format property="TSTAMP" pattern="hh:mm:ss"/> |
| </tstamp> |
| <!-- Copy static resource files --> |
| <filter token="VERSION" value="${version}"/> |
| <filter token="VERSION_NUMBER" value="${version.number}"/> |
| <filter token="VERSION_BUILT" value="${TODAY} ${TSTAMP}"/> |
| <copy todir="${build.src}/examples" filtering="yes"> |
| <fileset dir="${src.dir}/examples"> |
| <include name="**/*.java"/> |
| <include name="**/*.xml"/> |
| <include name="**/*.properties"/> |
| </fileset> |
| </copy> |
| |
| <javac srcdir="${build.src}/examples" |
| destdir="${build.dest}/examples" |
| debug="${debug}" |
| deprecation="${deprecation}" |
| optimize="${optimize}"> |
| <classpath refid="examples.classpath"/> |
| </javac> |
| <copy todir="${build.dest}/examples" filtering="yes"> |
| <fileset dir="${build.src}/examples"> |
| <include name="**/*.xml"/> |
| <include name="**/*.properties"/> |
| </fileset> |
| </copy> |
| </target> |
| |
| <!-- ================================================================== --> |
| <!-- Make Tomcat Native jar --> |
| <!-- ================================================================== --> |
| <target name="jar" depends="compile" |
| description="Generates the Jar file"> |
| <jar |
| destfile="${build.dir}/${final.name}.jar" |
| basedir="${build.dir}/classes/java" |
| excludes="**/*.java"> |
| <manifest> |
| <section name="org/apache/tomcat/jni"> |
| <attribute name="Specification-Title" value="Tomcat Native"/> |
| <attribute name="Specification-Version" value="${version}"/> |
| <attribute name="Specification-Vendor" value="Apache Software Foundation"/> |
| <attribute name="Implementation-Title" value="org.apache.tomcat.jni"/> |
| <attribute name="Implementation-Vendor" value="Apache Software Foundation"/> |
| <attribute name="Implementation-Vendor-Id" value="org.apache"/> |
| <attribute name="Implementation-Version" value="${version} (build ${DSTAMP} ${TSTAMP})"/> |
| </section> |
| </manifest> |
| </jar> |
| </target> |
| |
| <!-- =================================================================== --> |
| <!-- Compiles the test directory --> |
| <!-- =================================================================== --> |
| <target name="compile-tests" depends="compile"> |
| <mkdir dir="${build.dest}/test"/> |
| <mkdir dir="${build.src}/test"/> |
| <copy todir="${build.src}/test" filtering="yes"> |
| <fileset dir="${src.dir}/test"> |
| <include name="**/*.java"/> |
| <include name="**/*.xml"/> |
| <include name="**/*.properties"/> |
| </fileset> |
| </copy> |
| <javac srcdir="${build.src}/test" |
| destdir="${build.dest}/test" |
| debug="${debug}" |
| deprecation="${deprecation}" |
| optimize="${optimize}"> |
| |
| <classpath refid="test.classpath"/> |
| </javac> |
| </target> |
| |
| <!-- =================================================================== --> |
| <!-- Junit tests --> |
| <!-- =================================================================== --> |
| <target name="test.file" depends="compile-tests"> |
| <echo message="Running Tomcat Native package tests ..."/> |
| <java dir="${test.dir}" classname="${test.runner}" fork="yes" failonerror="${test.failonerror}"> |
| <arg value="org.apache.tomcat.jni.FileTestSuite"/> |
| <classpath refid="test.classpath"/> |
| </java> |
| </target> |
| |
| <!-- =================================================================== --> |
| <!-- Compiles the examples directory --> |
| <!-- =================================================================== --> |
| <target name="compile-examples" depends="compile"> |
| <mkdir dir="${build.dest}/examples"/> |
| <mkdir dir="${build.src}/examples"/> |
| <copy todir="${build.src}/examples" filtering="yes"> |
| <fileset dir="${src.dir}/examples"> |
| <include name="**/*.java"/> |
| <include name="**/*.xml"/> |
| <include name="**/*.properties"/> |
| </fileset> |
| </copy> |
| <javac srcdir="${build.src}/examples" |
| destdir="${build.dest}/examples" |
| debug="${debug}" |
| deprecation="${deprecation}" |
| optimize="${optimize}"> |
| |
| <classpath refid="examples.classpath"/> |
| </javac> |
| </target> |
| |
| <!-- =================================================================== --> |
| <!-- excutes the examples --> |
| <!-- =================================================================== --> |
| <target name="echo-example" depends="examples"> |
| <echo message="Running Tomcat Native Echo example ..."/> |
| <java dir="${examples.dir}" classname="org.apache.tomcat.jni.Echo" |
| fork="yes" failonerror="${test.failonerror}"> |
| <classpath refid="examples.classpath"/> |
| <env key="PATH" path="${tc.library.path}:${java.library.path}"/> |
| <env key="Path" path="${tc.library.path}:${java.library.path}"/> |
| <jvmarg value="-Djava.library.path=${tc.library.path}"/> |
| </java> |
| </target> |
| <target name="server-example" depends="examples"> |
| <echo message="Running Tomcat Native SSL Server example ..."/> |
| <java dir="${examples.dir}" classname="org.apache.tomcat.jni.SSLServer" |
| fork="yes" failonerror="${test.failonerror}"> |
| <env key="PATH" path="${tc.library.path}:${java.library.path}"/> |
| <env key="Path" path="${tc.library.path}:${java.library.path}"/> |
| <classpath refid="examples.classpath"/> |
| <jvmarg value="-Djava.library.path=${tc.library.path}"/> |
| </java> |
| </target> |
| <target name="locals-example" depends="examples"> |
| <echo message="Running Tomcat Native Local Server example ..."/> |
| <java dir="${examples.dir}" classname="org.apache.tomcat.jni.LocalServer" |
| fork="yes" failonerror="${test.failonerror}"> |
| <classpath refid="examples.classpath"/> |
| <env key="PATH" path="${tc.library.path}:${java.library.path}"/> |
| <env key="Path" path="${tc.library.path}:${java.library.path}"/> |
| <jvmarg value="-Djava.library.path=${tc.library.path}"/> |
| </java> |
| </target> |
| </project> |