<?xml version="1.0"?>
<!--
  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.
-->
<!-- 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=".ant.properties" />
    <property file="build.properties" />
    <property file="build.properties.default"/>

    <!-- Initialization properties -->
    <property name="project"               value="tomcat-native" />
    <property name="name"                  value="Tomcat Native" />
    <property name="title"                 value="Tomcat Native Library"/>
    <property name="year"                  value="2016" />
    <property name="version.major"         value="1" />
    <property name="version.minor"         value="1" />
    <property name="version.build"         value="34" />
    <property name="version.patch"         value="0" />
    <property name="version.suffix"        value="" />

    <property name="junit.home"            value="/usr/local/junit3.8"/>
    <property name="junit.jar"             value="${junit.home}/junit.jar"/>
    <property name="test.runner"           value="junit.textui.TestRunner"/>

    <property name="version"               value="${version.major}.${version.minor}.${version.build}${version.suffix}" />
    <property name="version.number"        value="${version.major}.${version.minor}.${version.build}.${version.patch}" />
    <property name="version.major.minor"   value="${version.major}.${version.minor}" />

    <property name="final.name"            value="${project}-${version}" />

    <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="dist.root" value="./dist"/>
    <property name="ant.home" value="."/>

    <property name="compile.source" value="1.7"/>
    <property name="compile.target" value="1.7"/>
    <property name="compile.debug" value="off"/>
    <property name="compile.optimize" value="on"/>
    <property name="compile.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.dir" value="${build.dest}/test"/>
    <property name="examples.dir" value="${build.dest}/examples"/>

    <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>

    <!-- Download and dependency building -->
    <target name="proxyflags">
      <!-- check proxy parameters. -->
      <condition property="useproxy">
        <equals arg1="${proxy.use}" arg2="on" />
      </condition>
    </target>

    <target name="setproxy" depends="proxyflags" if="useproxy">
      <taskdef name="setproxy"
              classname="org.apache.tools.ant.taskdefs.optional.net.SetProxy" />
      <setproxy proxyhost="${proxy.host}" proxyport="${proxy.port}"
                proxyuser="${proxy.user}" proxypassword="${proxy.password}" />
      <echo message="Using ${proxy.host}:${proxy.port} to download ${sourcefile}"/>
    </target>

    <target name="testexist">
      <echo message="Testing for ${destfile}"/>
      <available file="${destfile}" property="exist"/>
    </target>

    <target name="downloadgz" unless="exist" depends="setproxy,testexist">
      <!-- Download and extract the package -->
      <get src="${sourcefile}" dest="${base.path}/file.tar.gz" />
      <gunzip src="${base.path}/file.tar.gz" dest="${base.path}/file.tar"/>
      <untar src="${base.path}/file.tar" dest="${base.path}"/>
      <delete file="${base.path}/file.tar"/>
      <delete file="${base.path}/file.tar.gz"/>
    </target>

    <target name="downloadzip" unless="exist" depends="setproxy,testexist">
      <!-- Download and extract the package -->
      <get src="${sourcefile}" dest="${base.path}/file.zip" />
      <mkdir dir="${destdir}" />
      <unzip src="${base.path}/file.zip" dest="${destdir}"/>
      <delete file="${base.path}/file.zip"/>
    </target>

    <target name="downloadfile" unless="exist" depends="setproxy,testexist">
      <!-- Download extract the file -->
      <mkdir dir="${destdir}" />
      <get src="${sourcefile}" dest="${destfile}" />
    </target>

    <target name="download" description="Download needed dependencies">

      <mkdir dir="${base.path}"/>

      <antcall target="downloadzip">
        <param name="sourcefile" value="${junit.loc}"/>
        <param name="destfile" value="${junit.jar}"/>
        <param name="destdir" value="${base.path}"/>
      </antcall>
    </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="&lt;h1&gt;${title} (Version ${version})&lt;/h1&gt;"
            bottom="Copyright 2002-2016 The Apache Software Foundation.&lt;!--

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.--&gt;">
            <classpath refid="classpath"/>
        </javadoc>
     </target>

    <!-- =================================================================== -->
    <!-- Cleans up the build directory                                       -->
    <!-- =================================================================== -->
    <target name="clean" description="Clean build directory">
        <delete dir="${build.dir}"/>
    </target>

    <!-- =================================================================== -->
    <!-- Compiles the source directory                                       -->
    <!-- =================================================================== -->
    <target name="compile" depends="prepare" description="Compile Java sources">
        <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" encoding="ISO-8859-1">
            <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"
            source="${compile.source}"
            target="${compile.target}"
            debug="${compile.debug}"
            deprecation="${compile.deprecation}"
            optimize="${compile.optimize}"
            encoding="ISO-8859-1">
            <classpath refid="classpath"/>
        </javac>

        <copy todir="${build.dest}/java" filtering="yes" encoding="ISO-8859-1">
            <fileset dir="${build.src}/java">
                <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" description="Compile Java test classes">
        <mkdir dir="${build.dest}"/>
        <mkdir dir="${build.dest}/test"/>
        <mkdir dir="${build.src}"/>
        <mkdir dir="${build.src}/test"/>
        <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}/test" filtering="yes" encoding="ISO-8859-1">
            <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"
            source="${compile.source}"
            target="${compile.target}"
            debug="on"
            deprecation="${compile.deprecation}"
            optimize="${compile.optimize}"
            encoding="ISO-8859-1">
            <classpath refid="test.classpath"/>
        </javac>
        <copy todir="${build.dest}/test" filtering="yes" encoding="ISO-8859-1">
            <fileset dir="${build.src}/test">
                <include name="**/*.xml"/>
                <include name="**/*.properties"/>
            </fileset>
        </copy>
    </target>

    <!-- =================================================================== -->
    <!-- Junit tests                                                         -->
    <!-- =================================================================== -->
    <target name="test" depends="compile-tests" description="Run the 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"/>
            <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>
        <java dir="${test.dir}" classname="${test.runner}" fork="yes" failonerror="${test.failonerror}">
            <arg value="org.apache.tomcat.jni.SocketServerTestSuite"/>
            <classpath refid="test.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>

    <!-- =================================================================== -->
    <!-- Compiles the examples directory                                     -->
    <!-- =================================================================== -->
    <target name="compile-examples" depends="compile" description="Compile example Java classes">
        <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" encoding="ISO-8859-1">
            <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"
            source="${compile.source}"
            target="${compile.target}"
            debug="${compile.debug}"
            deprecation="${compile.deprecation}"
            optimize="${compile.optimize}"
            encoding="ISO-8859-1">
            <classpath refid="examples.classpath"/>
        </javac>
        <copy todir="${build.dest}/examples" filtering="yes" encoding="ISO-8859-1">
            <fileset dir="${build.src}/examples">
                <include name="**/*.xml"/>
                <include name="**/*.properties"/>
            </fileset>
        </copy>
    </target>

    <!-- =================================================================== -->
    <!-- executes the examples                                                -->
    <!-- =================================================================== -->
    <target name="run-echo" depends="compile-examples" description="Run the Echo example">
        <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="run-ssl-server" depends="compile-examples" description="Run the SSL Server example">
        <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="run-local-server" depends="compile-examples" description="Run the Local Server example">
        <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>
