<?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="Tomcat 11.0" default="deploy" basedir="."
  xmlns:if="ant:if"
  xmlns:unless="ant:unless"
  xmlns:jacoco="antlib:org.jacoco.ant"
  >

  <!-- ===================== Initialize Property Values ==================== -->

  <!-- We read customizable properties from "build.properties.default"       -->
  <!-- and also from "build.properties" if it exists.                        -->
  <!-- The values in "build.properties" have stronger preference.            -->
  <!-- If you want to customize your build, you can either change the values -->
  <!-- directly in the default file, or create a new build.properties and    -->
  <!-- set the values there. This way you don't have to change a file which  -->
  <!-- is part of the original project source code.                          -->
  <!-- See "build.properties.default" in the top level directory for some    -->
  <!-- property values you may customize.                                    -->
  <property file="${user.home}/build.properties"/>
  <property file="build.properties"/>
  <property file="build.properties.release"/>
  <property file="build.properties.default"/>

  <!-- Check Ant Version -->
  <fail message="Ant version ${ant.version.required} or newer is required (${ant.version} is installed)">
    <condition>
      <not><antversion atleast="${ant.version.required}" /></not>
    </condition>
  </fail>

  <!-- Project Name -->
  <property name="project"               value="apache-tomcat" />

  <!-- Version numbers -->
  <!-- Keep in sync with webapps/docs/tomcat-docs.xsl -->
  <property name="version"               value="${version.major}.${version.minor}.${version.build}${version.suffix}${version.dev}" />
  <property name="version.number"        value="${version.major}.${version.minor}.${version.build}.${version.patch}" />
  <property name="version.major.minor"   value="${version.major}.${version.minor}" />

  <!-- constant to declare a file binary for md5sum -->
  <property name="md5sum.binary-prefix"  value=" *" />

  <!-- Exact spec versions (for the manifests etc.) -->
  <property name="servlet.spec.version"    value="6.1" />
  <property name="servlet.revision"        value="-SNAPSHOT" />
  <property name="jsp.spec.version"        value="4.0" />
  <property name="jsp.revision"            value="-SNAPSHOT" />
  <property name="el.spec.version"         value="6.0" />
  <property name="el.revision"             value="-SNAPSHOT" />
  <property name="websocket.spec.version"  value="2.1" />
  <property name="websocket.revision"      value="" />
  <property name="jaspic.spec.version"     value="3.0" />
  <property name="jaspic.revision"         value="" />
  <property name="annotation.spec.version" value="2.1" />
  <property name="annotation.revision"     value=".1" />

  <!-- Release artifact base names -->
  <property name="final.name"            value="${project}-${version}" />
  <property name="final-src.name"        value="${project}-${version}-src" />

  <!-- Locations to create build artifacts -->
  <property name="tomcat.home"           value="${basedir}"/>
  <property name="tomcat-nb.home"        value="${basedir}/nbproject" />
  <property name="tomcat.output"         value="${basedir}/output"/>
  <property name="tomcat.bnd"            value="${basedir}/res/bnd"/>
  <property name="tomcat.build"          value="${tomcat.output}/build"/>
  <property name="tomcat.classes"        value="${tomcat.output}/classes"/>
  <property name="tomcat.deployer"       value="${tomcat.output}/deployer"/>
  <property name="tomcat.dist"           value="${tomcat.output}/dist"/>
  <property name="tomcat.embed"          value="${tomcat.output}/embed"/>
  <property name="tomcat.embed.sources"  value="${tomcat.output}/embed-src-jars"/>
  <property name="tomcat.graal"          value="${tomcat.output}/graal"/>
  <property name="tomcat.i18n"           value="${tomcat.output}/i18n"/>
  <property name="tomcat.manifests"      value="${tomcat.output}/manifests"/>
  <property name="tomcat.release"        value="${tomcat.output}/release"/>
  <property name="tomcat.src.jars"       value="${tomcat.output}/src-jars"/>
  <property name="test.classes"          value="${tomcat.output}/testclasses"/>
  <property name="test.run.classes"      value="${tomcat.output}/classes"/>
  <property name="test.temp"             value="${tomcat.output}/test-tmp"/>
  <property name="test.basedir"          value="${tomcat.build}"/>
  <property name="test.reports"          value="${test.basedir}/logs"/>
  <property name="test.apr.loc"          value="${test.basedir}/bin"/>
  <!-- base directory for jdbc-pool -->
  <property name="tomcat.jdbc.dir"       value="${basedir}/modules/jdbc-pool"/>
  <!-- build output directory for jdbc-pool -->
  <property name="tomcat.pool"           value="${tomcat.output}/jdbc-pool"/>
  <!-- build output directory for generated reflectionless code -->
  <property name="tomcat.xreflect"       value="${tomcat.output}/xreflect"/>

  <!-- Jakarta EE 11 platform requires Java 21+ -->
  <!-- Keep in sync with webapps/docs/tomcat-docs.xsl -->
  <property name="compile.release" value="21"/>
  <property name="min.java.version" value="21"/>
  <property name="build.java.version" value="21"/>

  <!-- Locations to create the JAR artifacts -->
  <!-- Standard JARs -->
  <property name="bootstrap.jar" value="${tomcat.build}/bin/bootstrap.jar"/>
  <property name="tomcat-juli.jar" value="${tomcat.build}/bin/tomcat-juli.jar"/>

  <property name="annotations-api.jar" value="${tomcat.build}/lib/annotations-api.jar"/>
  <property name="servlet-api.jar" value="${tomcat.build}/lib/servlet-api.jar"/>
  <property name="jsp-api.jar" value="${tomcat.build}/lib/jsp-api.jar"/>
  <property name="el-api.jar" value="${tomcat.build}/lib/el-api.jar"/>
  <property name="websocket-api.jar" value="${tomcat.build}/lib/websocket-api.jar"/>
  <property name="websocket-client-api.jar" value="${tomcat.build}/lib/websocket-client-api.jar"/>
  <property name="jaspic-api.jar" value="${tomcat.build}/lib/jaspic-api.jar"/>
  <property name="tomcat-websocket.jar" value="${tomcat.build}/lib/tomcat-websocket.jar"/>
  <property name="catalina.jar" value="${tomcat.build}/lib/catalina.jar"/>
  <property name="catalina-tribes.jar" value="${tomcat.build}/lib/catalina-tribes.jar"/>
  <property name="catalina-ssi.jar" value="${tomcat.build}/lib/catalina-ssi.jar"/>
  <property name="catalina-ha.jar" value="${tomcat.build}/lib/catalina-ha.jar"/>
  <property name="catalina-ant.jar" value="${tomcat.build}/lib/catalina-ant.jar"/>
  <property name="catalina-storeconfig.jar" value="${tomcat.build}/lib/catalina-storeconfig.jar"/>
  <property name="tomcat-coyote.jar" value="${tomcat.build}/lib/tomcat-coyote.jar"/>
  <property name="tomcat-dbcp.jar" value="${tomcat.build}/lib/tomcat-dbcp.jar"/>
  <property name="tomcat-jni.jar" value="${tomcat.build}/lib/tomcat-jni.jar"/>
  <property name="tomcat-api.jar" value="${tomcat.build}/lib/tomcat-api.jar"/>
  <property name="tomcat-util.jar" value="${tomcat.build}/lib/tomcat-util.jar"/>
  <property name="tomcat-util-scan.jar" value="${tomcat.build}/lib/tomcat-util-scan.jar"/>

  <property name="jasper.jar" value="${tomcat.build}/lib/jasper.jar"/>
  <property name="jasper-el.jar" value="${tomcat.build}/lib/jasper-el.jar"/>

  <!-- Standard Source JARs -->
  <property name="bootstrap-src.jar" value="${tomcat.src.jars}/bootstrap-src.jar"/>
  <property name="tomcat-juli-src.jar" value="${tomcat.src.jars}/tomcat-juli-src.jar"/>

  <property name="annotations-api-src.jar" value="${tomcat.src.jars}/annotations-api-src.jar"/>
  <property name="servlet-api-src.jar" value="${tomcat.src.jars}/servlet-api-src.jar"/>
  <property name="jsp-api-src.jar" value="${tomcat.src.jars}/jsp-api-src.jar"/>
  <property name="el-api-src.jar" value="${tomcat.src.jars}/el-api-src.jar"/>
  <property name="websocket-api-src.jar" value="${tomcat.src.jars}/websocket-api-src.jar"/>
  <property name="websocket-client-api-src.jar" value="${tomcat.src.jars}/websocket-client-api-src.jar"/>
  <property name="jaspic-api-src.jar" value="${tomcat.src.jars}/jaspic-api-src.jar"/>
  <property name="tomcat-websocket-src.jar" value="${tomcat.src.jars}/tomcat-websocket-src.jar"/>
  <property name="catalina-src.jar" value="${tomcat.src.jars}/catalina-src.jar"/>
  <property name="catalina-tribes-src.jar" value="${tomcat.src.jars}/catalina-tribes-src.jar"/>
  <property name="catalina-ssi-src.jar" value="${tomcat.src.jars}/catalina-ssi-src.jar"/>
  <property name="catalina-ha-src.jar" value="${tomcat.src.jars}/catalina-ha-src.jar"/>
  <property name="catalina-ant-src.jar" value="${tomcat.src.jars}/catalina-ant-src.jar"/>
  <property name="catalina-storeconfig-src.jar" value="${tomcat.src.jars}/catalina-storeconfig-src.jar"/>
  <property name="tomcat-jni-src.jar" value="${tomcat.src.jars}/tomcat-jni-src.jar"/>
  <property name="tomcat-coyote-src.jar" value="${tomcat.src.jars}/tomcat-coyote-src.jar"/>
  <property name="tomcat-dbcp-src.jar" value="${tomcat.src.jars}/tomcat-dbcp-src.jar"/>
  <property name="tomcat-api-src.jar" value="${tomcat.src.jars}/tomcat-api-src.jar"/>
  <property name="tomcat-util-src.jar" value="${tomcat.src.jars}/tomcat-util-src.jar"/>
  <property name="tomcat-util-scan-src.jar" value="${tomcat.src.jars}/tomcat-util-scan-src.jar"/>

  <property name="jasper-src.jar" value="${tomcat.src.jars}/jasper-src.jar"/>
  <property name="jasper-el-src.jar" value="${tomcat.src.jars}/jasper-el-src.jar"/>

  <!-- Embedded JARs & source JARs -->
  <property name="tomcat-embed-core.jar" value="${tomcat.embed}/tomcat-embed-core.jar"/>
  <property name="tomcat-embed-programmatic.jar" value="${tomcat.embed}/tomcat-embed-programmatic.jar"/>
  <property name="tomcat-embed-jasper.jar" value="${tomcat.embed}/tomcat-embed-jasper.jar"/>
  <property name="tomcat-embed-el.jar" value="${tomcat.embed}/tomcat-embed-el.jar"/>
  <property name="tomcat-embed-websocket.jar" value="${tomcat.embed}/tomcat-embed-websocket.jar"/>

  <property name="tomcat-embed-core-sources.jar" value="${tomcat.embed.sources}/tomcat-embed-core-src.jar"/>
  <property name="tomcat-embed-programmatic-sources.jar" value="${tomcat.embed.sources}/tomcat-embed-programmatic-src.jar"/>
  <property name="tomcat-embed-jasper-sources.jar" value="${tomcat.embed.sources}/tomcat-embed-jasper-src.jar"/>
  <property name="tomcat-embed-el-sources.jar" value="${tomcat.embed.sources}/tomcat-embed-el-src.jar"/>
  <property name="tomcat-embed-websocket-sources.jar" value="${tomcat.embed.sources}/tomcat-embed-websocket-src.jar"/>

  <!-- jdbc-pool JARs & source JARs -->
  <property name="tomcat-jdbc.jar" value="${tomcat.pool}/tomcat-jdbc.jar"/>
  <property name="tomcat-jdbc-src.jar" value="${tomcat.pool}/tomcat-jdbc-src.jar"/>

  <!-- Tests To Run -->
  <property name="test.name" value="**/Test*.java"/>
  <property name="test.formatter" value="-Dorg.apache.juli.formatter=java.util.logging.SimpleFormatter"/>
  <property name="test.relaxTiming" value="false"/>

  <!-- Code coverage settings -->
  <property name="coverage.out" value="${tomcat.output}/coverage"/>
  <property name="coverage.datafile" value="${coverage.out}/jacoco.exec"/>

  <!-- SpotBugs settings -->
  <property name="spotbugs.out" value="${tomcat.output}/spotbugs"/>
  <property name="spotbugs.report.format" value="html"/>
  <property name="spotbugs.report.level" value="low"/>

  <!-- Workaround against http://bugs.sun.com/view_bug.do?bug_id=6202721 -->
  <available file="/dev/urandom" property="test.jvmarg.egd" value="-Djava.security.egd=file:/dev/./urandom"/>
  <!-- JREs may fail to start with an empty argument so provide a dummy      -->
  <!-- value here for those cases, such as Windows, where no value will be   -->
  <!-- set above.                                                            -->
  <property name="test.jvmarg.egd" value="-Dignore" />

  <!-- Location of OpenSSL binary (file name, not directory) -->
  <!-- The OpenSSL tests cases be disabled by specifying an invalid path here -->
  <property name="test.openssl.path" value="" />

  <!-- Include .gitignore in src distributions. -->
  <!-- .git and .gitignore are in defaultexcludes since Ant 1.8.2 -->
  <defaultexcludes add="**/.git" />
  <defaultexcludes add="**/.git/**" />
  <defaultexcludes remove="**/.gitignore" />
  <!--<defaultexcludes echo="true" />-->

  <!-- Classpaths -->
  <path id="compile.classpath">
    <pathelement location="${bnd.jar}"/>
    <pathelement location="${jdt.jar}"/>
    <pathelement location="${migration-lib.jar}"/>
  </path>

  <path id="tomcat.classpath">
    <pathelement path="${test.run.classes}"/>
  </path>

  <path id="tomcat.test.classpath">
    <pathelement location="${test.basedir}/webapps/examples/WEB-INF/classes"/>
    <pathelement location="${test.classes}"/>
    <pathelement location="${tomcat.i18n}"/>
    <pathelement location="${junit.jar}"/>
    <pathelement location="${hamcrest.jar}"/>
    <pathelement location="${easymock.jar}"/>
    <pathelement location="${cglib.jar}"/>
    <pathelement location="${objenesis.jar}"/>
    <pathelement location="${unboundid.jar}"/>
    <pathelement location="${derby.jar}"/>
    <pathelement location="${derby-shared.jar}"/>
    <pathelement location="${derby-tools.jar}"/>
    <pathelement location="${openssl-lib.jar}"/>
    <path refid="compile.classpath" />
    <path refid="tomcat.classpath" />
  </path>

  <!-- Classpath filter set -->
  <filterset id="classpath.filters">
    <filter token="ANT_JAR" value="${ant.home}/lib/ant.jar"/>
    <filter token="JDT_JAR" value="${jdt.jar}"/>
    <filter token="EASYMOCK_JAR" value="${easymock.jar}"/>
    <filter token="HAMCREST_JAR" value="${hamcrest.jar}"/>
    <filter token="CGLIB_JAR" value="${cglib.jar}"/>
    <filter token="OBJENESIS_JAR" value="${objenesis.jar}"/>
    <filter token="BND_JAR" value="${bnd.jar}"/>
    <filter token="MIGRATION_JAR" value="${migration-lib.jar}"/>
    <filter token="UNBOUNDID_JAR" value="${unboundid.jar}"/>
    <filter token="JUNIT_JAR" value="${junit.jar}"/>
  </filterset>

  <!-- Version info filter set -->
  <tstamp>
    <format property="year" pattern="yyyy" locale="en" timezone="UTC"/>
    <format property="today" pattern="MMM d yyyy" locale="en" timezone="UTC"/>
    <format property="today-iso-8601" pattern="yyyy-MM-dd" locale="en" timezone="UTC"/>
    <format property="tstamp" pattern="HH:mm:ss" locale="en" timezone="UTC"/>
    <format property="tstamp.file" pattern="yyyy-MM-dd HH:mm:ss" timezone="UTC"/>
    <format property="tstamp.iso.release" pattern="yyyy-MM-dd'T'HH:mm:ssX" timezone="UTC"/>
  </tstamp>
  <filterset id="version.filters">
    <filter token="YEAR" value="${year}"/>
    <filter token="VERSION" value="${version}"/>
    <filter token="VERSION_NUMBER" value="${version.number}"/>
    <filter token="VERSION_MAJOR" value="${version.major}"/>
    <filter token="VERSION_MAJOR_MINOR" value="${version.major.minor}"/>
    <filter token="VERSION_BUILT" value="${today} ${tstamp} UTC"/>
    <filter token="JDT_VERSION" value="${jdt.version}"/>
    <filter token="GIT_BRANCH" value="${git.branch}"/>
    <filter token="MIN_JAVA_VERSION" value="${min.java.version}"/>
    <filter token="BUILD_JAVA_VERSION" value="${build.java.version}"/>
    <filter token="ANT_VERSION_REQUIRED" value="${ant.version.required}"/>
    <filter token="SERVLET_SPEC_VERSION" value="${servlet.spec.version}"/>
    <filter token="JSP_SPEC_VERSION" value="${jsp.spec.version}"/>
    <filter token="EL_SPEC_VERSION" value="${el.spec.version}"/>
    <filter token="WEBSOCKET_SPEC_VERSION" value="${websocket.spec.version}"/>
    <filter token="JASPIC_SPEC_VERSION" value="${jaspic.spec.version}"/>
  </filterset>

  <!-- Files to change line endings for depending on target platform -->
  <patternset id="text.files" >
    <include name="**/INSTALLLICENSE"/>
    <include name="**/KEYS"/>
    <include name="**/LICENSE"/>
    <include name="**/NOTICE"/>
    <include name="**/RELEASE-NOTES"/>
    <include name="**/jakarta.el.ExpressionFactory"/>
    <include name="**/jakarta.servlet.ServletContainerInitializer"/>
    <include name="**/jakarta.websocket.ContainerProvider"/>
    <include name="**/jakarta.websocket.server.ServerEndpointConfig$Configurator"/>
    <include name="**/.gitignore"/>
    <include name="**/*.bnd"/>
    <include name="**/*.classpath"/>
    <include name="**/*.css"/>
    <include name="**/*.dtd"/>
    <include name="**/*.editorconfig"/>
    <include name="**/*.htm"/>
    <include name="**/*.html"/>
    <include name="**/*.iml"/>
    <include name="**/*.ini"/>
    <include name="**/*.java"/>
    <include name="**/*.jj"/>
    <include name="**/*.jjt"/>
    <include name="**/*.json"/>
    <include name="**/*.jsp"/>
    <include name="**/*.jspf"/>
    <include name="**/*.jspx"/>
    <include name="**/*.launch"/>
    <include name="**/*.license"/>
    <include name="**/*.manifest"/>
    <include name="**/*.md"/>
    <include name="**/*.mdl"/>
    <include name="**/*.MF"/>
    <include name="**/*.notice"/>
    <include name="**/*.nsi"/>
    <include name="**/*.pem"/>
    <include name="**/*.pl"/>
    <include name="**/*.policy"/>
    <include name="**/*.pom"/>
    <include name="**/*.project"/>
    <include name="**/*.properties"/>
    <include name="**/*.properties.default"/>
    <include name="**/*.properties.release"/>
    <include name="**/*.shtml"/>
    <include name="**/*.svg"/>
    <include name="**/*.tag"/>
    <include name="**/*.tagx"/>
    <include name="**/*.tasks"/>
    <include name="**/*.tld"/>
    <include name="**/*.txt"/>
    <include name="**/*.xhtml"/>
    <include name="**/*.xml"/>
    <include name="**/*.xsd"/>
    <include name="**/*.xsl"/>
    <include name="**/*.yaml"/>
    <include name="**/*.yml"/>
    <include name="**/Dockerfile"/>
    <!-- Exclude files that use 16-bit encodings. -->
    <!-- This prevents fixcrlf corrupting them during a release -->
    <exclude name="**/bom-none-prolog-utf16?e.jspx"/>
    <exclude name="**/bom-utf16?e-prolog-*.jsp*"/>
  </patternset>


  <!-- ========= Pattern sets used to control content of JAR files ========= -->
  <!-- Pattern sets for jar files in standard distributions -->
  <patternset id="files.annotations-api">
    <include name="jakarta/annotation/**" />
  </patternset>

  <patternset id="files.servlet-api">
    <include name="jakarta/servlet/*" />
    <include name="jakarta/servlet/annotation/**" />
    <include name="jakarta/servlet/descriptor/**" />
    <include name="jakarta/servlet/http/**" />
    <include name="jakarta/servlet/resources/**" />
    <exclude name="jakarta/servlet/jsp"/>
  </patternset>

  <patternset id="files.jsp-api">
    <include name="jakarta/servlet/jsp/**" />
  </patternset>

  <patternset id="files.el-api">
    <include name="jakarta/el/**" />
  </patternset>

  <patternset id="files.websocket-api">
    <include name="jakarta/websocket/server/*" />
  </patternset>

  <patternset id="files.websocket-client-api">
    <include name="jakarta/websocket/*" />
  </patternset>

  <patternset id="files.jaspic-api">
    <include name="jakarta/security/auth/message/**" />
  </patternset>

  <patternset id="files.tomcat-websocket">
    <include name="org/apache/tomcat/websocket/**" />
  </patternset>

  <!-- This duplicates some classes in files.catalina                        -->
  <!-- Duplicating a few classes in bootstrap.jar is simpler than excluding  -->
  <!-- them from files.catalina and having to manually add them to           -->
  <!-- files.tomcat-embed-core because of an include/exclude conflict        -->
  <!-- between files.catalina and files.bootstrap.                           -->
  <patternset id="files.bootstrap">
    <include name="org/apache/catalina/startup/Bootstrap.*" />
    <include name="org/apache/catalina/startup/catalina.properties" />
    <include name="org/apache/catalina/startup/CatalinaProperties.*" />
    <include name="org/apache/catalina/startup/ClassLoaderFactory.*" />
    <include name="org/apache/catalina/startup/ClassLoaderFactory$*.*" />
    <include name="org/apache/catalina/startup/Constants.*" />
    <include name="org/apache/catalina/startup/SafeForkJoinWorkerThreadFactory.*" />
    <include name="org/apache/catalina/startup/SafeForkJoinWorkerThreadFactory$*.*" />
    <include name="org/apache/catalina/startup/Tool.*" />
    <include name="org/apache/catalina/security/SecurityClassLoad.*" />
    <include name="org/apache/catalina/webresources/war/**" />
    <include name="org/apache/tomcat/util/buf/UriUtil.*" />
  </patternset>

  <patternset id="files.tomcat-juli">
    <include name="org/apache/juli/**" />
  </patternset>

  <patternset id="files.tomcat-api">
    <include name="org/apache/tomcat/*" />
    <exclude name="org/apache/tomcat/buildutil" />
    <exclude name="org/apache/tomcat/dbcp" />
    <exclude name="org/apache/tomcat/jni" />
    <exclude name="org/apache/tomcat/util" />
    <exclude name="org/apache/tomcat/websocket" />
  </patternset>

  <patternset id="files.tomcat-util">
    <include name="org/apache/tomcat/util/buf/**" />
    <include name="org/apache/tomcat/util/codec/**" />
    <include name="org/apache/tomcat/util/collections/**" />
    <include name="org/apache/tomcat/util/compat/**" />
    <include name="org/apache/tomcat/util/file/**" />
    <include name="org/apache/tomcat/util/res/**" />
    <include name="org/apache/tomcat/util/security/**" />
    <include name="org/apache/tomcat/util/threads/**" />
    <include name="org/apache/tomcat/util/json/**" />
    <include name="org/apache/tomcat/util/*" />
    <exclude name="org/apache/tomcat/util/bcel" />
    <exclude name="org/apache/tomcat/util/descriptor" />
    <exclude name="org/apache/tomcat/util/digester" />
    <exclude name="org/apache/tomcat/util/http" />
    <exclude name="org/apache/tomcat/util/log" />
    <exclude name="org/apache/tomcat/util/modeler" />
    <exclude name="org/apache/tomcat/util/net" />
    <exclude name="org/apache/tomcat/util/scan" />
  </patternset>

  <patternset id="files.tomcat-util-scan">
    <include name="org/apache/tomcat/util/descriptor/**" />
    <include name="org/apache/tomcat/util/digester/**" />
    <include name="org/apache/tomcat/util/scan/**" />
  </patternset>

  <patternset id="files.catalina">
    <include name="org/apache/catalina/**" />
    <include name="org/apache/naming/**" />
    <!-- Modules -->
    <exclude name="org/apache/catalina/ant/**" />
    <exclude name="org/apache/catalina/ha/**" />
    <exclude name="org/apache/catalina/tribes/**" />
    <exclude name="org/apache/catalina/storeconfig/**" />
    <exclude name="org/apache/catalina/ssi/**" />
  </patternset>

  <patternset id="files.tomcat-embed-programmatic">
    <patternset refid="files.jaspic-api" />
    <patternset refid="files.tomcat-juli" />

    <!-- Servlet -->
    <include name="jakarta/servlet/**" />
    <include name="jakarta/servlet/annotation/**" />
    <include name="jakarta/servlet/http/**" />
    <exclude name="jakarta/servlet/descriptor/**" />
    <exclude name="jakarta/servlet/jsp/**"/>
    <exclude name="jakarta/servlet/resources/**" />

    <!-- AprLifecycleListener is configured by default -->
    <include name="**/AprLifecycleListener.*"/>
    <include name="**/AprStatus.*"/>

    <!-- Remove dynamic mbean descriptors -->
    <exclude name="**/mbeans-descriptors.xml"/>
    <exclude name="**/mbeans-descriptors.dtd"/>
    <!-- No JMX Support - But we can't remove the classes -->
    <include name="org/apache/tomcat/util/modeler/LocalStrings.properties" />
    <include name="org/apache/tomcat/util/modeler/AttributeInfo*" />
    <include name="org/apache/tomcat/util/modeler/BaseModelMBean*" />
    <include name="org/apache/tomcat/util/modeler/FeatureInfo*" />
    <include name="org/apache/tomcat/util/modeler/ManagedBean*" />
    <include name="org/apache/tomcat/util/modeler/NoDescriptorRegistry*" />
    <include name="org/apache/tomcat/util/modeler/NotificationInfo*" />
    <include name="org/apache/tomcat/util/modeler/Registry*" />
    <include name="org/apache/tomcat/util/modeler/RegistryMBean*" />
    <include name="org/apache/tomcat/util/modeler/Util*" />
    <include name="org/apache/tomcat/util/modeler/modules/ModelerSource*" />

    <!-- Apache Tomcat Core Code -->
    <include name="org/apache/catalina/*"/>
    <include name="org/apache/catalina/authenticator/**"/>
    <include name="org/apache/catalina/connector/**"/>
    <include name="org/apache/catalina/core/**"/>
    <include name="org/apache/catalina/deploy/**"/>
    <include name="org/apache/catalina/filters/**"/>
    <include name="org/apache/catalina/loader/**"/>
    <include name="org/apache/catalina/mapper/**"/>
    <include name="org/apache/catalina/mbeans/**"/>
    <include name="org/apache/catalina/realm/**"/>
    <include name="org/apache/catalina/security/**"/>
    <include name="org/apache/catalina/session/**"/>
    <include name="org/apache/catalina/startup/**"/>
    <include name="org/apache/catalina/util/**"/>
    <include name="org/apache/catalina/valves/*"/>
    <include name="org/apache/catalina/webresources/**"/>
    <include name="org/apache/coyote/**" />
    <include name="org/apache/naming/**" />
    <include name="org/apache/tomcat/*" />
    <include name="org/apache/tomcat/util/*" />
    <include name="org/apache/tomcat/util/bcel/**" />
    <include name="org/apache/tomcat/util/buf/**" />
    <include name="org/apache/tomcat/util/codec/**" />
    <include name="org/apache/tomcat/util/collections/**" />
    <include name="org/apache/tomcat/util/compat/**" />
    <include name="org/apache/tomcat/util/descriptor/**" />
    <include name="org/apache/tomcat/util/file/**" />
    <include name="org/apache/tomcat/util/http/**" />
    <include name="org/apache/tomcat/util/json/**" />
    <include name="org/apache/tomcat/util/log/**" />
    <include name="org/apache/tomcat/util/net/**" />
    <include name="org/apache/tomcat/util/res/**" />
    <include name="org/apache/tomcat/util/security/**" />
    <include name="org/apache/tomcat/util/threads/**" />

    <!-- Some of the core code depends on the jar scanner -->
    <include name="org/apache/tomcat/util/scan/StandardJarScan*" />
    <include name="org/apache/tomcat/util/scan/LocalStrings.properties" />

    <!-- Minimize JNI to what doesn't throw an error -->
    <include name="org/apache/tomcat/jni/Library.class" />
    <include name="org/apache/tomcat/jni/LibraryNotFoundError*" />
    <exclude name="org/apache/tomcat/jni" />

    <!-- Remove connectors that are not default -->
    <exclude name="**/AbstractAjpProtocol.class"/>
    <exclude name="**/Ajp*.class"/>
    <exclude name="**/Http11Nio2*.class"/>
    <exclude name="**/JniLifecycleListener.class"/>
    <exclude name="org/apache/tomcat/**/*Nio2*.class"/>

    <!-- Minimize bundles to the default set -->
    <exclude name="org/apache/**/LocalStrings_*.properties"/>

    <!-- Remove digester support -->
    <exclude name="org/apache/catalina/**/*Rule.class" />
    <exclude name="org/apache/catalina/**/*RuleSet*.class" />
    <exclude name="org/apache/tomcat/**/*RuleSet*.class" />

    <!-- Remove various Apache Tomcat modules not used by default in an embedded setting -->
    <exclude name="org/apache/catalina/ant/**" />
    <exclude name="org/apache/catalina/ha/**" />
    <exclude name="org/apache/catalina/manager/**" />
    <exclude name="org/apache/catalina/ssi/**" />
    <exclude name="org/apache/catalina/storeconfig/**" />
    <exclude name="org/apache/catalina/tribes/**" />
    <exclude name="org/apache/catalina/valves/rewrite/**" />
    <exclude name="org/apache/tomcat/buildutil" />
    <exclude name="org/apache/tomcat/dbcp" />

    <!-- Remove authenticator classes -->
    <exclude name="org/apache/catalina/authenticator/BasicAuthenticator*" />
    <exclude name="org/apache/catalina/authenticator/DigestAuthenticator*" />
    <exclude name="org/apache/catalina/authenticator/FormAuthenticator*" />
    <exclude name="org/apache/catalina/authenticator/SingleSignOnE*" />
    <exclude name="org/apache/catalina/authenticator/SingleSignOnL*" />
    <exclude name="org/apache/catalina/authenticator/SingleSignOnS*" />
    <exclude name="org/apache/catalina/authenticator/Spnego*" />
    <exclude name="org/apache/catalina/authenticator/SSLAuthenticator*" />
    <exclude name="org/apache/catalina/authenticator/jaspcic/Simple*" />

    <!-- Remove optional filter classes -->
    <exclude name="org/apache/catalina/filters/**" />

    <!-- Remove Realm classes -->
    <exclude name="org/apache/catalina/realm/AuthenticatedUserRealm.class" />
    <exclude name="org/apache/catalina/realm/CombinedRealm.class" />
    <exclude name="org/apache/catalina/realm/DataSourceRealm.class" />
    <exclude name="org/apache/catalina/realm/JAASCallbackHandler.class" />
    <exclude name="org/apache/catalina/realm/JAASMemoryLoginModule.class" />
    <exclude name="org/apache/catalina/realm/JAASRealm.class" />
    <exclude name="org/apache/catalina/realm/JNDIRealm$User.class" />
    <exclude name="org/apache/catalina/realm/JNDIRealm.class" />
    <exclude name="org/apache/catalina/realm/LockOutRealm*" />
    <exclude name="org/apache/catalina/realm/MemoryRealm.class" />
    <exclude name="org/apache/catalina/realm/NestedCredentialHandler.class" />
    <exclude name="org/apache/catalina/realm/UserDatabaseRealm.class" />

    <!-- Remove optional servlets -->
    <exclude name="org/apache/catalina/servlets/**" />

    <!-- Remove all but the standard session management -->
    <exclude name="org/apache/catalina/session/JDBC*" />
    <exclude name="org/apache/catalina/session/File*" />
    <exclude name="org/apache/catalina/session/Persistent*" />
    <exclude name="org/apache/catalina/session/StoreBase*" />

    <!-- Remove users -->
    <exclude name="org/apache/catalina/users/**" />

    <!-- Remove optional valves -->
    <exclude name="org/apache/catalina/valves/Crawler*" />
    <exclude name="org/apache/catalina/valves/ExtendedAccessLogValve*" />
    <exclude name="org/apache/catalina/valves/ExtendedAccessLogValve*" />
    <exclude name="org/apache/catalina/valves/HealthCheckValve*" />
    <exclude name="org/apache/catalina/valves/JDBCAccessLogValve*" />
    <exclude name="org/apache/catalina/valves/LoadBalancerDrainingValve*" />
    <exclude name="org/apache/catalina/valves/PersistentValve*" />

    <!-- Remove most JNDI stuff -->
    <exclude name="org/apache/naming/EjbRef*" />
    <exclude name="org/apache/naming/factory/BeanFactory*" />
    <exclude name="org/apache/naming/factory/DataSourceLinkFactory*" />
    <exclude name="org/apache/naming/factory/EjbFactory*" />
    <exclude name="org/apache/naming/factory/LookupFactory*" />
    <exclude name="org/apache/naming/factory/MailSessionFactory*" />
    <exclude name="org/apache/naming/factory/OpenEjbFactory*" />
    <exclude name="org/apache/naming/factory/ResourceEnvFactory*" />
    <exclude name="org/apache/naming/factory/ResourceFactory*" />
    <exclude name="org/apache/naming/factory/ResourceLinkFactory*" />
    <exclude name="org/apache/naming/factory/SendMailFactory*" />
    <exclude name="org/apache/naming/factory/TransactionFactory*" />
    <exclude name="org/apache/naming/LookupRef*" />
    <exclude name="org/apache/naming/NameParserImpl*" />
    <exclude name="org/apache/naming/NamingContextBindingsEnumeration*" />
    <exclude name="org/apache/naming/NamingContext*" />
    <exclude name="org/apache/naming/NamingContextEnumeration*" />
    <exclude name="org/apache/naming/NamingEntry*" />
    <exclude name="org/apache/naming/ResourceEnvRef*" />
    <exclude name="org/apache/naming/ResourceLinkRef*" />
    <exclude name="org/apache/naming/ResourceRef*" />
    <exclude name="org/apache/naming/SelectorContext*" />
    <exclude name="org/apache/naming/ServiceRef*" />
    <exclude name="org/apache/naming/TransactionRef*" />

    <!-- remove BCEL support -->
    <exclude name="org/apache/tomcat/util/bcel/**" />

    <!-- remove web descriptor elements -->
    <exclude name="org/apache/tomcat/util/descriptor/DigesterFactory*" />
    <exclude name="org/apache/tomcat/util/descriptor/InputSourceUtil*" />
    <exclude name="org/apache/tomcat/util/descriptor/LocalResolver*" />
    <exclude name="org/apache/tomcat/util/descriptor/web/AbsoluteOrderingRule*" />
    <exclude name="org/apache/tomcat/util/descriptor/web/CallMethodMultiRule*" />
    <exclude name="org/apache/tomcat/util/descriptor/web/CallParamMultiRule*" />
    <exclude name="org/apache/tomcat/util/descriptor/web/ContextHandler*" />
    <exclude name="org/apache/tomcat/util/descriptor/web/ContextResourceLink*" />
    <exclude name="org/apache/tomcat/util/descriptor/web/ContextTransaction*" />
    <exclude name="org/apache/tomcat/util/descriptor/web/FragmentJarScannerCallback*" />
    <exclude name="org/apache/tomcat/util/descriptor/web/IgnoreAnnotationsRule*" />
    <exclude name="org/apache/tomcat/util/descriptor/web/InjectionTarget*" />
    <exclude name="org/apache/tomcat/util/descriptor/web/JspConfigDescriptorImpl*" />
    <exclude name="org/apache/tomcat/util/descriptor/web/JspPropertyGroup*" />
    <exclude name="org/apache/tomcat/util/descriptor/web/JspPropertyGroupDescriptorImpl*" />
    <exclude name="org/apache/tomcat/util/descriptor/web/LifecycleCallbackRule*" />
    <exclude name="org/apache/tomcat/util/descriptor/web/MappedNameRule*" />
    <exclude name="org/apache/tomcat/util/descriptor/web/MultipartDef*" />
    <exclude name="org/apache/tomcat/util/descriptor/web/NameRule*" />
    <exclude name="org/apache/tomcat/util/descriptor/web/RelativeOrderingRule*" />
    <exclude name="org/apache/tomcat/util/descriptor/web/SecurityCollection*" />
    <exclude name="org/apache/tomcat/util/descriptor/web/SecurityRoleRef*" />
    <exclude name="org/apache/tomcat/util/descriptor/web/ServiceQnameRule*" />
    <exclude name="org/apache/tomcat/util/descriptor/web/ServletDef*" />
    <exclude name="org/apache/tomcat/util/descriptor/web/ServletDefCreateRule*" />
    <exclude name="org/apache/tomcat/util/descriptor/web/SessionConfig*" />
    <exclude name="org/apache/tomcat/util/descriptor/web/SetAuthConstraintRule*" />
    <exclude name="org/apache/tomcat/util/descriptor/web/SetDenyUncoveredHttpMethodsRule*" />
    <exclude name="org/apache/tomcat/util/descriptor/web/SetDistributableRule*" />
    <exclude name="org/apache/tomcat/util/descriptor/web/SetJspConfig*" />
    <exclude name="org/apache/tomcat/util/descriptor/web/SetLoginConfig*" />
    <exclude name="org/apache/tomcat/util/descriptor/web/SetOverrideRule*" />
    <exclude name="org/apache/tomcat/util/descriptor/web/SetPublicIdRule*" />
    <exclude name="org/apache/tomcat/util/descriptor/web/SetSessionConfig*" />
    <exclude name="org/apache/tomcat/util/descriptor/web/SoapHeaderRule*" />
    <exclude name="org/apache/tomcat/util/descriptor/web/TaglibDescriptorImpl*" />
    <exclude name="org/apache/tomcat/util/descriptor/web/TaglibLocationRule*" />
    <exclude name="org/apache/tomcat/util/descriptor/web/VersionRule*" />
    <exclude name="org/apache/tomcat/util/descriptor/web/WebXml*" />
    <exclude name="org/apache/tomcat/util/descriptor/web/WebXmlParser*" />
    <exclude name="org/apache/tomcat/util/descriptor/XmlErrorHandler*" />
    <exclude name="org/apache/tomcat/util/descriptor/XmlIdentifiers*" />

    <!-- remove taglibrary support -->
    <exclude name="org/apache/tomcat/util/descriptor/tagplugin/**"/>
    <exclude name="org/apache/tomcat/util/descriptor/tld/**"/>

    <!-- Remove Digester Support -->
    <exclude name="org/apache/tomcat/util/digester/**"/>

    <!-- TODO - For now, remove SSL until we have an example -->
    <exclude name="org/apache/tomcat/util/net/jsse/**"/>
    <exclude name="org/apache/tomcat/util/net/openssl/**"/>

    <!-- Remove without-reflection code generator -->
    <exclude name="org/apache/tomcat/util/xreflection/**" />

    <!-- Remove DefaultServlet -->
    <exclude name="org/apache/catalina/servlets/DefaultServlet*.*" />
  </patternset>

  <patternset id="files.catalina-tribes">
    <include name="org/apache/catalina/tribes/**" />
  </patternset>

  <patternset id="files.catalina-ssi">
    <include name="org/apache/catalina/ssi/**" />
  </patternset>

  <patternset id="files.catalina-ha">
    <include name="org/apache/catalina/ha/**" />
  </patternset>

  <patternset id="files.catalina-ant">
    <include name="org/apache/catalina/ant/**" />
  </patternset>

  <patternset id="files.catalina-storeconfig">
    <include name="org/apache/catalina/storeconfig/**" />
  </patternset>

  <patternset id="files.tomcat-jni">
    <include name="org/apache/tomcat/jni/**" />
  </patternset>

  <patternset id="files.tomcat-coyote">
    <include name="org/apache/coyote/**" />
    <!-- Remaining tomcat-util packages -->
    <include name="org/apache/tomcat/util/bcel/**" />
    <include name="org/apache/tomcat/util/http/**" />
    <include name="org/apache/tomcat/util/log/**" />
    <include name="org/apache/tomcat/util/modeler/**" />
    <include name="org/apache/tomcat/util/net/**" />
  </patternset>

  <patternset id="files.jasper">
    <include name="org/apache/jasper/**" />
  </patternset>

  <patternset id="files.jasper-el">
    <include name="org/apache/el/**" />
  </patternset>

  <patternset id="files.tomcat-dbcp">
    <include name="org/apache/tomcat/dbcp/**"/>
  </patternset>

  <!-- Pattern sets for embedded JARs -->
  <!-- Every standard pattern set above should be included in an embedded JAR -->
  <patternset id="files.tomcat-embed-core" >
    <patternset refid="files.catalina" />
    <patternset refid="files.servlet-api" />
    <patternset refid="files.jaspic-api" />
    <patternset refid="files.tomcat-api" />
    <patternset refid="files.tomcat-juli" />
    <!-- These pattern sets conflict so include files directly
      <patternset refid="files.tomcat-coyote" />
      <patternset refid="files.tomcat-util" />
      <patternset refid="files.tomcat-util-scan" />
    -->
    <include name="org/apache/coyote/**" />
    <include name="org/apache/tomcat/jni/**" />
    <include name="org/apache/tomcat/util/**" />
    <exclude name="org/apache/tomcat/util/descriptor/tld/**" />
  </patternset>

  <patternset id="files.tomcat-embed-jasper" >
    <patternset refid="files.jasper" />
    <patternset refid="files.jsp-api" />
    <include name="org/apache/tomcat/util/descriptor/tld/**" />
  </patternset>

  <patternset id="files.tomcat-embed-el" >
    <patternset refid="files.el-api" />
    <patternset refid="files.jasper-el" />
  </patternset>

  <patternset id="files.tomcat-embed-websocket" >
    <patternset refid="files.websocket-api" />
    <patternset refid="files.websocket-client-api" />
    <patternset refid="files.tomcat-websocket" />
  </patternset>

  <!-- Pattern sets not included in embedded -->
    <!-- Cluster support not included in embedded -->
    <!--<patternset refid="files.catalina-tribes" />-->
    <!--<patternset refid="files.catalina-ha" />-->
    <!-- Ant tasks not included in embedded -->
    <!--<patternset refid="files.catalina-ant" />-->
    <!-- Annotations API is a separate dependency to avoid JRE 9 issues -->
    <!-- See BZ 61439 -->
    <!--<patternset refid="files.annotations-api" />-->

  <!-- =========================== Build targets =========================== -->

  <!-- Output the merged properties for the current Ant environment -->
  <target name="echoproperties">
    <echoproperties/>
  </target>

  <target name="build-prepare">

    <!-- Required so we can compile -->
    <mkdir dir="${tomcat.classes}"/>

    <!-- Ensure these directories are removed every time we re-build -->
    <delete dir="${tomcat.build}/temp" />
    <delete dir="${tomcat.build}/work" />

    <!-- Minimum dirs needed for a working Tomcat instance -->
    <mkdir dir="${tomcat.build}"/>
    <mkdir dir="${tomcat.build}/bin"/>
    <mkdir dir="${tomcat.build}/conf"/>
    <mkdir dir="${tomcat.build}/lib"/>
    <mkdir dir="${tomcat.build}/logs"/>
    <mkdir dir="${tomcat.build}/temp"/>
    <mkdir dir="${tomcat.build}/webapps"/>
    <mkdir dir="${tomcat.build}/webapps-javaee"/>

    <!-- Property that determines if manifests need updating -->
    <uptodate property="manifests.uptodate"
        targetfile="${tomcat.manifests}/default.manifest" >
      <srcfiles file="${user.home}/build.properties" />
      <srcfiles file="${basedir}/build.properties" />
      <srcfiles file="${basedir}/build.properties.default" />
      <srcfiles file="${basedir}/build.xml" />
      <srcfiles dir="${tomcat.home}/res/META-INF" >
        <include name="*.manifest" />
        <include name="*.license" />
        <include name="*.notice" />
      </srcfiles>
    </uptodate>

  </target>

  <target name="validate" if="${execute.validate}"
    depends="build-prepare,compile-prepare,download-validate"
    description="Uses Checkstyle tool to perform style check for the source code">
    <!-- Required so we can cache checkstyle results -->
    <mkdir dir="${tomcat.output}/res/checkstyle"/>
    <available property="checkstyletask.properties" resource="checkstyletask.properties"
       classpath="${checkstyle.jar}" value="checkstyletask.properties"/>
    <available property="checkstyletask.properties" resource="com/puppycrawl/tools/checkstyle/ant/checkstyle-ant-task.properties"
       classpath="${checkstyle.jar}" value="com/puppycrawl/tools/checkstyle/ant/checkstyle-ant-task.properties"/>

    <taskdef resource="${checkstyletask.properties}"
             classpath="${checkstyle.jar}" />
    <!-- Main checks -->
    <checkstyle config="res/checkstyle/checkstyle.xml">
      <fileset dir="." >
        <patternset refid="text.files" />
        <include name="**/*.bat"/>
        <include name="**/*.sh"/>
        <exclude name="bin/setenv.*"/>
        <exclude name=".*/**"/>
        <exclude name="nbproject/**"/>
        <exclude name="output/**"/>
        <exclude name="modules/**"/>
        <exclude name="test/webapp-fragments/WEB-INF/classes/*.txt"/>
        <exclude name="test/webapp/bug49nnn/*.txt"/>
        <exclude name="test/webapp/bug53257/**/*.txt"/>
        <exclude name="test/webapp/bug66609/*.txt"/>
        <exclude name="test/webresources/**/*.txt"/>
        <exclude name="**/*.mdl"/>
        <exclude name="**/*.pem"/>
        <exclude name="**/*.svg"/>
        <exclude name="**/*_2.xml"/>
        <exclude name="res/checkstyle/header-al2.txt"/>
        <!-- Exclude auto-generated files -->
        <exclude name="java/org/apache/el/parser/ELParser*.java" />
        <exclude name="java/org/apache/el/parser/Node.java" />
        <exclude name="java/org/apache/tomcat/util/json/JSONParser*.java" />
        <exclude name="**/*.jj" />
        <exclude name="java/org/apache/**/JJT*ParserState.java" />
        <exclude name="java/org/apache/**/ParseException.java" />
        <exclude name="java/org/apache/**/JavaCharStream.java" />
        <exclude name="java/org/apache/**/SimpleCharStream.java" />
        <exclude name="java/org/apache/**/Token.java" />
        <exclude name="java/org/apache/**/TokenMgrError.java" />
        <!-- Exclude developer specific local files -->
        <exclude name="build.properties" />
        <exclude name="res/maven/mvn.properties" />
      </fileset>
      <fileset dir="modules/jdbc-pool" >
        <exclude name=".*/**"/>
        <exclude name="**/MANIFEST.MF"/>
        <patternset refid="text.files" />
        <!-- Exclude developer specific local files -->
        <exclude name="build.properties" />
      </fileset>
    </checkstyle>
    <!-- jakarta package checks -->
    <checkstyle config="res/checkstyle/jakarta-checkstyle.xml">
      <fileset dir="java/jakarta" >
        <include name="**/*.java"/>
      </fileset>
    </checkstyle>
    <!-- org package checks -->
    <checkstyle config="res/checkstyle/org-checkstyle.xml">
      <fileset dir="java/org" >
        <include name="**/*.java"/>
      </fileset>
    </checkstyle>
    <!-- Tests checks -->
    <checkstyle config="res/checkstyle/test-checkstyle.xml">
      <fileset dir="test" >
        <patternset refid="text.files" />
        <exclude name=".*/**"/>
        <exclude name="**/*.pem"/>
        <!-- Exclude simple test files -->
        <exclude name="webapp/bug49nnn/bug49464*"/>
        <exclude name="webapp/bug53257/**/*.txt"/>
        <exclude name="webapp/bug66609/*.txt"/>
        <exclude name="webapp-fragments/WEB-INF/classes/*.txt"/>
        <exclude name="webresources/**"/>
        <!-- Exclude test files with unusual encodings -->
        <exclude name="webapp/jsp/encoding/**"/>
      </fileset>
    </checkstyle>
  </target>

  <target name="validate-eoln" depends="build-prepare,compile-prepare"
    description="Validate that the source files have correct line ends">
    <!-- Compile the CheckEol class only. Note that the class depends on
    Ant only. There is no need to download additional dependencies nor
    add them to the class path. The rest should be the same as in "compile"
    target.-->
    <javac srcdir="java" destdir="${tomcat.classes}"
           debug="${compile.debug}"
           deprecation="${compile.deprecation}"
           release="${compile.release}"
           encoding="ISO-8859-1"
           includeAntRuntime="true" >
      <!-- Uncomment this to show unchecked warnings:
      <compilerarg value="-Xlint:unchecked"/>
      -->
      <include name="org/apache/tomcat/buildutil/CheckEol*" />
    </javac>

    <taskdef name="checkeol"
             classname="org.apache.tomcat.buildutil.CheckEol"
             classpath="${tomcat.classes}" />

    <checkeol mode="LF">
      <fileset dir="." >
        <patternset refid="text.files" />
        <include name="**/*.bat"/>
        <include name="**/*.sh"/>
        <exclude name=".*/**"/>
        <exclude name="nbproject/**"/>
        <exclude name="output/**"/>
        <exclude name="modules/**"/>
        <!-- Exclude these since some svn clients do not seem able to handle
             UTF-16 line-ending conversion -->
        <exclude name="test/webapp/jsp/encoding/bom-utf16*"/>
        <exclude name="test/webapp/jsp/encoding/bom-none-prolog-utf16*"/>
      </fileset>
      <fileset dir="modules/jdbc-pool" >
        <patternset refid="text.files" />
      </fileset>
    </checkeol>
  </target>

  <target name="compile-prepare">
    <!-- Add the builtin catalina.properties -->
    <copy todir="java/org/apache/catalina/startup"
          file="conf/catalina.properties" encoding="ISO-8859-1">
      <filterset refid="version.filters"/>
    </copy>
    <!-- Copy jdbc-pool documentation -->
    <copy tofile="webapps/docs/jdbc-pool.xml"
          file="${tomcat.jdbc.dir}/doc/jdbc-pool.xml" encoding="UTF-8">
      <filterset>
        <filter token="TOMCAT_PROJECT_DEST" value="project.xml"/>
      </filterset>
    </copy>
  </target>

  <target name="compile" depends="download-compile,validate">
    <!-- Compile internal server components -->
    <javac srcdir="java" destdir="${tomcat.classes}"
           debug="${compile.debug}"
           deprecation="${compile.deprecation}"
           release="${compile.release}"
           encoding="ISO-8859-1"
           includeAntRuntime="true" >
      <!-- Uncomment this to show unchecked warnings:
      <compilerarg value="-Xlint:unchecked"/>
      -->
      <classpath refid="compile.classpath" />
    </javac>
    <!-- Copy static resource files -->
    <copy todir="${tomcat.classes}" encoding="UTF-8">
      <filterset refid="version.filters"/>
      <fileset dir="java">
        <include name="**/*.properties"/>
        <exclude name="**/LocalStrings*.properties"/>
        <exclude name="**/Messages*.properties"/>
        <include name="**/*.dtd"/>
        <include name="**/*.tasks"/>
        <include name="**/*.xsd"/>
        <include name="**/*.xml"/>
      </fileset>
    </copy>

    <!-- Convert the message files from UTF-8 to ASCII. This can be removed
    after upgrading to Java 9+ as the minimum JRE and specifying the encoding
    when loading the ResourceBundles -->
    <native2ascii src="java" dest="${tomcat.classes}" includes="**/LocalStrings.properties" encoding="UTF-8"/>
    <native2ascii src="java" dest="${tomcat.i18n}" includes="**/LocalStrings_*.properties" encoding="UTF-8"/>

    <!-- Ensure consistent line-endings for reproducible builds -->
    <fixcrlf srcdir="${tomcat.classes}" eol="lf"
        encoding="UTF-8" fixlast="false" >
      <patternset refid="text.files" />
    </fixcrlf>
    <fixcrlf srcdir="${tomcat.i18n}" eol="lf"
        encoding="UTF-8" fixlast="false" >
      <patternset refid="text.files" />
    </fixcrlf>
  </target>

  <target name="build-manifests" unless="manifests.uptodate"
          depends="build-prepare">
    <!-- Filtering tokens for JAR manifests-->
    <filter token="source.jdk" value="${compile.release}"/>
    <filter token="target.jdk" value="${compile.release}"/>
    <filter token="servlet.spec.version" value="${servlet.spec.version}"/>
    <filter token="servlet.revision" value="${servlet.revision}"/>
    <filter token="jsp.spec.version" value="${jsp.spec.version}"/>
    <filter token="jsp.revision" value="${jsp.revision}"/>
    <filter token="el.spec.version" value="${el.spec.version}"/>
    <filter token="el.revision" value="${el.revision}"/>
    <filter token="websocket.spec.version" value="${websocket.spec.version}"/>
    <filter token="websocket.revision" value="${websocket.revision}"/>
    <filter token="jaspic.spec.version" value="${jaspic.spec.version}"/>
    <filter token="jaspic.revision" value="${jaspic.revision}"/>
    <filter token="annotation.spec.version" value="${annotation.spec.version}"/>
    <filter token="annotation.revision" value="${annotation.revision}"/>

    <mkdir dir="${tomcat.manifests}" />
    <copy todir="${tomcat.manifests}" overwrite="yes" filtering="yes" encoding="ISO-8859-1">
      <filterset refid="version.filters"/>
      <fileset dir="${tomcat.home}/res/META-INF" />
    </copy>

    <!-- Ensure text files in JARs have consistent line endings. Required for
    reproducible builds. -->
    <fixcrlf srcdir="${tomcat.manifests}" eol="lf" encoding="ISO-8859-1" fixlast="false" >
      <patternset refid="text.files" />
    </fixcrlf>
  </target>

  <target name="package" depends="compile,build-manifests" >
    <!--
    #### ORDER IS IMPORTANT ####
    Bnd will use the built jars to resolve import package versions and
    JPMS module names.
      -->

    <!-- Common Annotations JAR File -->
    <jarIt jarfile="${annotations-api.jar}"
      filesDir="${tomcat.classes}"
      filesId="files.annotations-api"
      manifest="${tomcat.manifests}/annotations-api.jar.manifest"
      addOSGi="true" />

    <!-- Servlet Implementation JAR File -->
    <jarIt jarfile="${servlet-api.jar}"
      filesDir="${tomcat.classes}"
      filesId="files.servlet-api"
      manifest="${tomcat.manifests}/servlet-api.jar.manifest"
      notice="${tomcat.manifests}/servlet-api.jar.notice"
      license="${tomcat.manifests}/servlet-api.jar.license"
      addOSGi="true" />

    <!-- EL Implementation JAR File -->
    <jarIt jarfile="${el-api.jar}"
      filesDir="${tomcat.classes}"
      filesId="files.el-api"
      manifest="${tomcat.manifests}/el-api.jar.manifest"
      addOSGi="true" />

    <!-- JSP Implementation JAR File -->
    <jarIt jarfile="${jsp-api.jar}"
      filesDir="${tomcat.classes}"
      filesId="files.jsp-api"
      manifest="${tomcat.manifests}/jsp-api.jar.manifest"
      addOSGi="true" />

    <!-- WebSocket API JAR File -->
    <jarIt jarfile="${websocket-api.jar}"
      filesDir="${tomcat.classes}"
      filesId="files.websocket-api"
      manifest="${tomcat.manifests}/websocket-api.jar.manifest"
      addOSGi="true" />

    <!-- WebSocket Client API JAR File -->
    <jarIt jarfile="${websocket-client-api.jar}"
      filesDir="${tomcat.classes}"
      filesId="files.websocket-client-api"
      manifest="${tomcat.manifests}/websocket-client-api.jar.manifest"
      addOSGi="true" />

    <!-- JASPIC API JAR File -->
    <jarIt jarfile="${jaspic-api.jar}"
      filesDir="${tomcat.classes}"
      filesId="files.jaspic-api"
      manifest="${tomcat.manifests}/jaspic-api.jar.manifest"
      addOSGi="true" />

    <!-- Tomcat-juli JAR File -->
    <jarIt jarfile="${tomcat-juli.jar}"
      filesDir="${tomcat.classes}"
      filesId="files.tomcat-juli"
      addOSGi="true" />

    <!-- Bootstrap JAR File -->
    <jarIt jarfile="${bootstrap.jar}"
      filesDir="${tomcat.classes}"
      filesId="files.bootstrap"
      manifest="${tomcat.manifests}/bootstrap.jar.manifest" />

    <!-- Tomcat Util JAR File -->
    <jarIt jarfile="${tomcat-util.jar}"
      filesDir="${tomcat.classes}"
      filesId="files.tomcat-util"
      addOSGi="true" />

    <!-- Tomcat API JAR File -->
    <jarIt jarfile="${tomcat-api.jar}"
      filesDir="${tomcat.classes}"
      filesId="files.tomcat-api"
      addOSGi="true" />

    <!-- Tomcat Util Scan JAR File -->
    <jarIt jarfile="${tomcat-util-scan.jar}"
      filesDir="${tomcat.classes}"
      filesId="files.tomcat-util-scan"
      addOSGi="true" />

    <jarIt jarfile="${tomcat-jni.jar}"
      filesDir="${tomcat.classes}"
      filesId="files.tomcat-jni"
      addOSGi="true" />

    <!-- Protocol handlers - Coyote -->
    <jarIt jarfile="${tomcat-coyote.jar}"
      filesDir="${tomcat.classes}"
      filesId="files.tomcat-coyote"
      addOSGi="true" />

    <!-- WebSocket implementation JAR File -->
    <jarIt jarfile="${tomcat-websocket.jar}"
      filesDir="${tomcat.classes}"
      filesId="files.tomcat-websocket"
      meta-inf="${tomcat.manifests}/tomcat-websocket.jar"
      addOSGi="true" />

    <!-- Catalina GroupCom/Tribes JAR File -->
    <jarIt jarfile="${catalina-tribes.jar}"
      filesDir="${tomcat.classes}"
      filesId="files.catalina-tribes"
      addOSGi="true" />

    <!-- Catalina Main JAR File -->
    <jarIt jarfile="${catalina.jar}"
      filesDir="${tomcat.classes}"
      filesId="files.catalina"
      addOSGi="true" />

    <!-- Catalina Cluster/HA JAR File -->
    <jarIt jarfile="${catalina-ha.jar}"
      filesDir="${tomcat.classes}"
      filesId="files.catalina-ha"
      addOSGi="true" />

    <!-- Server-Side Includes (SSI) -->
    <jarIt jarfile="${catalina-ssi.jar}"
      filesDir="${tomcat.classes}"
      filesId="files.catalina-ssi"
      addOSGi="true" />

    <!-- Catalina Ant Tasks JAR File -->
    <jarIt jarfile="${catalina-ant.jar}"
      filesDir="${tomcat.classes}"
      filesId="files.catalina-ant" />

    <!-- Catalina Storeconfig JAR File -->
    <jarIt jarfile="${catalina-storeconfig.jar}"
      filesDir="${tomcat.classes}"
      filesId="files.catalina-storeconfig"
      addOSGi="true" />

    <!-- Jasper EL Implementation JAR File -->
    <jarIt jarfile="${jasper-el.jar}"
      filesDir="${tomcat.classes}"
      filesId="files.jasper-el"
      meta-inf="${tomcat.manifests}/jasper-el.jar"
      addOSGi="true" />

    <!-- Jasper Implementation JAR File -->
    <jarIt jarfile="${jasper.jar}"
      filesDir="${tomcat.classes}"
      filesId="files.jasper"
      meta-inf="${tomcat.manifests}/jasper.jar"
      addOSGi="true" />

    <!-- Re-packaged Apache Commons DBCP 2-->
    <jarIt jarfile="${tomcat-dbcp.jar}"
      filesDir="${tomcat.classes}"
      filesId="files.tomcat-dbcp"
      addOSGi="true" />

    <!-- i18n JARs -->
    <jar jarfile="${tomcat.build}/lib/tomcat-i18n-cs.jar"
         manifest="${tomcat.manifests}/default.manifest"
         modificationtime="${tstamp.iso.release}">
      <fileset dir="${tomcat.i18n}">
        <include name="**/LocalStrings_cs.properties" />
      </fileset>
      <zipfileset file="${tomcat.manifests}/default.notice"
        fullpath="META-INF/NOTICE" />
      <zipfileset file="${tomcat.manifests}/default.license"
        fullpath="META-INF/LICENSE" />
    </jar>
    <jar jarfile="${tomcat.build}/lib/tomcat-i18n-de.jar"
         manifest="${tomcat.manifests}/default.manifest"
         modificationtime="${tstamp.iso.release}">
      <fileset dir="${tomcat.i18n}">
        <include name="**/LocalStrings_de.properties" />
      </fileset>
      <zipfileset file="${tomcat.manifests}/default.notice"
        fullpath="META-INF/NOTICE" />
      <zipfileset file="${tomcat.manifests}/default.license"
        fullpath="META-INF/LICENSE" />
    </jar>
    <jar jarfile="${tomcat.build}/lib/tomcat-i18n-es.jar"
         manifest="${tomcat.manifests}/default.manifest"
         modificationtime="${tstamp.iso.release}">
      <fileset dir="${tomcat.i18n}">
        <include name="**/LocalStrings_es.properties" />
      </fileset>
      <zipfileset file="${tomcat.manifests}/default.notice"
        fullpath="META-INF/NOTICE" />
      <zipfileset file="${tomcat.manifests}/default.license"
        fullpath="META-INF/LICENSE" />
    </jar>
    <jar jarfile="${tomcat.build}/lib/tomcat-i18n-fr.jar"
         manifest="${tomcat.manifests}/default.manifest"
         modificationtime="${tstamp.iso.release}">
      <fileset dir="${tomcat.i18n}">
        <include name="**/LocalStrings_fr.properties" />
      </fileset>
      <zipfileset file="${tomcat.manifests}/default.notice"
        fullpath="META-INF/NOTICE" />
      <zipfileset file="${tomcat.manifests}/default.license"
        fullpath="META-INF/LICENSE" />
    </jar>
    <jar jarfile="${tomcat.build}/lib/tomcat-i18n-ja.jar"
         manifest="${tomcat.manifests}/default.manifest"
         modificationtime="${tstamp.iso.release}">
      <fileset dir="${tomcat.i18n}">
        <include name="**/LocalStrings_ja.properties" />
      </fileset>
      <zipfileset file="${tomcat.manifests}/default.notice"
        fullpath="META-INF/NOTICE" />
      <zipfileset file="${tomcat.manifests}/default.license"
        fullpath="META-INF/LICENSE" />
    </jar>
    <jar jarfile="${tomcat.build}/lib/tomcat-i18n-ko.jar"
         manifest="${tomcat.manifests}/default.manifest"
         modificationtime="${tstamp.iso.release}">
      <fileset dir="${tomcat.i18n}">
        <include name="**/LocalStrings_ko.properties" />
      </fileset>
      <zipfileset file="${tomcat.manifests}/default.notice"
        fullpath="META-INF/NOTICE" />
      <zipfileset file="${tomcat.manifests}/default.license"
        fullpath="META-INF/LICENSE" />
    </jar>
    <jar jarfile="${tomcat.build}/lib/tomcat-i18n-pt-BR.jar"
         manifest="${tomcat.manifests}/default.manifest"
         modificationtime="${tstamp.iso.release}">
      <fileset dir="${tomcat.i18n}">
        <include name="**/LocalStrings_pt_BR.properties" />
      </fileset>
      <zipfileset file="${tomcat.manifests}/default.notice"
        fullpath="META-INF/NOTICE" />
      <zipfileset file="${tomcat.manifests}/default.license"
        fullpath="META-INF/LICENSE" />
    </jar>
    <jar jarfile="${tomcat.build}/lib/tomcat-i18n-ru.jar"
         manifest="${tomcat.manifests}/default.manifest"
         modificationtime="${tstamp.iso.release}">
      <fileset dir="${tomcat.i18n}">
        <include name="**/LocalStrings_ru.properties" />
      </fileset>
      <zipfileset file="${tomcat.manifests}/default.notice"
        fullpath="META-INF/NOTICE" />
      <zipfileset file="${tomcat.manifests}/default.license"
        fullpath="META-INF/LICENSE" />
    </jar>
    <jar jarfile="${tomcat.build}/lib/tomcat-i18n-zh-CN.jar"
         manifest="${tomcat.manifests}/default.manifest"
         modificationtime="${tstamp.iso.release}">
      <fileset dir="${tomcat.i18n}">
        <include name="**/LocalStrings_zh_CN.properties" />
      </fileset>
      <zipfileset file="${tomcat.manifests}/default.notice"
        fullpath="META-INF/NOTICE" />
      <zipfileset file="${tomcat.manifests}/default.license"
        fullpath="META-INF/LICENSE" />
    </jar>

  </target>

  <target name="build-docs" depends="compile-prepare" description="Builds all documentation from XML sources">

    <!-- Validation of changelog.xml -->
    <xmlvalidate
      file="webapps/docs/changelog.xml"
    />

    <copy todir="${tomcat.build}/webapps">
      <fileset dir="webapps">
        <include name="docs/images/**"/>
        <include name="docs/META-INF/**"/>
        <include name="docs/WEB-INF/**"/>
        <include name="docs/appdev/*.txt"/>
        <include name="docs/appdev/sample/**"/>
      </fileset>
      <fileset dir="webapps">
        <include name="docs/architecture/**"/>
        <exclude name="docs/architecture/*.xml"/>
      </fileset>
    </copy>
    <copy todir="${tomcat.build}/webapps" encoding="UTF-8">
      <filterset refid="version.filters"/>
      <fileset dir="webapps">
        <include name="docs/**/*.html"/>
      </fileset>
    </copy>
    <copy todir="${tomcat.build}/webapps/docs" encoding="ISO-8859-1">
      <filterset refid="version.filters"/>
      <fileset dir=".">
        <include name="BUILDING.txt"/>
        <include name="RUNNING.txt"/>
      </fileset>
    </copy>
    <copy tofile="${tomcat.build}/webapps/docs/RELEASE-NOTES.txt" file="RELEASE-NOTES" encoding="ISO-8859-1">
      <filterset refid="version.filters"/>
    </copy>
    <copy tofile="${tomcat.build}/webapps/docs/mbeans-descriptors.dtd"
            file="java/org/apache/tomcat/util/modeler/mbeans-descriptors.dtd" />

    <copy   tofile="${tomcat.build}/webapps/docs/appdev/sample/build.xml"
              file="webapps/docs/appdev/build.xml.txt"/>

    <!-- XSL processing -->
    <xslt basedir="webapps/docs"
           destdir="${tomcat.build}/webapps/docs"
         extension=".html"
             style="webapps/docs/tomcat-docs.xsl"
 filenameparameter="filename"
          excludes="build.xml project.xml"
          includes="*.xml">
      <param name="sitedir" expression="tomcat-${version.major.minor}-doc/"/>
      <param name="subdir" expression=""/>
      <param name="relative-path" expression="."/>
      <param name="version" expression="${version}"/>
      <param name="majorversion" expression="${version.major}"/>
      <param name="majorminorversion" expression="${version.major.minor}"/>
      <param name="build-date" expression="${today}"/>
      <param name="build-date-iso-8601" expression="${today-iso-8601}"/>
      <param name="year" expression="${year}"/>
    </xslt>
    <xslt basedir="webapps/docs/appdev"
           destdir="${tomcat.build}/webapps/docs/appdev"
         extension=".html"
             style="webapps/docs/tomcat-docs.xsl"
 filenameparameter="filename"
          excludes="project.xml"
          includes="*.xml">
      <param name="sitedir" expression="tomcat-${version.major.minor}-doc/"/>
      <param name="subdir" expression="appdev/"/>
      <param name="relative-path" expression=".."/>
      <param name="version" expression="${version}"/>
      <param name="majorversion" expression="${version.major}"/>
      <param name="majorminorversion" expression="${version.major.minor}"/>
      <param name="build-date" expression="${today}"/>
      <param name="build-date-iso-8601" expression="${today-iso-8601}"/>
      <param name="year" expression="${year}"/>
    </xslt>
    <xslt basedir="webapps/docs/config"
           destdir="${tomcat.build}/webapps/docs/config"
         extension=".html"
             style="webapps/docs/tomcat-docs.xsl"
 filenameparameter="filename"
          excludes="project.xml"
          includes="*.xml">
      <param name="sitedir" expression="tomcat-${version.major.minor}-doc/"/>
      <param name="subdir" expression="config/"/>
      <param name="relative-path" expression=".."/>
      <param name="version" expression="${version}"/>
      <param name="majorversion" expression="${version.major}"/>
      <param name="majorminorversion" expression="${version.major.minor}"/>
      <param name="build-date" expression="${today}"/>
      <param name="build-date-iso-8601" expression="${today-iso-8601}"/>
      <param name="year" expression="${year}"/>
    </xslt>
    <xslt basedir="webapps/docs/architecture"
           destdir="${tomcat.build}/webapps/docs/architecture"
         extension=".html"
             style="webapps/docs/tomcat-docs.xsl"
 filenameparameter="filename"
          excludes="project.xml"
          includes="*.xml">
      <param name="sitedir" expression="tomcat-${version.major.minor}-doc/"/>
      <param name="subdir" expression="architecture/"/>
      <param name="relative-path" expression=".."/>
      <param name="version" expression="${version}"/>
      <param name="majorversion" expression="${version.major}"/>
      <param name="majorminorversion" expression="${version.major.minor}"/>
      <param name="build-date" expression="${today}"/>
      <param name="build-date-iso-8601" expression="${today-iso-8601}"/>
      <param name="year" expression="${year}"/>
    </xslt>

    <xslt basedir="webapps/docs/tribes"
               destdir="${tomcat.build}/webapps/docs/tribes"
             extension=".html"
                 style="webapps/docs/tomcat-docs.xsl"
     filenameparameter="filename"
              excludes="project.xml"
              includes="*.xml">
      <param name="sitedir" expression="tomcat-${version.major.minor}-doc/"/>
      <param name="subdir" expression="tribes/"/>
      <param name="relative-path" expression=".."/>
      <param name="version" expression="${version}"/>
      <param name="majorversion" expression="${version.major}"/>
      <param name="majorminorversion" expression="${version.major.minor}"/>
      <param name="build-date" expression="${today}"/>
      <param name="build-date-iso-8601" expression="${today-iso-8601}"/>
      <param name="year" expression="${year}"/>
    </xslt>
  </target>

  <target name="deploy" depends="package,build-docs,build-tomcat-jdbc,compile-webapp-examples"
          description="Default. Builds a working Tomcat instance">

    <copy tofile="${tomcat.build}/bin/commons-daemon.jar" file="${commons-daemon.jar}" />

    <!-- Copy scripts -->
    <copy todir="${tomcat.build}/bin">
      <fileset dir="bin">
         <exclude name="**/*.launch"/>
         <exclude name="**/*.sh"/>
         <exclude name="**/*.bat"/>
      </fileset>
    </copy>
    <copy todir="${tomcat.build}/bin" encoding="ISO-8859-1">
      <filterset refid="version.filters"/>
      <fileset dir="bin">
         <include name="**/*.sh"/>
         <include name="**/*.bat"/>
      </fileset>
    </copy>
    <!-- Copy doesn't retain permissions -->
    <chmod dir="${tomcat.build}/bin" includes="*.sh" perm="+x"/>

    <!-- Copy static resource files -->
    <copy todir="${tomcat.build}/conf" encoding="ISO-8859-1">
      <filterset refid="version.filters"/>
      <fileset dir="conf">
        <include name="**/*.policy"/>
        <include name="**/*.xml"/>
        <include name="**/*.xsd"/>
        <include name="**/*.properties"/>
      </fileset>
    </copy>

    <!-- Copy other regular webapps -->
    <copy todir="${tomcat.build}/webapps">
      <fileset dir="webapps">
        <include name="ROOT/**"/>
        <exclude name="ROOT/index.jsp"/>
        <include name="examples/**"/>
        <include name="manager/**"/>
        <include name="host-manager/**"/>
      </fileset>
    </copy>
    <copy todir="${tomcat.build}/webapps" encoding="UTF-8">
      <filterset refid="version.filters" />
      <fileset dir="webapps">
        <include name="ROOT/index.jsp"/>
      </fileset>
    </copy>

    <copy tofile="${tomcat.build}/webapps/ROOT/RELEASE-NOTES.txt" file="RELEASE-NOTES" encoding="ISO-8859-1">
      <filterset refid="version.filters"/>
    </copy>

    <!-- Delete all other versions of Eclipse JDT Compiler and copy the current one -->
    <local name="jdt.jar.filename" />
    <basename property="jdt.jar.filename" file="${jdt.jar}"/>
    <delete verbose="true">
      <fileset dir="${tomcat.build}/lib">
        <include name="ecj-*.jar"/>
        <exclude name="${jdt.jar.filename}"/>
      </fileset>
    </delete>
    <copy file="${jdt.jar}" todir="${tomcat.build}/lib"/>

    <!-- Delete all other versions of Tomcat Migration Tool for Jakarta EE and copy the current one -->
    <local name="migration.jar.filename" />
    <basename property="migration.jar.filename" file="${migration-lib.jar}"/>
    <delete verbose="true">
      <fileset dir="${tomcat.build}/lib">
        <include name="jakartaee-migration-*.jar"/>
        <exclude name="${migration-lib.jar.filename}"/>
      </fileset>
    </delete>
    <copy file="${migration-lib.jar}" todir="${tomcat.build}/lib"/>

    <!-- Delete all other versions of OpenSSL support for Tomcat and copy the current one -->
    <!-- After module release
    <local name="openssl-lib.jar.filename" />
    <basename property="openssl-lib.jar.filename" file="${openssl-lib.jar}"/>
    <delete verbose="true">
      <fileset dir="${tomcat.build}/lib">
        <include name="tomcat-coyote-openssl-*.jar"/>
        <exclude name="${openssl-lib.jar.filename}"/>
      </fileset>
    </delete>
    <copy file="${openssl-lib.jar}" todir="${tomcat.build}/lib"/>
    -->

    <!-- Add sources for examples -->
    <antcall target="examples-sources" />
  </target>

  <target name="compile-webapp-examples" >

    <!-- Build classes for examples webapp -->
    <mkdir dir="${tomcat.build}/webapps/examples/WEB-INF/classes"/>
    <javac   srcdir="webapps/examples/WEB-INF/classes"
             destdir="${tomcat.build}/webapps/examples/WEB-INF/classes"
             debug="${compile.debug}" deprecation="${compile.deprecation}"
             release="${compile.release}"
             classpath="${tomcat.classes}"
             encoding="ISO-8859-1"
             includeantruntime="false">
    </javac>

    <!-- Convert the message files of the examples webapp from UTF-8 to ASCII.
    This can be removed after upgrading to Java 9+ as the minimum JRE and
    specifying the encoding when loading the ResourceBundles -->
    <native2ascii src="webapps/examples/WEB-INF/classes"
                  dest="${tomcat.build}/webapps/examples/WEB-INF/classes"
                  includes="**/LocalStrings*.properties"
                  encoding="UTF-8"/>

  </target>

  <target name="build-tomcat-jdbc" depends="package">
    <!-- build the jdbc-pool jar and source jar-->
    <echo message="Building Tomcat JDBC pool libraries"/>
    <ant antfile="${tomcat.jdbc.dir}/build.xml" dir="${tomcat.jdbc.dir}"
         inheritAll="false" target="build">
      <property name="ant.tstamp.now.iso" value ="${ant.tstamp.now.iso}" />
      <property name="tstamp.file" value ="${tstamp.file}" />
      <property name="tomcat.pool" value="${tomcat.pool}" />
      <property name="tomcat.juli.jar" value="${tomcat-juli.jar}" />
      <property name="skip.download" value="set"/>
      <property name="version" value="${version}"/>
      <property name="version.major" value="${version.major}"/>
      <property name="version.major.minor" value="${version.major.minor}"/>
    </ant>
    <copy file="${tomcat-jdbc.jar}" todir="${tomcat.build}/lib"/>
  </target>

  <target name="build-tomcat-jdbc-src">
    <!-- build the jdbc-pool source jar-->
    <echo message="Building Tomcat JDBC pool src JAR"/>
    <ant antfile="${tomcat.jdbc.dir}/build.xml" dir="${tomcat.jdbc.dir}"
         inheritAll="false" target="build-src">
      <property name="tomcat.pool" value="${tomcat.pool}" />
      <property name="tomcat.juli.jar" value="${tomcat-juli.jar}" />
      <property name="skip.download" value="set"/>
    </ant>
  </target>

  <target name="examples-sources" description="Create examples sources"
          unless="examples.sources.skip" >
    <taskdef name="txt2html"
             classname="org.apache.tomcat.buildutil.Txt2Html"
             classpath="${tomcat.classes}" />

    <txt2html todir="${tomcat.build}/webapps/examples/jsp/jsp2/simpletag">
      <fileset dir="webapps/examples/WEB-INF/classes/jsp2/examples">
        <include name="BookBean.java"/>
      </fileset>
      <fileset dir="webapps/examples/WEB-INF/classes/jsp2/examples/simpletag">
        <include name="FindBookSimpleTag.java"/>
        <include name="RepeatSimpleTag.java"/>
        <include name="HelloWorldSimpleTag.java"/>
      </fileset>
      <fileset dir="webapps/examples/WEB-INF/classes/jsp2/examples/el">
        <include name="Functions.java"/>
      </fileset>
    </txt2html>

    <txt2html todir="${tomcat.build}/webapps/examples/jsp/jsp2/jspattribute">
      <fileset dir="webapps/examples/WEB-INF/classes/jsp2/examples">
        <include name="FooBean.java"/>
      </fileset>
      <fileset dir="webapps/examples/WEB-INF/classes/jsp2/examples/simpletag">
        <include name="ShuffleSimpleTag.java"/>
        <include name="TileSimpleTag.java"/>
        <include name="HelloWorldSimpleTag.java"/>
      </fileset>
    </txt2html>

    <txt2html todir="${tomcat.build}/webapps/examples/jsp/cal">
      <fileset dir="webapps/examples/WEB-INF/classes/cal">
        <include name="Entries.java"/>
        <include name="Entry.java"/>
        <include name="JspCalendar.java"/>
        <include name="TableBean.java"/>
      </fileset>
    </txt2html>

    <txt2html todir="${tomcat.build}/webapps/examples/jsp/jsptoserv">
      <fileset dir="webapps/examples/WEB-INF/classes">
        <include name="ServletToJsp.java"/>
      </fileset>
    </txt2html>

    <txt2html todir="${tomcat.build}/webapps/examples/jsp/jsp2/el">
      <fileset dir="webapps/examples/WEB-INF/classes/examples">
        <include name="ValuesTag.java"/>
      </fileset>
      <fileset dir="webapps/examples/WEB-INF/classes/jsp2/examples">
        <include name="ValuesBean.java"/>
      </fileset>
      <fileset dir="webapps/examples/WEB-INF/classes/jsp2/examples/el">
        <include name="Functions.java"/>
      </fileset>
    </txt2html>

    <txt2html todir="${tomcat.build}/webapps/examples/jsp/jsp2/misc">
      <fileset dir="webapps/examples/WEB-INF/classes/jsp2/examples/simpletag">
        <include name="EchoAttributesTag.java"/>
      </fileset>
    </txt2html>

    <txt2html todir="${tomcat.build}/webapps/examples/jsp/jsp2/tagfiles">
      <fileset dir="webapps/examples/WEB-INF/tags">
        <include name="**/*.tag" />
      </fileset>
    </txt2html>

    <txt2html todir="${tomcat.build}/webapps/examples">
      <fileset dir="webapps/examples">
        <include name="**/*.jsp" />
        <include name="**/*.jspx" />
        <include name="**/*.jspf" />
        <exclude name="error/errorpge.jsp"/>
        <exclude name="forward/one.jsp"/>
        <exclude name="include/foo.jsp"/>
        <exclude name="jsptoserv/hello.jsp"/>
        <exclude name="security/protected/error.jsp"/>
        <exclude name="security/protected/index.jsp"/>
        <exclude name="security/protected/login.jsp"/>
      </fileset>
    </txt2html>
  </target>
  <target name="embed-jars" description="Create embedded jars"
    depends="build-manifests,setup-bnd,compile,package" >

    <mkdir dir="${tomcat.embed}" />

    <copy file="${basedir}/LICENSE" todir="${tomcat.embed}" />
    <copy file="${basedir}/NOTICE" todir="${tomcat.embed}" />
    <copy file="${tomcat-dbcp.jar}" todir="${tomcat.embed}"
      failonerror="false"/>
    <copy file="${jdt.jar}" todir="${tomcat.embed}" />
    <copy file="${annotations-api.jar}" todir="${tomcat.embed}" />

    <!-- Note the meta-inf below will work as long as there is only one JAR
         that needs to add entries. If there is more than one a more complex
         solution will be required. -->
    <jarIt jarfile="${tomcat-embed-core.jar}"
           filesDir="${tomcat.classes}"
           filesId="files.tomcat-embed-core"
           notice="${tomcat.manifests}/servlet-api.jar.notice"
           license="${tomcat.manifests}/servlet-api.jar.license"
           addOSGi="true"
           addGraal="true"
           graalPrefix="org.apache.tomcat.embed/tomcat-embed-core"
           graalFiles="res/graal/tomcat-embed-core/native-image"
           libs="embed/*.jar"/>
    <jarIt jarfile="${tomcat-embed-el.jar}"
           filesDir="${tomcat.classes}"
           filesId="files.tomcat-embed-el"
           addOSGi="true"
           addGraal="true"
           graalPrefix="org.apache.tomcat.embed/tomcat-embed-el"
           graalFiles="res/graal/tomcat-embed-el/native-image"
           libs="embed/*.jar"/>
    <jarIt jarfile="${tomcat-embed-jasper.jar}"
           filesDir="${tomcat.classes}"
           filesId="files.tomcat-embed-jasper"
           meta-inf="${tomcat.manifests}/jasper.jar"
           addOSGi="true"
           addGraal="true"
           graalPrefix="org.apache.tomcat.embed/tomcat-embed-jasper"
           graalFiles="res/graal/tomcat-embed-jasper/native-image"
           libs="embed/*.jar"/>
    <jarIt jarfile="${tomcat-embed-websocket.jar}"
           filesDir="${tomcat.classes}"
           filesId="files.tomcat-embed-websocket"
           meta-inf="${tomcat.manifests}/tomcat-websocket.jar"
           addOSGi="true"
           addGraal="true"
           graalPrefix="org.apache.tomcat.embed/tomcat-embed-websocket"
           graalFiles="res/graal/tomcat-embed-websocket/native-image"
           libs="embed/*.jar"/>
  </target>

  <target name="embed-sources"
          description="Create source jars for embedded jars"
          depends="build-manifests,package-src-jar" >

    <mkdir dir="${tomcat.embed.sources}" />

    <jarIt jarfile="${tomcat-embed-core-sources.jar}"
           filesDir="java"
           filesId="files.tomcat-embed-core"
            notice="${tomcat.manifests}/servlet-api.jar.notice"
            license="${tomcat.manifests}/servlet-api.jar.license"/>
    <jarIt jarfile="${tomcat-embed-el-sources.jar}"
           filesDir="java"
           filesId="files.tomcat-embed-el"/>
    <jarIt jarfile="${tomcat-embed-jasper-sources.jar}"
           filesDir="java"
           filesId="files.tomcat-embed-jasper"/>
    <jarIt jarfile="${tomcat-embed-websocket-sources.jar}"
           filesDir="java"
           filesId="files.tomcat-embed-websocket"/>

    <copy file="${tomcat-dbcp-src.jar}" todir="${tomcat.embed.sources}" />

    <!--No sources for ${jdt.jar} -->

  </target>

  <target name="embed-programmatic-jar" description="Create non reflection embedded jar"
          depends="embed-jars,embed-sources">

    <!-- temporary directory to store the generated code -->
    <tempfile property="xreflect.directory" destDir="${java.io.tmpdir}" prefix="apache-tomcat-xreflect-"/>
    <echo>Generating Reflection Less Introspection to: ${xreflect.directory}</echo>
    <mkdir dir="${xreflect.directory}"/>
    <copy todir="${xreflect.directory}/sources">
      <fileset dir="java"/>
    </copy>
    <copy todir="${xreflect.directory}/classes">
      <fileset dir="${tomcat.classes}"/>
    </copy>

    <!-- Generate the reflection less XReflectionIntrospectionUtils .java file -->
    <java classname="org.apache.tomcat.util.xreflection.ObjectReflectionPropertyInspector"
          classpath="${xreflect.directory}/classes">
      <arg value="${xreflect.directory}/sources"/>
    </java>

    <!-- Compile the generated XReflectionIntrospectionUtils.java class -->
    <delete file="${xreflect.directory}/classes/org/apache/tomcat/util/XReflectionIntrospectionUtils.class"/>
    <javac includes="org/apache/tomcat/util/XReflectionIntrospectionUtils.java"
           srcdir="${xreflect.directory}/sources"
           destdir="${xreflect.directory}/classes"
           debug="${compile.debug}"
           deprecation="${compile.deprecation}"
           release="${compile.release}"
           encoding="ISO-8859-1"
           includeAntRuntime="true" >
      <compilerarg value="-XDignore.symbol.file"/>
      <classpath refid="compile.classpath" />
    </javac>

    <!-- Create the binary JAR file -->
    <jarIt jarfile="${tomcat-embed-programmatic.jar}"
           filesDir="${xreflect.directory}/classes"
           filesId="files.tomcat-embed-programmatic"
           notice="${tomcat.manifests}/servlet-api.jar.notice"
           license="${tomcat.manifests}/servlet-api.jar.license"
           addOSGi="false"
           addGraal="true"
           graalPrefix="org.apache.tomcat.embed/tomcat-embed-programmatic"
           graalFiles="res/graal/tomcat-embed-programmatic/native-image"
           libs="embed/*.jar"/>

    <!-- Create the source JAR file -->
    <jarIt jarfile="${tomcat-embed-programmatic-sources.jar}"
           filesDir="${xreflect.directory}/sources"
           filesId="files.tomcat-embed-programmatic"
           notice="${tomcat.manifests}/servlet-api.jar.notice"
           license="${tomcat.manifests}/servlet-api.jar.license"/>

    <!-- Leave generated code in an easy place for review -->
    <copy todir="${tomcat.xreflect}"
          file="${xreflect.directory}/sources/org/apache/tomcat/util/XReflectionIntrospectionUtils.java"
          overwrite="true"/>
    <!-- Delete our temporary compilation directory -->
    <delete dir="${xreflect.directory}"/>
  </target>

  <target name="embed"
          description="Creates the embedded release"
          depends="embed-jars,embed-sources,embed-programmatic-jar" >

    <fixcrlf srcdir="${tomcat.embed}" eol="crlf"
        encoding="ISO-8859-1" fixlast="false" >
      <patternset refid="text.files" />
    </fixcrlf>

    <zip destfile="${tomcat.embed}/${final.name}-embed.zip"
         modificationtime="${tstamp.iso.release}"
         encoding="UTF8">
      <fileset dir="${tomcat.embed}">
        <include name="**" />
        <exclude name="*.asc" />
        <exclude name="*.sha512" />
        <exclude name="*.zip" />
        <exclude name="*.tar.gz" />
      </fileset>
    </zip>
    <hashAndSign file="${tomcat.embed}/${final.name}-embed.zip" />

    <fixcrlf srcdir="${tomcat.embed}" eol="lf"
        encoding="ISO-8859-1" fixlast="false" >
      <patternset refid="text.files" />
    </fixcrlf>

    <!-- Reproducible builds: consistent timestamps for distributed files -->
    <touch datetime="${tstamp.file}" pattern="yyyy-MM-dd HH:mm:ss">
      <fileset dir="${tomcat.embed}"/>
    </touch>

    <tar longfile="gnu" compression="gzip"
         tarfile="${tomcat.embed}/${final.name}-embed.tar.gz">
      <tarfileset dir="${tomcat.embed}" prefix="${final.name}-embed">
        <include name="**" />
        <exclude name="*.asc" />
        <exclude name="*.sha512" />
        <exclude name="*.zip" />
        <exclude name="*.tar.gz" />
      </tarfileset>
    </tar>
    <hashAndSign file="${tomcat.embed}/${final.name}-embed.tar.gz" />

  </target>

  <target name="test-compile" depends="compile,download-test-compile,compile-webapp-examples" >
    <mkdir dir="${test.classes}"/>
    <!-- Compile -->
    <javac srcdir="test" destdir="${test.classes}"
           debug="${compile.debug}"
           deprecation="${compile.deprecation}"
           release="${compile.release}"
           encoding="ISO-8859-1"
           includeantruntime="true">
      <classpath refid="tomcat.test.classpath" />
      <include name="org/apache/**" />
      <include name="jakarta/**" />
      <include name="util/**" />
      <!-- Exclude these by default as Gump can't run them because the -->
      <!-- classes on which they depend are not in any output JAR.     -->
      <exclude name="org/apache/tomcat/buildutil/**"/>
    </javac>
    <copy todir="${test.classes}">
      <fileset dir="test">
        <include name="META-INF/**"/>
        <include name="**/service-config.txt"/>
        <include name="**/logging-non-rotatable.properties"/>
        <include name="**/TestStrings.properties"/>
      </fileset>
    </copy>
  </target>

  <!-- Default JUnit log output formatter -->
  <property name="junit.formatter.type" value="plain" />
  <property name="junit.formatter.usefile" value="true" />
  <property name="junit.formatter.extension" value=".txt" />

  <target name="test" description="Runs the JUnit test cases"
          depends="test-nio,test-nio2,coverage-report,test-status" />

  <target name="test-status"
          description="Analyses logs directory and reports on skipped tests, test failures and test errors">
    <fileset id="test.result.skippedtests" dir="${test.reports}" includes="*.txt">
      <not>
        <contains text="Skipped: 0" />
      </not>
    </fileset>
    <fileset id="test.result.failedtests" dir="${test.reports}" includes="*.txt">
      <not>
        <contains text="Failures: 0, Errors: 0" />
      </not>
    </fileset>
    <concat>
      <header>Testsuites with skipped tests:${line.separator}</header>
      <string>${toString:test.result.skippedtests}</string>
      <filterchain>
        <tokenfilter delimOutput="${line.separator}">
          <stringtokenizer delims=";"/>
        </tokenfilter>
      </filterchain>
    </concat>
    <concat>
      <header>Testsuites with failed tests:${line.separator}</header>
      <string>${toString:test.result.failedtests}</string>
      <filterchain>
        <tokenfilter delimOutput="${line.separator}">
          <stringtokenizer delims=";"/>
        </tokenfilter>
      </filterchain>
    </concat>

    <fail if="test.result.error" message='Some tests completed with an Error. See ${tomcat.build}/logs for details, search for "ERROR".' />
    <fail if="test.result.failure" message='Some tests completed with a Failure. See ${tomcat.build}/logs for details, search for "FAILED".' />
  </target>

  <target name="test-nio" description="Runs the JUnit test cases for NIO. Does not stop on errors."
          depends="setup-jacoco,test-compile,deploy,test-openssl-exists" if="${execute.test.nio}">
    <runtests protocol="org.apache.coyote.http11.Http11NioProtocol"
              extension=".NIO" />
  </target>

  <target name="test-nio2" description="Runs the JUnit test cases for NIO2. Does not stop on errors."
          depends="setup-jacoco,test-compile,deploy,test-openssl-exists" if="${execute.test.nio2}">
    <runtests protocol="org.apache.coyote.http11.Http11Nio2Protocol"
              extension=".NIO2" />
  </target>

  <target name="test-apr-exists" description="Checks for APR lib"
          if="${execute.test.apr}">
    <available file="${test.apr.loc}" property="apr.exists" />
  </target>

  <target name="test-openssl-exists" description="Checks for the OpenSSL binary">
    <property environment="env" />
    <condition property="test.openssl.exists">
      <or>
        <and>
          <length string="${test.openssl.path}" trim="true" length="0" when="gt"/>
          <available file="${test.openssl.path}" property="test.openssl.exists"/>
        </and>
        <and>
          <length string="${test.openssl.path}" trim="true" length="0" when="eq"/>
          <available file="openssl" filepath="${env.PATH}" property="test.openssl.exists"/>
        </and>
      </or>
    </condition>
  </target>

  <!-- Set native specific properties -->
  <property name="native.nativeaccess" value="--enable-native-access=ALL-UNNAMED"/>
  <property name="native.addmodules" value="--enable-preview" />
  <condition property="runtests.librarypath" value="-Dtest.4=4">
    <resourceexists>
      <file file="${openssl-lib.jar}"/>
    </resourceexists>
  </condition>
  <property name="runtests.librarypath" value="-Djava.library.path=${test.apr.loc}"/>
  <property name="opens.javalang" value="--add-opens=java.base/java.lang=ALL-UNNAMED"/>
  <property name="opens.javaio" value="--add-opens=java.base/java.io=ALL-UNNAMED"/>
  <property name="opens.sunrmi" value="--add-opens=java.rmi/sun.rmi.transport=ALL-UNNAMED"/>
  <property name="opens.javautil" value="--add-opens=java.base/java.util=ALL-UNNAMED"/>
  <property name="opens.javautilconcurrent" value="--add-opens=java.base/java.util.concurrent=ALL-UNNAMED"/>

  <macrodef name="runtests"
            description="Runs the unit tests using the specified connector.
              Does not stop on errors, but sets 'test.result.error' and 'test.result.failure' properties.">
    <attribute name="protocol"
               description="The class name for the connector protocol"/>
    <attribute name="extension"
               description="The extension to use to distinguish the output"/>

    <sequential>
      <mkdir dir="${test.reports}" />
      <jacoco:coverage
          enabled="${test.coverage}"
          destfile="${coverage.datafile}"
          >
        <junit printsummary="yes" fork="yes" dir="." showoutput="${test.verbose}"
          errorproperty="test.result.error"
          failureproperty="test.result.failure"
          haltonfailure="${test.haltonfailure}"
          threads="${test.threads}">

          <jvmarg value="${test.jvmarg.egd}"/>
          <jvmarg value="-Dfile.encoding=UTF-8"/>
          <jvmarg value="${runtests.librarypath}"/>
          <jvmarg value="${test.formatter}"/>
          <jvmarg value="-Djava.net.preferIPv4Stack=${java.net.preferIPv4Stack}"/>
          <jvmarg value="${opens.javalang}"/>
          <jvmarg value="${opens.javaio}"/>
          <jvmarg value="${opens.sunrmi}"/>
          <jvmarg value="${opens.javautil}"/>
          <jvmarg value="${opens.javautilconcurrent}"/>
          <jvmarg value="${native.nativeaccess}"/>
          <jvmarg value="${native.addmodules}"/>

          <classpath refid="tomcat.test.classpath" />

          <sysproperty key="tomcat.test.temp" value="${test.temp}" />
          <sysproperty key="tomcat.test.basedir" value="${test.basedir}" />
          <sysproperty key="tomcat.test.tomcatbuild" value="${tomcat.build}" />
          <sysproperty key="tomcat.test.protocol" value="@{protocol}" />
          <sysproperty key="tomcat.test.accesslog" value="${test.accesslog}" />
          <sysproperty key="tomcat.test.reports" value="${test.reports}" />
          <sysproperty key="tomcat.test.openssl.path" value="${test.openssl.path}" />
          <sysproperty key="tomcat.test.openssl.unimplemented" value="${test.openssl.unimplemented}" />
          <sysproperty key="tomcat.test.relaxTiming" value="${test.relaxTiming}" />
          <sysproperty key="tomcat.test.sslImplementation" value="${test.sslImplementation}" />
          <sysproperty key="tomcat.test.http2.loopCount" value="${test.http2.loopCount}" />

          <formatter type="${junit.formatter.type}"
                     usefile="${junit.formatter.usefile}"
                     extension="@{extension}${junit.formatter.extension}" />

          <!-- If test.entry is defined, run a single test, otherwise run all valid tests -->
          <test todir="${test.reports}" name="${test.entry}"
                if="test.entry" unless="test.entry.methods"
                />
          <test todir="${test.reports}" name="${test.entry}" methods="${test.entry.methods}"
                if="test.entry.methods"
                />
          <batchtest todir="${test.reports}" unless="test.entry">
            <!-- Include all by default -->
            <fileset dir="test" includes="${test.name}" excludes="${test.exclude}">
              <!-- Exclude helper classes -->
              <exclude name="**/Tester*.java" />
              <!-- Exclude the tests known to fail -->
              <exclude name="org/apache/catalina/tribes/test/**" />
              <!-- Exclude the OpenSSL tests unless OpenSSL is available -->
              <exclude name="org/apache/tomcat/util/net/openssl/ciphers/**" unless="${test.openssl.exists}" />
              <!-- Exclude performance tests. E.g. on systems with slow/inconsistent timing -->
              <exclude name="**/*Performance.java" if="${test.excludePerformance}" />
              <!-- Exclude tests that Gump can't compile -->
              <exclude name="org/apache/tomcat/buildutil/**" />
            </fileset>
          </batchtest>
        </junit>
      </jacoco:coverage>
    </sequential>
  </macrodef>

  <target name="coverage-report" if="${test.coverage}"
          depends="test-nio,test-nio2"
          description="Creates report from gathered Code coverage results">

    <jacoco:report>
      <executiondata>
        <file file="${coverage.datafile}"/>
      </executiondata>
      <structure name="Tomcat 11.0.x Code Coverage">
        <classfiles>
          <fileset dir="${tomcat.classes}"/>
        </classfiles>
        <sourcefiles encoding="UTF-8">
          <fileset dir="java"/>
        </sourcefiles>
      </structure>
      <html destdir="${coverage.out}"/>
    </jacoco:report>

  </target>

  <target name="spotbugs"
          if="${execute.spotbugs}"
          depends="test-compile,download-spotbugs">

    <path id="spotbugs.classpath">
      <fileset file="${spotbugs.jar}" />
    </path>

    <taskdef classpathref="spotbugs.classpath" name="spotbugs" classname="edu.umd.cs.findbugs.anttask.FindBugsTask"/>

    <mkdir dir="${spotbugs.out}" />

    <spotbugs home="${spotbugs.home}"
              output="${spotbugs.report.format}"
              outputFile="${spotbugs.out}/spotbugs-report.${spotbugs.report.format}"
              reportLevel="${spotbugs.report.level}"
              excludeFilter="res/spotbugs/filter-false-positives.xml" >
      <sourcePath path="${basedir}/java" />
      <class location="${tomcat.classes}" />
      <class location="${test.classes}" />
      <auxClasspath>
        <fileset file="${jdt.jar}" />
        <fileset file="${ant.core.lib}" />
      </auxClasspath>
    </spotbugs>
  </target>

  <target name="dist-prepare" depends="download-dist">
    <mkdir dir="${tomcat.dist}"/>
    <mkdir dir="${tomcat.dist}/bin"/>
    <mkdir dir="${tomcat.dist}/conf"/>
    <mkdir dir="${tomcat.dist}/lib"/>
    <mkdir dir="${tomcat.dist}/logs"/>
    <mkdir dir="${tomcat.dist}/temp"/>
    <mkdir dir="${tomcat.dist}/webapps"/>
    <mkdir dir="${tomcat.dist}/work"/>
    <mkdir dir="${tomcat.release}/v${version}/bin" />
    <mkdir dir="${tomcat.release}/v${version}/src" />
  </target>

  <target name="dist-static" depends="dist-prepare, deploy, embed">

    <!-- Copy the top-level documentation files -->
    <copy todir="${tomcat.dist}" encoding="ISO-8859-1">
      <filterset refid="version.filters"/>
      <fileset dir=".">
        <include name="LICENSE"/>
        <include name="NOTICE"/>
        <include name="RELEASE-NOTES"/>
        <include name="RUNNING.txt"/>
        <include name="README.md"/>
        <include name="BUILDING.txt" />
        <include name="CONTRIBUTING.md"/>
      </fileset>
    </copy>

    <!-- Copy the contents of each "build" directory -->
    <copy todir="${tomcat.dist}/bin">
      <fileset dir="${tomcat.build}/bin">
      </fileset>
    </copy>
    <copy todir="${tomcat.dist}/lib">
      <fileset dir="${tomcat.build}/lib" />
    </copy>
    <copy todir="${tomcat.dist}/conf">
      <fileset dir="${tomcat.build}/conf">
      </fileset>
    </copy>

    <copy todir="${tomcat.dist}/webapps">
      <fileset dir="${tomcat.build}/webapps">
        <exclude name="**/ROOT/WEB-INF/classes/**" />
        <exclude name="**/WEB-INF/src/**" />
      </fileset>
    </copy>

    <touch file="${tomcat.dist}/temp/safeToDelete.tmp" />

    <!-- Correct permissions and line endings on "bin" scripts -->
    <fixcrlf srcdir="${tomcat.dist}/bin" includes="*.sh"  eol="lf"   encoding="ISO-8859-1" fixlast="false" />
    <fixcrlf srcdir="${tomcat.dist}/bin" includes="*.bat" eol="crlf" encoding="ISO-8859-1" fixlast="false" />
    <chmod      dir="${tomcat.dist}/bin" includes="*.sh"  perm="+x"/>

    <!-- Windows binaries -->
    <!-- 32 bit -->
    <copy file="${commons-daemon.home}/windows/prunsrv.exe"
        tofile="${tomcat.dist}/bin/tomcat${version.major}.exe" />
    <copy file="${commons-daemon.home}/windows/prunmgr.exe"
        tofile="${tomcat.dist}/bin/tomcat${version.major}w.exe" />
    <!-- 64 bit amd -->
    <copy file="${commons-daemon.home}/windows/amd64/prunsrv.exe"
        tofile="${tomcat.dist}/bin/x64/tomcat${version.major}.exe" />
    <!-- tc native -->
    <copy todir="${tomcat.dist}/bin">
      <fileset dir="${tomcat-native.home}/bin">
        <include name="*.dll"/>
        <include name="**/*.dll"/>
      </fileset>
    </copy>

    <!-- Source bundles for native components -->
    <copy tofile="${tomcat.dist}/bin/tomcat-native.tar.gz"
            file="${tomcat-native.tar.gz}" />
    <copy tofile="${tomcat.dist}/bin/commons-daemon-native.tar.gz"
            file="${commons-daemon.native.src.tgz}" />

    <!-- platform README files -->
    <echo append="false" file="${tomcat.dist}/bin/x64/README">
Apache Tomcat ${version} native binaries for Win64 AMD64/EMT64 platform.
    </echo>

  </target>

  <target name="javadoc" depends="dist-source,download-compile"
    description="Create the Tomcat javadoc" >
    <javadoc packagenames="jakarta.annotation.*"
      sourcepath="${tomcat.dist}/src/java"
      destdir="${tomcat.dist}/webapps/docs/annotationapi"
      version="true"
      windowtitle="Common Annotations ${annotation.spec.version} API Documentation - Apache Tomcat ${version}"
      doctitle="Common Annotations ${annotation.spec.version} API - Apache Tomcat ${version}"
      header="&lt;b&gt;Common Annotations ${annotation.spec.version} - Apache Tomcat ${version}&lt;/b&gt;"
      bottom="Copyright &amp;#169; 2000-${year} Apache Software Foundation. All Rights Reserved."
      encoding="UTF-8"
      docencoding="UTF-8"
      charset="UTF-8"
      additionalparam="-breakiterator -notimestamp -html5"
      source="${compile.release}"
      maxmemory="512m"
      failonerror="${javadoc.failonerror}"
      failonwarning="${javadoc.failonwarning}">
      <classpath>
        <path refid="compile.classpath"/>
        <path location="${ant.core.lib}"/>
      </classpath>
    </javadoc>
    <javadoc packagenames="jakarta.servlet.*"
      excludepackagenames="jakarta.servlet.jsp.*"
      sourcepath="${tomcat.dist}/src/java"
      destdir="${tomcat.dist}/webapps/docs/servletapi"
      version="true"
      windowtitle="Servlet ${servlet.spec.version} API Documentation - Apache Tomcat ${version}"
      doctitle="Servlet ${servlet.spec.version} API - Apache Tomcat ${version}"
      header="&lt;b&gt;Servlet ${servlet.spec.version} - Apache Tomcat ${version}&lt;/b&gt;"
      bottom="Copyright &amp;#169; 2000-${year} Apache Software Foundation. All Rights Reserved."
      encoding="UTF-8"
      docencoding="UTF-8"
      charset="UTF-8"
      additionalparam="-breakiterator -notimestamp -html5"
      source="${compile.release}"
      maxmemory="512m"
      failonerror="${javadoc.failonerror}"
      failonwarning="${javadoc.failonwarning}">
      <classpath>
        <path refid="compile.classpath"/>
        <path location="${ant.core.lib}"/>
      </classpath>
    </javadoc>
    <javadoc packagenames="jakarta.servlet.jsp.*"
      sourcepath="${tomcat.dist}/src/java"
      destdir="${tomcat.dist}/webapps/docs/jspapi"
      version="true"
      windowtitle="JSP ${jsp.spec.version} API Documentation - Apache Tomcat ${version}"
      doctitle="JSP ${jsp.spec.version} API - Apache Tomcat ${version}"
      header="&lt;b&gt;JSP ${jsp.spec.version} - Apache Tomcat ${version}&lt;/b&gt;"
      bottom="Copyright &amp;#169; 2000-${year} Apache Software Foundation. All Rights Reserved."
      encoding="UTF-8"
      docencoding="UTF-8"
      charset="UTF-8"
      additionalparam="-breakiterator -notimestamp -html5"
      source="${compile.release}"
      maxmemory="512m"
      failonerror="${javadoc.failonerror}"
      failonwarning="${javadoc.failonwarning}">
      <classpath>
        <path refid="compile.classpath"/>
        <path location="${ant.core.lib}"/>
      </classpath>
    </javadoc>
    <javadoc packagenames="jakarta.el.*"
      sourcepath="${tomcat.dist}/src/java"
      destdir="${tomcat.dist}/webapps/docs/elapi"
      version="true"
      windowtitle="EL ${el.spec.version} API Documentation - Apache Tomcat ${version}"
      doctitle="EL ${el.spec.version} API - Apache Tomcat ${version}"
      header="&lt;b&gt;EL ${el.spec.version} - Apache Tomcat ${version}&lt;/b&gt;"
      bottom="Copyright &amp;#169; 2000-${year} Apache Software Foundation. All Rights Reserved."
      encoding="UTF-8"
      docencoding="UTF-8"
      charset="UTF-8"
      additionalparam="-breakiterator -notimestamp -html5"
      source="${compile.release}"
      maxmemory="512m"
      failonerror="${javadoc.failonerror}"
      failonwarning="${javadoc.failonwarning}">
      <classpath>
        <path refid="compile.classpath"/>
        <path location="${ant.core.lib}"/>
      </classpath>
    </javadoc>
    <javadoc packagenames="jakarta.websocket.*"
      sourcepath="${tomcat.dist}/src/java"
      destdir="${tomcat.dist}/webapps/docs/websocketapi"
      version="true"
      windowtitle="WebSocket ${websocket.spec.version} API Documentation - Apache Tomcat ${version}"
      doctitle="WebSocket ${websocket.spec.version} API - Apache Tomcat ${version}"
      header="&lt;b&gt;WebSocket ${websocket.spec.version} - Apache Tomcat ${version}&lt;/b&gt;"
      bottom="Copyright &amp;#169; 2000-${year} Apache Software Foundation. All Rights Reserved."
      encoding="UTF-8"
      docencoding="UTF-8"
      charset="UTF-8"
      additionalparam="-breakiterator -notimestamp -html5"
      source="${compile.release}"
      maxmemory="512m"
      failonerror="${javadoc.failonerror}"
      failonwarning="${javadoc.failonwarning}">
      <classpath>
        <path refid="compile.classpath"/>
        <path location="${ant.core.lib}"/>
      </classpath>
    </javadoc>
    <javadoc packagenames="jakarta.security.auth.message.*"
      sourcepath="${tomcat.dist}/src/java"
      destdir="${tomcat.dist}/webapps/docs/jaspicapi"
      version="true"
      windowtitle="JASPIC ${jaspic.spec.version} API Documentation - Apache Tomcat ${version}"
      doctitle="JASPIC ${jaspic.spec.version} API - Apache Tomcat ${version}"
      header="&lt;b&gt;JASPIC ${jaspic.spec.version} - Apache Tomcat ${version}&lt;/b&gt;"
      bottom="Copyright &amp;#169; 2000-${year} Apache Software Foundation. All Rights Reserved."
      encoding="UTF-8"
      docencoding="UTF-8"
      charset="UTF-8"
      additionalparam="-breakiterator -notimestamp -html5"
      maxmemory="512m"
      failonerror="${javadoc.failonerror}"
      failonwarning="${javadoc.failonwarning}">
      <classpath>
        <path refid="compile.classpath"/>
        <path location="${ant.core.lib}"/>
      </classpath>
    </javadoc>
    <javadoc packagenames="org.apache.*"
      destdir="${tomcat.dist}/webapps/docs/api"
      version="true"
      windowtitle="Apache Tomcat ${version} API Documentation"
      doctitle="Apache Tomcat ${version} API"
      header="&lt;b&gt;Apache Tomcat ${version}&lt;/b&gt;"
      bottom="Copyright &amp;#169; 2000-${year} Apache Software Foundation. All Rights Reserved."
      encoding="UTF-8"
      docencoding="UTF-8"
      charset="UTF-8"
      additionalparam="-breakiterator -notimestamp -html5"
      source="${compile.release}"
      maxmemory="512m"
      failonerror="${javadoc.failonerror}"
      failonwarning="${javadoc.failonwarning}">
      <classpath>
        <path refid="compile.classpath"/>
        <path location="${ant.core.lib}"/>
      </classpath>
      <link href="../annotationapi"/>
      <link href="../servletapi"/>
      <link href="../jspapi"/>
      <link href="../elapi"/>
      <link href="../websocketapi"/>
      <link href="../jaspicapi"/>
      <link href="https://docs.oracle.com/en/java/javase/11/docs/api/"/>
      <link href="https://jakarta.ee/specifications/platform/10/apidocs/"/>
      <packageset dir="${tomcat.dist}/src/java/">
        <include name="org/**"/>
        <exclude name="org/apache/el/parser/**"/>
        <exclude name="org/apache/tomcat/util/json/**"/>
      </packageset>
      <!--jdbc-pool src files for javadoc-->
      <packageset dir="${tomcat.dist}/src/modules/jdbc-pool/src/main/java"/>
    </javadoc>
  </target>

  <target name="dist-deployer" depends="dist-prepare,deploy"
    description="Create the Tomcat deployer binary">

    <!-- Servlet and JSP -->
    <copy todir="${tomcat.deployer}/lib">
      <fileset dir="${tomcat.build}/lib">
        <include name="catalina-ant.jar"/>
        <include name="el-api.jar"/>
        <include name="jsp-api.jar"/>
        <include name="jasper.jar"/>
        <include name="jasper-el.jar"/>
        <include name="jaspic-api.jar"/>
        <include name="servlet-api.jar"/>
        <include name="websocket-api.jar"/>
        <include name="websocket-client-api.jar"/>
        <include name="tomcat-websocket.jar"/>
        <include name="tomcat-coyote.jar"/>
        <include name="tomcat-util.jar"/>
        <include name="tomcat-util-scan.jar"/>
      </fileset>
      <fileset dir="${tomcat.build}/bin">
        <include name="tomcat-juli.jar"/>
      </fileset>
    </copy>

    <!-- Digester and dependencies -->
    <jar jarfile="${tomcat.deployer}/lib/catalina-deployer.jar"
         manifest="${tomcat.manifests}/default.manifest"
         modificationtime="${tstamp.iso.release}">
      <fileset dir="${tomcat.classes}">
        <include name="org/apache/catalina/startup/DigesterFactory.class" />
        <include name="org/apache/catalina/util/SchemaResolver.class" />
        <include name="org/apache/catalina/util/StringManager.class" />
        <include name="org/apache/tomcat/util/*" />
        <include name="org/apache/tomcat/util/digester/**" />
        <exclude name="org/apache/tomcat/util/bcel" />
        <exclude name="org/apache/tomcat/util/buf" />
        <exclude name="org/apache/tomcat/util/codec" />
        <exclude name="org/apache/tomcat/util/collections" />
        <exclude name="org/apache/tomcat/util/compat" />
        <exclude name="org/apache/tomcat/util/descriptor" />
        <exclude name="org/apache/tomcat/util/file" />
        <exclude name="org/apache/tomcat/util/http" />
        <exclude name="org/apache/tomcat/util/log" />
        <exclude name="org/apache/tomcat/util/modeler" />
        <exclude name="org/apache/tomcat/util/net" />
        <exclude name="org/apache/tomcat/util/res" />
        <exclude name="org/apache/tomcat/util/scan" />
        <exclude name="org/apache/tomcat/util/security" />
        <exclude name="org/apache/tomcat/util/threads" />
        <exclude name="**/package.html" />
        <exclude name="**/LocalStrings_*" />
      </fileset>
      <zipfileset file="${tomcat.manifests}/default.notice"
        fullpath="META-INF/NOTICE" />
      <zipfileset file="${tomcat.manifests}/default.license"
        fullpath="META-INF/LICENSE" />
    </jar>

    <!-- Main build script -->
    <copy todir="${tomcat.deployer}">
      <fileset dir="${basedir}/res/deployer" />
    </copy>

    <!-- Copy deployer documentation -->
    <copy todir="${tomcat.deployer}">
      <fileset dir="${tomcat.build}/webapps/docs">
        <include name="images/asf-logo.svg" />
        <include name="images/tomcat.png" />
        <include name="images/docs-stylesheet.css" />
      </fileset>
    </copy>
    <copy tofile="${tomcat.deployer}/deployer-howto.html"
      file="${tomcat.build}/webapps/docs/deployer-howto.html"/>

  </target>

  <target name="dist-source" depends="compile-prepare">

    <mkdir dir="${tomcat.dist}/src"/>

    <!-- Tomcat source -->
    <copy todir="${tomcat.dist}/src">
      <fileset dir="${basedir}" defaultexcludes="true">
        <not>
          <or>
            <filename name="**/.settings/**" />
            <filename name="**/.classpath"/>
            <filename name="**/.checkstyle"/>
            <filename name="**/.project"/>
            <filename name="**/nbproject/**"/>
            <filename name="**/output/**"/>
            <!-- Commented out, because
                 test/webapp-virtual-library and
                 test/webapp-virtual-webapp use it:
            <filename name="**/target/**"/>
            -->
            <filename name="**/build.properties"/>
            <filename name="**/mvn.properties"/>
            <and>
              <!-- Don't exclude the ide support sample files for idea -->
              <filename name="**/*.iml" />
              <not>
                <filename name="res/ide-support/idea/**" />
              </not>
            </and>
            <filename name="**/*.asc" />
            <filename name="**/*.tmp" />
            <filename name="**/maven-resolver-ant-tasks-*.jar" />
            <filename name="**/thumbs.db" />
            <filename name="**/Thumbs.db" />
            <filename name="*.launch"/>
            <filename name="bin/setenv.*" />
            <filename name="java/org/apache/catalina/startup/catalina.properties" />
            <filename name="java/org/apache/el/parser/ELParser.jj" />
            <filename name="logs/**" />
            <filename name="webapps/docs/jdbc-pool.xml" />
            <filename name="work/**" />
            <filename name="modules/jdbc-pool/bin/**" />
            <filename name="modules/jdbc-pool/includes/**" />
            <and>
              <!-- exclude all modules except jdbc-pool -->
              <filename name="modules/**" />
              <not>
                <filename name="modules/jdbc-pool/**" />
              </not>
            </and>
          </or>
        </not>
      </fileset>
    </copy>
  </target>

  <target name="-installer-pre-init">
    <property environment="env" />
    <condition property="wine.ok">
      <or>
        <os family="windows" />
        <available file="wine" filepath="${env.PATH}" />
        <isset property="skip.installer"/>
      </or>
    </condition>
  </target>

  <target name="-installer-init" depends="-installer-pre-init" unless="${wine.ok}">
    <fail message="The executable wine was not found on the current path.
Wine is required to build the Windows installer when running a release build on
a non-Windows platform. To skip building the Windows installer, set the
skip.installer property in build.properties" />
  </target>

  <target name="-installer-prep"
      unless="skip.installer" depends="dist-static,-installer-init">
    <copy todir="${tomcat.dist}">
      <fileset dir="res/install-win">
        <include name="INSTALLLICENSE" />
        <include name="*.bmp" />
        <include name="*.ico" />
        <include name="*.xml" />
        <include name="Uninstall.exe.sig" />
      </fileset>
    </copy>
    <copy file="res/install-win/tomcat-installer.exe.sig"
        tofile="${tomcat.release}/v${version}/bin/${final.name}.exe.sig"
        failonerror="false"
        quiet="true" />
    <copy file="${nsis.installoptions.dll}" todir="${tomcat.dist}" />
    <copy file="${nsis.nsexec.dll}" todir="${tomcat.dist}" />
    <copy file="${nsis.nsisdl.dll}" todir="${tomcat.dist}" />
    <copy file="${nsis.system.dll}" todir="${tomcat.dist}" />
    <copy file="${nsis.nsdialogs.dll}" todir="${tomcat.dist}" />
    <copy file="res/install-win/tomcat.nsi" tofile="${tomcat.dist}/tomcat.nsi" overwrite="true" encoding="ISO-8859-1">
      <filterset refid="version.filters"/>
    </copy>
    <fixcrlf srcdir="${tomcat.dist}" eol="crlf"
        encoding="ISO-8859-1" fixlast="false" >
      <patternset refid="text.files" />
    </fixcrlf>
    <!-- Reproducible builds: consistent timestamps for installer files -->
    <touch datetime="${tstamp.file}" pattern="yyyy-MM-dd HH:mm:ss">
      <fileset dir="${tomcat.dist}"/>
    </touch>
  </target>

  <target name="-installer-create-tempinstaller"
      unless="skip.installer" depends="-installer-prep">
    <exec dir="${tomcat.dist}" executable="${nsis.exe}" osfamily="windows">
      <arg value="/DUNINSTALLONLY" />
      <arg value="/DNSISDIR=${nsis.home}" />
      <arg value="/V2" />
      <arg value="tomcat.nsi" />
    </exec>
    <exec dir="${tomcat.dist}" executable="wine" osfamily="unix">
      <arg value="${nsis.exe}" />
      <arg value="/DUNINSTALLONLY" />
      <arg value="/DNSISDIR=${nsis.home}" />
      <arg value="/V2" />
      <arg value="tomcat.nsi" />
    </exec>
  </target>

  <target name="-installer-create-uninstaller"
      unless="skip.installer" depends="-installer-create-tempinstaller">
    <!-- Execute the temporary installer to create the uninstaller -->
    <exec dir="${tomcat.dist}" executable="${tomcat.dist}/tempinstaller.exe"
        osfamily="windows"  />
    <exec dir="${tomcat.dist}" executable="wine" osfamily="unix">
      <arg value="${tomcat.dist}/tempinstaller.exe" />
    </exec>
    <!-- Reproducible builds: consistent timestamps for installer files -->
    <touch datetime="${tstamp.file}" pattern="yyyy-MM-dd HH:mm:ss">
      <fileset dir="${tomcat.dist}"/>
    </touch>
  </target>

  <target name="-installer-sign-uninstaller"
      unless="skip.installer" depends="-installer-create-uninstaller,setup-jsign"
      if="${do.codesigning}">
    <!-- If the detached signature doesn't exist, this will sign the file    -->
    <!-- and create the detached signature. If the detached signature does   -->
    <!-- exist it will be attached to the file.                              -->
    <jsign file="${tomcat.dist}/Uninstall.exe"
        storepass="${codesigning.storepass}"
        storetype="${codesigning.storetype}"
        alias="${codesigning.alias}"
        alg="${codesigning.digest}"
        tsaurl="http://timestamp.digicert.com"
        detached="true"/>
    <!-- Copy detached signature to source tree -->
    <copy file="${tomcat.dist}/Uninstall.exe.sig" todir="res/install-win"/>
    <!-- Reproducible builds: consistent timestamps for installer files -->
    <touch datetime="${tstamp.file}" pattern="yyyy-MM-dd HH:mm:ss">
      <fileset dir="${tomcat.dist}"/>
    </touch>
  </target>

  <target name="-installer" unless="skip.installer"
      depends="-installer-sign-uninstaller">
    <exec dir="${tomcat.dist}" executable="${nsis.exe}" osfamily="windows">
      <arg value="/DNSISDIR=${nsis.home}" />
      <arg value="/V2" />
      <arg value="tomcat.nsi" />
    </exec>
    <exec dir="${tomcat.dist}" executable="wine" osfamily="unix">
      <arg value="${nsis.exe}" />
      <arg value="/DNSISDIR=${nsis.home}" />
      <arg value="/V2" />
      <arg value="tomcat.nsi" />
    </exec>
    <move file="${tomcat.dist}/tomcat-installer.exe" tofile="${tomcat.release}/v${version}/bin/${final.name}.exe" />
    <hashAndSign file="${tomcat.release}/v${version}/bin/${final.name}.exe" />
  </target>

  <target name="installer-sign"
      description="Builds and optionally signs the Windows installer"
      depends="-installer,setup-jsign" if="${do.codesigning}" >
    <jsign file="${tomcat.release}/v${version}/bin/${final.name}.exe"
        storepass="${codesigning.storepass}"
        storetype="${codesigning.storetype}"
        alias="${codesigning.alias}"
        alg="${codesigning.digest}"
        tsaurl="http://timestamp.digicert.com"
        detached="true" />
    <!-- Copy detached signature to source tree -->
    <copy file="${tomcat.release}/v${version}/bin/${final.name}.exe.sig"
        tofile="res/install-win/tomcat-installer.exe.sig"/>
    <delete file="${tomcat.release}/v${version}/bin/${final.name}.exe.sig" />
    <!-- .exe has changed so need to redo checksums and OpenPGP signature -->
    <delete file="${tomcat.release}/v${version}/bin/${final.name}.exe.asc" />
    <delete file="${tomcat.release}/v${version}/bin/${final.name}.exe.sha512" />
    <hashAndSign file="${tomcat.release}/v${version}/bin/${final.name}.exe" />
  </target>

  <target name="-pre-release-lone-target-check">
    <fail message="The pre-release target must be called all on its own. Specifically, you must run 'ant release' /after/ 'ant pre-release' in order to properly configure the build.">
      <condition>
        <not>
          <equals arg1="${ant.project.invoked-targets}" arg2="pre-release" />
        </not>
      </condition>
    </fail>
  </target>

  <target name="-pre-release-read-asf-username" unless="release.asfusername">
    <input message="Enter ASF username" addproperty="release.asfusername" defaultValue="${user.name}" />
  </target>

  <target name="pre-release" depends="-pre-release-lone-target-check, -pre-release-read-asf-username"
      description="Prepares for a release build by writing build.properties.release which contains information about the release-build environment.">
    <echo file="build.properties.release"># -----------------------------------------------------------------------------
# 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.
# -----------------------------------------------------------------------------

# This file was auto-generated by the pre-release Ant target.

# Any unwanted settings may be over-ridden in a build.properties file located
# in the same directory as this file.

# Set the version-dev to "" (empty string) as this is not a development release.
version.dev=

# Ensure consistent timestamps for reproducible builds.
ant.tstamp.now.iso=${tstamp.iso.release}

# Enable insertion of detached signatures into the Windows installer.
do.codesigning=true

# Re-use the same GPG executable.
gpg.exec=${gpg.exec}

# Reproducible builds require the use of the build tools defined below. The
# vendors (where appropriate) and versions must match exactly for a reproducible
# build since this data is embedded in various files, particularly JAR file
# manifests, as part of the build process.
#
# Apache Ant:      ${ant.version}
#
# Java Name:       ${java.vm.name}
# Java Vendor:     ${java.vm.vendor}
# Java Version:    ${java.vm.version}

# The following is provided for information only. Builds will be repeatable
# whether or not the build environment in consistent with this information.
#
# OS:              ${os.arch} ${os.name} ${os.version}
# File encoding:   ${file.encoding}
#
# Release Manager: ${release.asfusername}
</echo>
    <echo file="res/maven/mvn.properties.release"># -----------------------------------------------------------------------------
# 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.
# -----------------------------------------------------------------------------

# This file was auto-generated by the pre-release Ant target.

# Remove "-dev" from the version since this is not a development release.
maven.asf.release.deploy.version=${version.major}.${version.minor}.${version.build}${version.suffix}

# Re-use the same GPG executable.
gpg.exec=${gpg.exec}

# Set the user name to use to upload the artefacts to Nexus.
asf.ldap.username=${release.asfusername}
</echo>
    <replace file="webapps/docs/changelog.xml"
        encoding="UTF-8"
        token="rtext=&quot;in development&quot;"
        value="rtext=&quot;&quot;" />
  </target>

  <target name="release"
    depends="clean,release-init,dist-deployer,installer-sign,package-zip,package-winzip,package-tgz,package-deployer-zip,package-deployer-tgz,javadoc,package-docs-tgz,package-src-zip,package-src-tgz,package-src-jar"
    description="Create a Tomcat packaged distribution">

    <copy file="KEYS"
         todir="${tomcat.release}/v${version}"/>
    <copy file="RELEASE-NOTES"
         todir="${tomcat.release}/v${version}"
         encoding="ISO-8859-1">
      <filterset refid="version.filters"/>
    </copy>
    <copy file="res/welcome.main.html"
        tofile="${tomcat.release}/v${version}/README.html"
        encoding="UTF-8">
      <filterset refid="version.filters"/>
    </copy>
    <copy file="res/welcome.bin.html"
        tofile="${tomcat.release}/v${version}/bin/README.html"
        encoding="UTF-8">
      <filterset refid="version.filters"/>
    </copy>

    <mkdir dir="${tomcat.release}/v${version}/bin/embed" />
    <copy todir="${tomcat.release}/v${version}/bin/embed">
      <fileset dir="${tomcat.embed}">
        <include name="*.zip"/>
        <include name="*.tar.gz"/>
        <include name="*.asc"/>
        <include name="*.sha512"/>
      </fileset>
    </copy>

  </target>

  <!-- Sets properties only required for releases -->
  <target name="release-init" depends="gpg-init-1,gpg-init-2,compile" >
    <taskdef name="forceUtcTimeZone"
             classname="org.apache.tomcat.buildutil.ForceUtcTimeZone"
             classpath="${tomcat.classes}" />
    <forceUtcTimeZone />
  </target>

  <target name="gpg-init-1">
    <available file="${gpg.exec}" property="gpg.exec.available"/>
  </target>

  <target name="gpg-init-2" if="${gpg.exec.available}">
    <input message="Enter GPG pass-phrase" addproperty="gpg.passphrase" >
      <handler type="secure"/>
    </input>
  </target>

  <!-- Packages the core zip distro -->
  <target name="package-zip" depends="dist-static">
    <fixcrlf srcdir="${tomcat.dist}" eol="crlf"
        encoding="ISO-8859-1" fixlast="false" >
      <patternset refid="text.files" />
    </fixcrlf>

    <zip zipfile="${tomcat.release}/v${version}/bin/${final.name}.zip"
         modificationtime="${tstamp.iso.release}"
         encoding="UTF8">
      <zipfileset file="${tomcat.dist}" fullpath="${final.name}"/>
      <zipfileset dir="${tomcat.dist}" prefix="${final.name}">
        <include name="bin/**"/>
        <include name="conf/**"/>
        <include name="logs/**"/>
        <include name="lib/**"/>
        <include name="webapps/**"/>
        <include name="work/**"/>
        <include name="temp/**"/>
        <include name="LICENSE"/>
        <include name="NOTICE"/>
        <include name="README.md"/>
        <include name="RELEASE-NOTES"/>
        <include name="RUNNING.txt"/>
        <include name="BUILDING.txt" />
        <include name="CONTRIBUTING.md"/>
        <exclude name="bin/service.bat"/>
        <exclude name="bin/x64/"/>
        <exclude name="bin/*.exe"/>
        <exclude name="bin/*.dll"/>
      </zipfileset>
    </zip>

    <hashAndSign file="${tomcat.release}/v${version}/bin/${final.name}.zip" />
  </target>

  <!-- Packages the core windows zip distros -->
  <target name="package-winzip" depends="dist-static">
    <fixcrlf srcdir="${tomcat.dist}" eol="crlf"
        encoding="ISO-8859-1" fixlast="false" >
      <patternset refid="text.files" />
    </fixcrlf>

    <!-- Windows x86 package -->
    <zip zipfile="${tomcat.release}/v${version}/bin/${final.name}-windows-x86.zip"
         modificationtime="${tstamp.iso.release}"
         encoding="UTF8">
      <zipfileset file="${tomcat.dist}" fullpath="${final.name}"/>
      <zipfileset dir="${tomcat.dist}" prefix="${final.name}">
        <include name="bin/**"/>
        <include name="conf/**"/>
        <include name="logs/**"/>
        <include name="lib/**"/>
        <include name="webapps/**"/>
        <include name="work/**"/>
        <include name="temp/**"/>
        <include name="LICENSE"/>
        <include name="NOTICE"/>
        <include name="README.md"/>
        <include name="RELEASE-NOTES"/>
        <include name="RUNNING.txt"/>
        <include name="BUILDING.txt" />
        <include name="CONTRIBUTING.md"/>
        <exclude name="bin/x64/"/>
        <exclude name="bin/commons-daemon-native.tar.gz"/>
        <exclude name="bin/tomcat-native.tar.gz"/>
      </zipfileset>

    </zip>
    <hashAndSign file="${tomcat.release}/v${version}/bin/${final.name}-windows-x86.zip" />

    <!-- Windows x64 package -->
    <zip zipfile="${tomcat.release}/v${version}/bin/${final.name}-windows-x64.zip"
         modificationtime="${tstamp.iso.release}"
         encoding="UTF8">
      <zipfileset file="${tomcat.dist}" fullpath="${final.name}"/>
      <zipfileset dir="${tomcat.dist}" prefix="${final.name}">
        <include name="bin/**"/>
        <include name="conf/**"/>
        <include name="logs/**"/>
        <include name="lib/**"/>
        <include name="webapps/**"/>
        <include name="work/**"/>
        <include name="temp/**"/>
        <include name="LICENSE"/>
        <include name="NOTICE"/>
        <include name="README.md"/>
        <include name="RELEASE-NOTES"/>
        <include name="RUNNING.txt"/>
        <include name="BUILDING.txt" />
        <include name="CONTRIBUTING.md"/>
        <exclude name="bin/x64/"/>
        <exclude name="bin/*.dll"/>
        <exclude name="bin/tomcat${version.major}.exe"/>
        <exclude name="bin/commons-daemon-native.tar.gz"/>
        <exclude name="bin/tomcat-native.tar.gz"/>
      </zipfileset>
      <zipfileset dir="${tomcat.dist}/bin/x64" prefix="${final.name}/bin">
        <include name="*.dll"/>
        <include name="*.exe"/>
      </zipfileset>
    </zip>
    <hashAndSign file="${tomcat.release}/v${version}/bin/${final.name}-windows-x64.zip" />
  </target>

  <!-- Packages the deployer distribution in zip format -->
  <target name="package-deployer-zip">
    <fixcrlf srcdir="${tomcat.dist}" eol="crlf"
        encoding="ISO-8859-1" fixlast="false" >
      <patternset refid="text.files" />
    </fixcrlf>
    <fixcrlf srcdir="${tomcat.deployer}" eol="crlf"
        encoding="ISO-8859-1" fixlast="false" >
      <patternset refid="text.files" />
    </fixcrlf>

    <zip zipfile="${tomcat.release}/v${version}/bin/${final.name}-deployer.zip"
         modificationtime="${tstamp.iso.release}"
         encoding="UTF8">
      <zipfileset file="${tomcat.deployer}" fullpath="${final.name}-deployer"/>
      <zipfileset dir="${tomcat.deployer}" prefix="${final.name}-deployer" includes="**" />
      <zipfileset dir="${tomcat.dist}" prefix="${final.name}-deployer" includes="LICENSE" />
      <zipfileset dir="${tomcat.dist}" prefix="${final.name}-deployer" includes="NOTICE" />
      <zipfileset dir="${tomcat.dist}" prefix="${final.name}-deployer" includes="README.md" />
      <zipfileset dir="${tomcat.dist}" prefix="${final.name}-deployer" includes="RELEASE-NOTES" />
    </zip>

    <hashAndSign file="${tomcat.release}/v${version}/bin/${final.name}-deployer.zip" />
  </target>

  <!-- Packages the core tar.gz distro -->
  <target name="package-tgz" depends="dist-static">
    <fixcrlf srcdir="${tomcat.dist}" eol="lf"
        encoding="ISO-8859-1" fixlast="false" >
      <patternset refid="text.files" />
    </fixcrlf>

    <!-- Reproducible builds: consistent timestamps for distributed files -->
    <touch datetime="${tstamp.file}" pattern="yyyy-MM-dd HH:mm:ss">
      <fileset dir="${tomcat.dist}"/>
    </touch>

    <tar longfile="gnu" compression="gzip"
         tarfile="${tomcat.release}/v${version}/bin/${final.name}.tar.gz">
      <tarfileset dir="${tomcat.dist}" dirmode="700" filemode="600" prefix="${final.name}">
        <include name="conf/**" />
      </tarfileset>
      <tarfileset dir="${tomcat.dist}" dirmode="750" filemode="640" prefix="${final.name}">
        <include name="bin/**" />
        <include name="lib/**" />
        <include name="logs/**" />
        <include name="temp/**" />
        <include name="webapps/**" />
        <include name="work/**" />
        <include name="LICENSE" />
        <include name="NOTICE" />
        <include name="README.md" />
        <include name="RELEASE-NOTES" />
        <include name="RUNNING.txt" />
        <include name="BUILDING.txt" />
        <include name="CONTRIBUTING.md"/>
        <exclude name="conf/**" />
        <exclude name="src/**" />
        <exclude name="bin/service.bat"/>
        <exclude name="bin/*.sh"/>
        <exclude name="bin/x64/"/>
        <exclude name="bin/*.exe"/>
        <exclude name="bin/*.dll"/>
      </tarfileset>
      <!-- These need to be added after the bin directory is added else the  -->
      <!-- bin directory will pick up the wrong permissions.                 -->
      <tarfileset dir="${tomcat.dist}" dirmode="750" filemode="750" prefix="${final.name}">
        <include name="bin/*.sh" />
      </tarfileset>
    </tar>

    <hashAndSign file="${tomcat.release}/v${version}/bin/${final.name}.tar.gz" />
  </target>

  <!-- Packages the deployer Tomcat distro in tar.gz format -->
  <target name="package-deployer-tgz">
    <fixcrlf srcdir="${tomcat.dist}" eol="lf"
        encoding="ISO-8859-1" fixlast="false" >
      <patternset refid="text.files" />
    </fixcrlf>
    <fixcrlf srcdir="${tomcat.deployer}" eol="lf"
        encoding="ISO-8859-1" fixlast="false" >
      <patternset refid="text.files" />
    </fixcrlf>

    <!-- Reproducible builds: consistent timestamps for distributed files -->
    <touch datetime="${tstamp.file}" pattern="yyyy-MM-dd HH:mm:ss">
      <fileset dir="${tomcat.dist}"/>
      <fileset dir="${tomcat.deployer}"/>
    </touch>

    <tar longfile="gnu" compression="gzip"
         tarfile="${tomcat.release}/v${version}/bin/${final.name}-deployer.tar.gz">
      <tarfileset dir="${tomcat.dist}" prefix="${final.name}-deployer">
        <include name="LICENSE" />
        <include name="NOTICE" />
        <include name="README.md" />
        <include name="RELEASE-NOTES" />
      </tarfileset>
      <tarfileset dir="${tomcat.deployer}" prefix="${final.name}-deployer">
        <include name="**" />
      </tarfileset>
    </tar>

    <hashAndSign file="${tomcat.release}/v${version}/bin/${final.name}-deployer.tar.gz" />
  </target>

  <!-- Packages the documentation distro in tar.gz format -->
  <target name="package-docs-tgz" depends="dist-static">
    <fixcrlf srcdir="${tomcat.dist}" eol="lf"
        encoding="ISO-8859-1" fixlast="false" >
      <patternset refid="text.files" />
    </fixcrlf>

    <!-- Reproducible builds: consistent timestamps for distributed files.   -->
    <!-- Javadocs need additional processing.                                -->
    <!-- 1. line endings vary between platforms for some files               -->
    <!-- 2. The contents of generated zip files don't have fixed timestamps  -->
    <!-- Process the zip files first as the resulting zip files will need    -->
    <!-- the last modified timestamp to be changed as well.                  -->
    <fixcrlf srcdir="${tomcat.dist}/webapps/docs" eol="lf"
        encoding="UTF-8" fixlast="false" >
      <include name="**/*.js" />
      <include name="**/element-list" />
    </fixcrlf>
    <taskdef name="repeatableArchive"
             classname="org.apache.tomcat.buildutil.RepeatableArchive"
             classpath="${tomcat.classes}" />
    <repeatableArchive datetime="${tstamp.file}" pattern="yyyy-MM-dd HH:mm:ss">
      <fileset dir="${tomcat.dist}/webapps/docs">
        <include name="**/*.zip"/>
      </fileset>
    </repeatableArchive>
    <touch datetime="${tstamp.file}" pattern="yyyy-MM-dd HH:mm:ss">
      <fileset dir="${tomcat.dist}"/>
    </touch>

    <tar longfile="gnu" compression="gzip"
         tarfile="${tomcat.release}/v${version}/bin/${final.name}-fulldocs.tar.gz">
      <tarfileset dir="${tomcat.dist}" prefix="tomcat-${version.major.minor}-doc">
        <include name="LICENSE" />
        <include name="NOTICE" />
        <include name="README.md" />
      </tarfileset>
      <tarfileset dir="${tomcat.dist}/webapps/docs" prefix="tomcat-${version.major.minor}-doc">
        <include name="**" />
      </tarfileset>
    </tar>

    <hashAndSign file="${tomcat.release}/v${version}/bin/${final.name}-fulldocs.tar.gz" />
  </target>

  <!-- Packages the source code distribution in zip format -->
  <target name="package-src-zip" depends="dist-source">
    <fixcrlf srcdir="${tomcat.dist}/src" eol="crlf"
        encoding="ISO-8859-1" fixlast="false" >
      <patternset refid="text.files"/>
      <include name="bin/*.bat" />
      <include name="bin/*.sh" />
      <include name=".travis/*.sh" />
      <include name="res/graal/*.sh" />
    </fixcrlf>

    <zip zipfile="${tomcat.release}/v${version}/src/${final-src.name}.zip"
         modificationtime="${tstamp.iso.release}"
         encoding="UTF8">
      <zipfileset file="${tomcat.dist}/src" fullpath="${final-src.name}" />
      <zipfileset dir="${tomcat.dist}/src" prefix="${final-src.name}" />
    </zip>

    <hashAndSign file="${tomcat.release}/v${version}/src/${final-src.name}.zip" />
  </target>

  <!-- Packages the source code distribution in tar.gz format -->
  <target name="package-src-tgz" depends="dist-source">
    <fixcrlf srcdir="${tomcat.dist}/src" eol="lf"
        encoding="ISO-8859-1" fixlast="false" >
      <patternset refid="text.files"/>
      <include name="bin/*.bat" />
      <include name="bin/*.sh" />
      <include name=".travis/*.sh" />
      <include name="res/graal/*.sh" />
    </fixcrlf>

    <!-- Reproducible builds: consistent timestamps for distributed files -->
    <touch datetime="${tstamp.file}" pattern="yyyy-MM-dd HH:mm:ss">
      <fileset dir="${tomcat.dist}"/>
    </touch>

    <tar longfile="gnu" compression="gzip"
         tarfile="${tomcat.release}/v${version}/src/${final-src.name}.tar.gz">
      <tarfileset dir="${tomcat.dist}/src" prefix="${final-src.name}" />
    </tar>
    <hashAndSign file="${tomcat.release}/v${version}/src/${final-src.name}.tar.gz" />
  </target>

  <!-- Packages the source code in JARs to match the binary JARs -->
  <target name="package-src-jar"
          depends="build-manifests,build-tomcat-jdbc-src">

    <mkdir dir="${tomcat.src.jars}" />

    <!-- Common Annotations JAR File -->
    <jarIt jarfile="${annotations-api-src.jar}"
      filesDir="java"
      filesId="files.annotations-api"
      manifest="${tomcat.manifests}/annotations-api.jar.manifest" />

    <!-- Servlet Implementation JAR File -->
    <jarIt jarfile="${servlet-api-src.jar}"
      filesDir="java"
      filesId="files.servlet-api"
      manifest="${tomcat.manifests}/servlet-api.jar.manifest"
      notice="${tomcat.manifests}/servlet-api.jar.notice"
      license="${tomcat.manifests}/servlet-api.jar.license" />

    <!-- JSP EL Implementation JAR File -->
    <jarIt jarfile="${el-api-src.jar}"
      filesDir="java"
      filesId="files.el-api"
      manifest="${tomcat.manifests}/el-api.jar.manifest" />

    <!-- JSP Implementation JAR File -->
    <jarIt jarfile="${jsp-api-src.jar}"
      filesDir="java"
      filesId="files.jsp-api"
      manifest="${tomcat.manifests}/jsp-api.jar.manifest"
      notice="${tomcat.manifests}/jsp-api.jar.notice"
      license="${tomcat.manifests}/jsp-api.jar.license" />

    <!-- WebSocket API JAR File -->
    <jarIt jarfile="${websocket-api-src.jar}"
      filesDir="java"
      filesId="files.websocket-api"
      manifest="${tomcat.manifests}/websocket-api.jar.manifest" />

    <!-- WebSocket Client API JAR File -->
    <jarIt jarfile="${websocket-client-api-src.jar}"
      filesDir="java"
      filesId="files.websocket-client-api"
      manifest="${tomcat.manifests}/websocket-client-api.jar.manifest" />

    <!-- JASPIC API JAR File -->
    <jarIt jarfile="${jaspic-api-src.jar}"
      filesDir="java"
      filesId="files.jaspic-api"
      manifest="${tomcat.manifests}/jaspic-api.jar.manifest"
      notice="${tomcat.manifests}/jaspic-api.jar.notice"
      license="${tomcat.manifests}/jaspic-api.jar.license" />

    <!-- Tomcat-juli JAR File -->
    <jarIt jarfile="${tomcat-juli-src.jar}"
      filesDir="java"
      filesId="files.tomcat-juli" />

    <!-- Bootstrap JAR File -->
    <jarIt jarfile="${bootstrap-src.jar}"
      filesDir="java"
      filesId="files.bootstrap"
      manifest="${tomcat.manifests}/bootstrap.jar.manifest" />

    <!-- Tomcat Util JAR File -->
    <jarIt jarfile="${tomcat-util-src.jar}"
      filesDir="java"
      filesId="files.tomcat-util" />

    <!-- Tomcat API JAR File -->
    <jarIt jarfile="${tomcat-api-src.jar}"
      filesDir="java"
      filesId="files.tomcat-api" />

    <!-- Tomcat Util Scan JAR File -->
    <jarIt jarfile="${tomcat-util-scan-src.jar}"
      filesDir="java"
      filesId="files.tomcat-util-scan" />

    <!-- JNI -->
    <jarIt jarfile="${tomcat-jni-src.jar}"
      filesDir="java"
      filesId="files.tomcat-jni" />

    <!-- Protocol handlers - Coyote -->
    <jarIt jarfile="${tomcat-coyote-src.jar}"
      filesDir="java"
      filesId="files.tomcat-coyote" />

    <!-- WebSocket implementation JAR File -->
    <jarIt jarfile="${tomcat-websocket-src.jar}"
      filesDir="java"
      filesId="files.tomcat-websocket" />

    <!-- Catalina GroupCom/Tribes JAR File -->
    <jarIt jarfile="${catalina-tribes-src.jar}"
      filesDir="java"
      filesId="files.catalina-tribes" />

    <!-- Catalina Main JAR File -->
    <jarIt jarfile="${catalina-src.jar}"
      filesDir="java"
      filesId="files.catalina" />

    <!-- Catalina Cluster/HA JAR File -->
    <jarIt jarfile="${catalina-ha-src.jar}"
      filesDir="java"
      filesId="files.catalina-ha" />

    <!-- Catalina SSI JAR File -->
    <jarIt jarfile="${catalina-ssi-src.jar}"
      filesDir="java"
      filesId="files.catalina-ssi" />

    <!-- Catalina Ant Tasks JAR File -->
    <jarIt jarfile="${catalina-ant-src.jar}"
      filesDir="java"
      filesId="files.catalina-ant" />

    <!-- Catalina Storeconfig JAR File -->
    <jarIt jarfile="${catalina-storeconfig-src.jar}"
      filesDir="java"
      filesId="files.catalina-storeconfig" />

    <!-- Jasper EL Implementation JAR File -->
    <jarIt jarfile="${jasper-el-src.jar}"
      filesDir="java"
      filesId="files.jasper-el" />

    <!-- Jasper Implementation JAR File -->
    <jarIt jarfile="${jasper-src.jar}"
      filesDir="java"
      filesId="files.jasper" />

    <!-- Repackaged DBCP 2 -->
    <jarIt jarfile="${tomcat-dbcp-src.jar}"
      filesDir="java"
      filesId="files.tomcat-dbcp" />

    <!-- jdbc-pool JAR File -->
    <copy file="${tomcat-jdbc-src.jar}" todir="${tomcat.src.jars}" />
  </target>

  <!-- ========================= Cleaning Targets ========================== -->

  <target name="clean"
          description="Delete the default output folders">
    <delete dir="${tomcat.output}" />
    <!-- Remove the copied catalina.properties -->
    <delete file="java/org/apache/catalina/startup/catalina.properties" />
    <ant antfile="${tomcat.jdbc.dir}/build.xml" dir="${tomcat.jdbc.dir}" inheritAll="false" target="clean">
      <property name="tomcat.pool" value="${tomcat.pool}" />
    </ant>
    <!-- remove jdbc-pool documentation -->
    <delete file="webapps/docs/jdbc-pool.xml"/>
  </target>


  <!-- ================ Download and dependency building =================== -->

  <target name="download-validate"
          description="Download components necessary to validate source"
          if="${execute.validate}">

    <antcall target="downloadfile">
      <param name="sourcefile" value="${checkstyle.loc}"/>
      <param name="destfile" value="${checkstyle.jar}"/>
      <param name="destdir" value="${base.path}"/>
      <param name="checksum.enabled" value="${checkstyle.checksum.enabled}"/>
      <param name="checksum.algorithm" value="${checkstyle.checksum.algorithm}"/>
      <param name="checksum.value" value="${checkstyle.checksum.value}"/>
    </antcall>

  </target>

  <target name="download-compile"
          description="Download components necessary to compile"
          depends="setup-bnd">

    <!-- Download Commons Daemon -->
    <antcall target="downloadgz-2">
      <param name="sourcefile.1" value="${commons-daemon.bin.loc.1}"/>
      <param name="sourcefile.2" value="${commons-daemon.bin.loc.2}"/>
      <param name="destfile" value="${commons-daemon.jar}"/>
      <param name="checksum.enabled" value="${commons-daemon.bin.checksum.enabled}"/>
      <param name="checksum.algorithm" value="${commons-daemon.bin.checksum.algorithm}"/>
      <param name="checksum.value" value="${commons-daemon.bin.checksum.value}"/>
    </antcall>

    <!-- Download JDT (Eclipse compiler) -->
    <antcall target="downloadfile-2">
      <param name="sourcefile.1" value="${jdt.loc.1}"/>
      <param name="sourcefile.2" value="${jdt.loc.2}"/>
      <param name="destfile" value="${jdt.jar}"/>
      <param name="destdir" value="${jdt.home}"/>
      <param name="checksum.enabled" value="${jdt.checksum.enabled}"/>
      <param name="checksum.algorithm" value="${jdt.checksum.algorithm}"/>
      <param name="checksum.value" value="${jdt.checksum.value}"/>
    </antcall>

    <!-- Tomcat Migration Tool for Jakarta EE -->
    <antcall target="downloadfile">
      <param name="sourcefile" value="${migration-lib.loc}"/>
      <param name="destfile" value="${migration-lib.jar}"/>
      <param name="destdir" value="${migration-lib.home}"/>
      <param name="checksum.enabled" value="${migration-lib.checksum.enabled}"/>
      <param name="checksum.algorithm" value="${migration-lib.checksum.algorithm}"/>
      <param name="checksum.value" value="${migration-lib.checksum.value}"/>
    </antcall>

  </target>

  <target name="download-test-compile"
          description="Download additional components for the tests" >

    <antcall target="downloadfile">
      <param name="sourcefile" value="${junit.loc}"/>
      <param name="destfile" value="${junit.jar}"/>
      <param name="destdir" value="${junit.home}"/>
      <param name="checksum.enabled" value="${junit.checksum.enabled}"/>
      <param name="checksum.algorithm" value="${junit.checksum.algorithm}"/>
      <param name="checksum.value" value="${junit.checksum.value}"/>
    </antcall>

    <antcall target="downloadfile">
      <param name="sourcefile" value="${hamcrest.loc}"/>
      <param name="destfile" value="${hamcrest.jar}"/>
      <param name="destdir" value="${hamcrest.home}"/>
      <param name="checksum.enabled" value="${hamcrest.checksum.enabled}"/>
      <param name="checksum.algorithm" value="${hamcrest.checksum.algorithm}"/>
      <param name="checksum.value" value="${hamcrest.checksum.value}"/>
    </antcall>

    <antcall target="downloadfile">
      <param name="sourcefile" value="${easymock.loc}"/>
      <param name="destfile" value="${easymock.jar}"/>
      <param name="destdir" value="${easymock.home}"/>
      <param name="checksum.enabled" value="${easymock.checksum.enabled}"/>
      <param name="checksum.algorithm" value="${easymock.checksum.algorithm}"/>
      <param name="checksum.value" value="${easymock.checksum.value}"/>
    </antcall>

    <antcall target="downloadfile">
      <param name="sourcefile" value="${cglib.loc}"/>
      <param name="destfile" value="${cglib.jar}"/>
      <param name="destdir" value="${cglib.home}"/>
      <param name="checksum.enabled" value="${cglib.checksum.enabled}"/>
      <param name="checksum.algorithm" value="${cglib.checksum.algorithm}"/>
      <param name="checksum.value" value="${cglib.checksum.value}"/>
    </antcall>

    <antcall target="downloadfile">
      <param name="sourcefile" value="${objenesis.loc}"/>
      <param name="destfile" value="${objenesis.jar}"/>
      <param name="destdir" value="${objenesis.home}"/>
      <param name="checksum.enabled" value="${objenesis.checksum.enabled}"/>
      <param name="checksum.algorithm" value="${objenesis.checksum.algorithm}"/>
      <param name="checksum.value" value="${objenesis.checksum.value}"/>
    </antcall>

    <antcall target="downloadfile">
      <param name="sourcefile" value="${unboundid.loc}"/>
      <param name="destfile" value="${unboundid.jar}"/>
      <param name="destdir" value="${unboundid.home}"/>
      <param name="checksum.enabled" value="${unboundid.checksum.enabled}"/>
      <param name="checksum.algorithm" value="${unboundid.checksum.algorithm}"/>
      <param name="checksum.value" value="${unboundid.checksum.value}"/>
    </antcall>

    <antcall target="downloadfile">
      <param name="sourcefile" value="${derby.loc}"/>
      <param name="destfile" value="${derby.jar}"/>
      <param name="destdir" value="${derby.home}"/>
      <param name="checksum.enabled" value="${derby.checksum.enabled}"/>
      <param name="checksum.algorithm" value="${derby.checksum.algorithm}"/>
      <param name="checksum.value" value="${derby.checksum.value}"/>
    </antcall>

    <antcall target="downloadfile">
      <param name="sourcefile" value="${derby-shared.loc}"/>
      <param name="destfile" value="${derby-shared.jar}"/>
      <param name="destdir" value="${derby.home}"/>
      <param name="checksum.enabled" value="${derby-shared.checksum.enabled}"/>
      <param name="checksum.algorithm" value="${derby-shared.checksum.algorithm}"/>
      <param name="checksum.value" value="${derby-shared.checksum.value}"/>
    </antcall>

    <antcall target="downloadfile">
      <param name="sourcefile" value="${derby-tools.loc}"/>
      <param name="destfile" value="${derby-tools.jar}"/>
      <param name="destdir" value="${derby.home}"/>
      <param name="checksum.enabled" value="${derby-tools.checksum.enabled}"/>
      <param name="checksum.algorithm" value="${derby-tools.checksum.algorithm}"/>
      <param name="checksum.value" value="${derby-tools.checksum.value}"/>
    </antcall>

  </target>

  <target name="download-jacoco"
          description="Download the Jacoco code coverage tool" >

    <antcall target="downloadzip">
      <param name="sourcefile" value="${jacoco.loc}"/>
      <param name="destfile" value="${jacoco.jar}"/>
      <param name="destdir" value="${jacoco.home}"/>
      <param name="checksum.enabled" value="${jacoco.checksum.enabled}"/>
      <param name="checksum.algorithm" value="${jacoco.checksum.algorithm}"/>
      <param name="checksum.value" value="${jacoco.checksum.value}"/>
    </antcall>

  </target>

  <target name="setup-jacoco" depends="download-jacoco">
    <!-- Add JaCoCo tasks to project -->
    <path id="jacoco.classpath">
      <fileset file="${jacoco.jar}" />
    </path>

    <taskdef uri="antlib:org.jacoco.ant"
             resource="org/jacoco/ant/antlib.xml"
             classpathref="jacoco.classpath"
             />

  </target>


  <target name="download-spotbugs"
          if="${execute.spotbugs}"
          description="Download SpotBugs" >

    <antcall target="downloadgz">
      <param name="sourcefile" value="${spotbugs.loc}"/>
      <param name="destfile" value="${spotbugs.jar}"/>
      <param name="checksum.enabled" value="${spotbugs.checksum.enabled}"/>
      <param name="checksum.algorithm" value="${spotbugs.checksum.algorithm}"/>
      <param name="checksum.value" value="${spotbugs.checksum.value}"/>
    </antcall>

  </target>

  <target name="download-dist"
          description="Download additional components for a distribution" >

    <antcall target="downloadfile-2">
      <param name="sourcefile.1" value="${tomcat-native.loc.1}"/>
      <param name="sourcefile.2" value="${tomcat-native.loc.2}"/>
      <param name="destfile" value="${tomcat-native.tar.gz}"/>
      <param name="destdir" value="${tomcat-native.home}"/>
      <param name="checksum.enabled" value="${tomcat-native.src.checksum.enabled}"/>
      <param name="checksum.algorithm" value="${tomcat-native.src.checksum.algorithm}"/>
      <param name="checksum.value" value="${tomcat-native.src.checksum.value}"/>
    </antcall>

    <antcall target="downloadzip-2">
      <param name="sourcefile.1" value="${tomcat-native.win.1}"/>
      <param name="sourcefile.2" value="${tomcat-native.win.2}"/>
      <param name="destfile" value="${tomcat-native.home}/LICENSE"/>
      <param name="destdir" value="${tomcat-native.home}"/>
      <param name="checksum.enabled" value="${tomcat-native.win.checksum.enabled}"/>
      <param name="checksum.algorithm" value="${tomcat-native.win.checksum.algorithm}"/>
      <param name="checksum.value" value="${tomcat-native.win.checksum.value}"/>
    </antcall>

    <antcall target="downloadfile-2">
      <param name="sourcefile.1" value="${commons-daemon.native.src.loc.1}"/>
      <param name="sourcefile.2" value="${commons-daemon.native.src.loc.2}"/>
      <param name="destfile" value="${commons-daemon.native.src.tgz}"/>
      <param name="destdir" value="${commons-daemon.home}"/>
      <param name="checksum.enabled" value="${commons-daemon.native.src.checksum.enabled}"/>
      <param name="checksum.algorithm" value="${commons-daemon.native.src.checksum.algorithm}"/>
      <param name="checksum.value" value="${commons-daemon.native.src.checksum.value}"/>
    </antcall>

    <antcall target="downloadzip-2">
      <param name="sourcefile.1" value="${commons-daemon.native.win.loc.1}"/>
      <param name="sourcefile.2" value="${commons-daemon.native.win.loc.2}"/>
      <param name="destfile" value="${commons-daemon.native.win.mgr.exe}"/>
      <param name="destdir" value="${commons-daemon.native.win.home}"/>
      <param name="checksum.enabled" value="${commons-daemon.native.win.checksum.enabled}"/>
      <param name="checksum.algorithm" value="${commons-daemon.native.win.checksum.algorithm}"/>
      <param name="checksum.value" value="${commons-daemon.native.win.checksum.value}"/>
    </antcall>

    <antcall target="downloadzip">
      <param name="sourcefile" value="${nsis.loc}"/>
      <param name="destfile" value="${nsis.exe}"/>
      <param name="destdir" value="${nsis.home}/.."/>
      <param name="checksum.enabled" value="${nsis.checksum.enabled}"/>
      <param name="checksum.algorithm" value="${nsis.checksum.algorithm}"/>
      <param name="checksum.value" value="${nsis.checksum.value}"/>
    </antcall>

  </target>

  <!-- =============== Utility Targets to support downloads ================ -->

  <target name="setproxy" if="${proxy.use}">
    <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>

  <macrodef name="verifyChecksum">
    <attribute name="file" />
    <attribute name="name" default="@{file}"/>
    <attribute name="enabled" />
    <attribute name="algorithm" />
    <attribute name="value" />
    <sequential>
      <local name="name" />
      <basename property="name" file="@{name}" />
      <sequential if:true="@{enabled}">
        <local name="check.md5" />
        <local name="check.sha1" />
        <local name="check.sha256" />
        <local name="check.sha384" />
        <local name="check.sha512" />
        <local name="value.md5" />
        <local name="value.sha1" />
        <local name="value.sha256" />
        <local name="value.sha384" />
        <local name="value.sha512" />
        <local name="check.success" />
        <condition property="check.md5">
          <or>
            <equals arg1="@{algorithm}" arg2="MD5" />
            <equals arg1="@{algorithm}" arg2="MD5|SHA-1" />
          </or>
        </condition>
        <condition property="check.sha1">
          <or>
            <equals arg1="@{algorithm}" arg2="SHA-1" />
            <equals arg1="@{algorithm}" arg2="MD5|SHA-1" />
          </or>
        </condition>
        <condition property="check.sha256">
          <equals arg1="@{algorithm}" arg2="SHA-256" />
        </condition>
        <condition property="check.sha384">
          <equals arg1="@{algorithm}" arg2="SHA-384" />
        </condition>
        <condition property="check.sha512">
          <equals arg1="@{algorithm}" arg2="SHA-512" />
        </condition>
        <!-- Check that any checksum algorithm is selected -->
        <fail message="Unknown algorithm: @{algorithm}">
          <condition>
            <not>
              <or>
                <equals arg1="${check.md5}" arg2="true" />
                <equals arg1="${check.sha1}" arg2="true" />
                <equals arg1="${check.sha256}" arg2="true" />
                <equals arg1="${check.sha384}" arg2="true" />
                <equals arg1="${check.sha512}" arg2="true" />
              </or>
            </not>
          </condition>
        </fail>
        <!-- Calculate requested checksums -->
        <checksum file="@{file}" if:true="${check.md5}" property="value.md5" algorithm="MD5" />
        <checksum file="@{file}" if:true="${check.sha1}" property="value.sha1" algorithm="SHA-1" />
        <checksum file="@{file}" if:true="${check.sha256}" property="value.sha256" algorithm="SHA-256" />
        <checksum file="@{file}" if:true="${check.sha384}" property="value.sha384" algorithm="SHA-384" />
        <checksum file="@{file}" if:true="${check.sha512}" property="value.sha512" algorithm="SHA-512" />
        <!-- Check actual checksum value -->
        <condition property="check.success">
          <or>
            <and>
              <equals arg1="@{algorithm}" arg2="MD5" />
              <equals arg1="@{value}" arg2="${value.md5}" />
            </and>
            <and>
              <equals arg1="@{algorithm}" arg2="SHA-1" />
              <equals arg1="@{value}" arg2="${value.sha1}" />
            </and>
            <and>
              <equals arg1="@{algorithm}" arg2="MD5|SHA-1" />
              <equals arg1="@{value}" arg2="${value.md5}|${value.sha1}" />
            </and>
            <and>
              <equals arg1="@{algorithm}" arg2="SHA-256" />
              <equals arg1="@{value}" arg2="${value.sha256}" />
            </and>
            <and>
              <equals arg1="@{algorithm}" arg2="SHA-384" />
              <equals arg1="@{value}" arg2="${value.sha384}" />
            </and>
            <and>
              <equals arg1="@{algorithm}" arg2="SHA-512" />
              <equals arg1="@{value}" arg2="${value.sha512}" />
            </and>
          </or>
        </condition>
        <!-- Fail or display a success message -->
        <sequential unless:true="${check.success}">
          <!-- Generate checksums for an error message -->
          <checksum file="@{file}" unless:set="value.md5" property="value.md5" algorithm="MD5" />
          <checksum file="@{file}" unless:set="value.sha1" property="value.sha1" algorithm="SHA-1" />
          <checksum file="@{file}" unless:set="value.sha256" property="value.sha256" algorithm="SHA-256" />
          <checksum file="@{file}" unless:set="value.sha384" property="value.sha384" algorithm="SHA-384" />
          <checksum file="@{file}" unless:set="value.sha512" property="value.sha512" algorithm="SHA-512" />
          <fail>
  Checksum check failure for ${name} (@{file}).
  Algorithm: @{algorithm}
  Expected value: @{value}
  Actual values:
  SHA-512: ${value.sha512}
  SHA-384: ${value.sha384}
  SHA-256: ${value.sha256}
  SHA-1: ${value.sha1}
  MD5: ${value.md5}
          </fail>
        </sequential>
        <echo level="info" message="Checksum check for ${name}, algorithm @{algorithm}: OK" />
      </sequential>
      <echo unless:true="@{enabled}" message="WARNING: Checksum verification is disabled for ${name}"/>
    </sequential>
  </macrodef>

  <target name="downloadgz" unless="exist" if="${execute.download}" depends="testexist,setproxy">
    <!-- Download and extract the package -->
    <local name="temp.file"/>
    <mkdir dir="${base.path}"/>
    <tempfile property="temp.file" destdir="${base.path}" prefix="download-"/>
    <get src="${sourcefile}" httpusecaches="${trydownload.httpusecaches}" dest="${temp.file}.tar.gz" />
    <verifyChecksum
      enabled="${checksum.enabled}"
      algorithm="${checksum.algorithm}" value="${checksum.value}"
      file="${temp.file}.tar.gz" name="${sourcefile}" />

    <gunzip src="${temp.file}.tar.gz" dest="${temp.file}.tar"/>
    <untar src="${temp.file}.tar" dest="${base.path}"/>
    <delete file="${temp.file}.tar"/>
    <delete file="${temp.file}.tar.gz"/>
  </target>

  <target name="downloadgz-2" unless="exist" if="${execute.download}" depends="testexist">
    <!-- Download and extract the package from the two alternative locations -->
    <local name="temp.file"/>
    <mkdir dir="${base.path}"/>
    <tempfile property="temp.file" destdir="${base.path}" prefix="download-"/>
    <antcall target="trydownload">
      <param name="sourcefile" value="${sourcefile.1}" />
      <param name="destfile" value="${temp.file}.tar.gz" />
    </antcall>
    <antcall target="trydownload">
      <param name="sourcefile" value="${sourcefile.2}" />
      <param name="destfile" value="${temp.file}.tar.gz" />
    </antcall>

    <verifyChecksum
      enabled="${checksum.enabled}"
      algorithm="${checksum.algorithm}" value="${checksum.value}"
      file="${temp.file}.tar.gz" name="${sourcefile.1}" />

    <gunzip src="${temp.file}.tar.gz" dest="${temp.file}.tar"/>
    <untar src="${temp.file}.tar" dest="${base.path}"/>
    <delete file="${temp.file}.tar"/>
    <delete file="${temp.file}.tar.gz"/>
  </target>

  <target name="downloadzip" unless="exist" if="${execute.download}" depends="testexist,setproxy">
    <!-- Download and extract the package -->
    <local name="temp.file"/>
    <mkdir dir="${base.path}"/>
    <tempfile property="temp.file" destdir="${base.path}" prefix="download-" suffix=".zip"/>
    <get src="${sourcefile}" httpusecaches="${trydownload.httpusecaches}" dest="${temp.file}"/>
    <verifyChecksum
      enabled="${checksum.enabled}"
      algorithm="${checksum.algorithm}" value="${checksum.value}"
      file="${temp.file}" name="${sourcefile}" />

    <mkdir dir="${destdir}"/>
    <unzip src="${temp.file}" dest="${destdir}"/>
    <delete file="${temp.file}"/>
  </target>

  <target name="downloadzip-2" unless="exist" if="${execute.download}" depends="testexist">
    <!-- Download and extract the package from the two alternative locations -->
    <local name="temp.file"/>
    <mkdir dir="${base.path}"/>
    <tempfile property="temp.file" destdir="${base.path}" prefix="download-" suffix=".zip"/>
    <antcall target="trydownload">
      <param name="sourcefile" value="${sourcefile.1}" />
      <param name="destfile" value="${temp.file}" />
    </antcall>
    <antcall target="trydownload">
      <param name="sourcefile" value="${sourcefile.2}" />
      <param name="destfile" value="${temp.file}" />
    </antcall>

    <verifyChecksum
      enabled="${checksum.enabled}"
      algorithm="${checksum.algorithm}" value="${checksum.value}"
      file="${temp.file}" name="${sourcefile.1}" />

    <mkdir dir="${destdir}" />
    <unzip src="${temp.file}" dest="${destdir}"/>
    <delete file="${temp.file}"/>
  </target>

  <target name="downloadfile" unless="exist" if="${execute.download}" depends="testexist,setproxy">
    <!-- Download the file -->
    <local name="temp.file"/>
    <mkdir dir="${base.path}"/>
    <tempfile property="temp.file" destdir="${base.path}" prefix="download-" suffix=".tmp"/>
    <get src="${sourcefile}" httpusecaches="${trydownload.httpusecaches}" dest="${temp.file}"/>
    <verifyChecksum
      enabled="${checksum.enabled}"
      algorithm="${checksum.algorithm}" value="${checksum.value}"
      file="${temp.file}" name="${destfile}" />

    <mkdir dir="${destdir}"/>
    <move file="${temp.file}" tofile="${destfile}"/>
  </target>

  <target name="downloadfile-2" unless="exist" if="${execute.download}" depends="testexist">
    <!-- Download the file from the two alternative locations -->
    <local name="temp.file"/>
    <mkdir dir="${base.path}"/>
    <tempfile property="temp.file" destdir="${base.path}" prefix="download-" suffix=".tmp"/>

    <antcall target="trydownload">
      <param name="sourcefile" value="${sourcefile.1}" />
      <param name="destfile" value="${temp.file}" />
    </antcall>

    <antcall target="trydownload">
      <param name="sourcefile" value="${sourcefile.2}" />
      <param name="destfile" value="${temp.file}" />
    </antcall>

    <available file="${temp.file}" property="exist"/>
    <fail unless="exist" message="Failed to download [${destfile}]. All download sources are unavailable." />

    <verifyChecksum
      enabled="${checksum.enabled}"
      algorithm="${checksum.algorithm}" value="${checksum.value}"
      file="${temp.file}" name="${destfile}" />

    <mkdir dir="${destdir}"/>
    <move file="${temp.file}" tofile="${destfile}"/>
  </target>

  <target name="trydownload.check" depends="setproxy">
    <condition property="trydownload.run">
      <and>
        <not>
          <available file="${destfile}" />
        </not>
        <http url="${sourcefile}" />
      </and>
    </condition>
  </target>

  <target name="trydownload" if="trydownload.run" depends="trydownload.check">
    <!-- Downloads a file if not yet downloaded and the source URL is available -->
    <get src="${sourcefile}" httpusecaches="${trydownload.httpusecaches}" dest="${destfile}" />
  </target>

  <!-- ============================ IDE Support ============================ -->

  <!-- ============================ Eclipse ================================ -->

  <target name="ide-eclipse"
          depends="download-compile, download-test-compile"
          description="Prepares the source tree to be built in Eclipse">

    <!-- Copy the sample project files into the root directory -->
    <copy file="${tomcat.home}/res/ide-support/eclipse/eclipse.project" tofile="${tomcat.home}/.project"/>
    <copy file="${tomcat.home}/res/ide-support/eclipse/eclipse.classpath" tofile="${tomcat.home}/.classpath">
      <filterset refid="classpath.filters"/>
      <filterset refid="version.filters"/>
    </copy>

    <!-- Copy compiler settings file -->
    <mkdir dir="${tomcat.home}/.settings"/>
    <copy file="${tomcat.home}/res/ide-support/eclipse/org.eclipse.jdt.core.prefs.properties" tofile="${tomcat.home}/.settings/org.eclipse.jdt.core.prefs">
      <filterset refid="version.filters"/>
    </copy>

    <echo>Eclipse project files created.
Read the Building page on the Apache Tomcat documentation site for details on how to configure your Eclipse workspace.</echo>
  </target>

  <!-- ============================ IntelliJ IDEA=========================== -->

  <target name="ide-intellij"
          depends="download-compile, download-test-compile"
          description="Creates project directory .idea for IntelliJ IDEA">

    <copy todir="${tomcat.home}/.idea" overwrite="true">
      <fileset dir="${tomcat.home}/res/ide-support/idea"/>
      <filterset refid="classpath.filters"/>
      <filterset refid="version.filters"/>
    </copy>

    <echo>IntelliJ IDEA project directory created.</echo>
  </target>

  <!-- ============================ NetBeans =============================== -->

  <target name="ide-netbeans"
          depends="-ide-netbeans-protect,-ide-netbeans-create"
          description="Create NetBeans project files only if none exist">
  </target>

  <target name="-ide-netbeans-protect"
          if="tomcat-nb.home.exists"
          depends="-ide-netbeans-check">
    <!-- Protect existing NetBeans project files -->
    <echo>NetBeans project files already exist and have been protected!
Use the "ide-netbeans-replace" target if you wish to overwrite them.</echo>
  </target>

  <target name="-ide-netbeans-check">
    <!-- protect existing files if the NetBeans project directory exists  -->
    <condition property="tomcat-nb.home.exists">
        <available file="${tomcat-nb.home}" type="dir"/>
    </condition>
  </target>

  <target name="ide-netbeans-replace" depends="-ide-netbeans-create">
    <!-- Bypass protection of any existing NetBeans project files -->
  </target>

  <target name="-ide-netbeans-create"
          unless="tomcat-nb.home.exists">
    <!-- Unconditionally create or overwrite default NetBeans project files -->
    <property name="tomcat-nb.dist" value="${tomcat.home}/res/ide-support/netbeans" />
    <mkdir dir="${tomcat-nb.home}/"/>
    <copy todir="${tomcat-nb.home}" overwrite="true">
      <fileset dir="${tomcat-nb.dist}"/>
      <filterset refid="version.filters" />
      <filterset refid="classpath.filters"/>
    </copy>
    <echo>NetBeans project files created.
Read the Building page on the Apache Tomcat documentation site for details on how to customise your NetBeans project.</echo>
  </target>


  <!-- ======================= Macros, Taskdefs etc ======================== -->

  <target name="download-jsign" >
    <!-- Download jsign -->
    <antcall target="downloadfile">
      <param name="sourcefile" value="${jsign.loc}"/>
      <param name="destfile" value="${jsign.jar}"/>
      <param name="destdir" value="${jsign.home}"/>
      <param name="checksum.enabled" value="${jsign.checksum.enabled}"/>
      <param name="checksum.algorithm" value="${jsign.checksum.algorithm}"/>
      <param name="checksum.value" value="${jsign.checksum.value}"/>
    </antcall>
  </target>

  <target name="setup-jsign" depends="download-jsign">
    <!-- Add jsign tasks to project -->
    <path id="jsign.classpath">
      <fileset file="${jsign.jar}" />
    </path>

    <taskdef name="jsign" classname="net.jsign.JsignTask" classpathref="jsign.classpath" />
  </target>

  <target name="download-bnd" >
    <!-- Download bnd -->
    <antcall target="downloadfile">
      <param name="sourcefile" value="${bnd.loc}"/>
      <param name="destfile" value="${bnd.jar}"/>
      <param name="destdir" value="${bnd.home}"/>
      <param name="checksum.enabled" value="${bnd.checksum.enabled}"/>
      <param name="checksum.algorithm" value="${bnd.checksum.algorithm}"/>
      <param name="checksum.value" value="${bnd.checksum.value}"/>
    </antcall>
  </target>

  <target name="setup-bnd" depends="download-bnd">
    <!-- Add bnd tasks to project -->
    <path id="bnd.classpath">
      <fileset file="${bnd.jar}" />
    </path>

    <taskdef resource="aQute/bnd/ant/taskdef.properties" classpathref="bnd.classpath" />
  </target>

  <macrodef name="jarIt" description="utility macro for standard JAR packaging">
    <attribute name="jarfile"
               description="the name of the JAR file to create"/>
    <attribute name="filesDir"
               description="the directory from which to obtain the files "/>
    <attribute name="filesId"
               description="the patternset id of the files to use"/>
    <attribute name="manifest" description="the manifest file use"
               default="${tomcat.manifests}/default.manifest" />
    <attribute name="notice" description="the LICENSE file to use"
               default="${tomcat.manifests}/default.notice" />
    <attribute name="license" description="the NOTICE file to use"
               default="${tomcat.manifests}/default.license" />
    <attribute name="meta-inf" description="additional contents for META-INF"
               default="${tomcat.manifests}/default" />
    <attribute name="addOSGi" description="generate OSGi metadata"
               default="false" />
    <attribute name="addGraal" description="add Graal resource/reflection files if set"
               default="false" />
    <attribute name="graalPrefix" description="Graal resource/reflection location prefix (group_id/artifact_id)"
               default="" />
    <attribute name="graalFiles" description="Graal resource/reflection file location"
               default="" />
    <attribute name="libs" description="libraries to use for bnd classpath analysis relative to ${tomcat.output}"
               default="build/lib/*.jar,build/bin/tomcat-juli.jar" />
    <sequential>
      <local name="jar.uptodate"/>
      <uptodate property="jar.uptodate" targetfile="@{jarfile}" >
        <srcfiles dir="@{filesDir}">
          <patternset refid="@{filesId}"/>
          <!-- Javadoc exclusions -->
          <exclude name="**/package.html" />
        </srcfiles>
        <srcfiles dir="@{meta-inf}" excludes=".gitignore" />
        <srcfiles file="@{notice}" />
        <srcfiles file="@{license}" />
      </uptodate>
      <sequential unless:true="${jar.uptodate}">
        <jar jarfile="@{jarfile}"
             manifest="@{manifest}"
             modificationtime="${tstamp.iso.release}">
          <fileset dir="@{filesDir}">
            <patternset refid="@{filesId}"/>
            <!-- Javadoc exclusions -->
            <exclude name="**/package.html" />
          </fileset>
          <zipfileset dir="@{meta-inf}" prefix="META-INF/"
                      excludes=".gitignore" />
          <zipfileset file="@{notice}" fullpath="META-INF/NOTICE" />
          <zipfileset file="@{license}" fullpath="META-INF/LICENSE" />
        </jar>
        <antcall target="add-osgi" >
          <param name="jarfile" value="@{jarfile}" />
          <param name="addOSGi" value="@{addOSGi}" />
          <param name="libs" value="@{libs}" />
        </antcall>
        <antcall target="add-graal">
          <param name="jarfile" value="@{jarfile}" />
          <param name="addGraal" value="@{addGraal}" />
          <param name="graalFiles" value="@{graalFiles}" />
          <param name="graalPrefix" value="@{graalPrefix}" />
        </antcall>
      </sequential>
    </sequential>
  </macrodef>

  <target name="add-osgi" if="${addOSGi}" >
    <echo message="add-osgi ${jarfile} ${addOSGi}"></echo>
    <local name="filename"/>
    <basename property="filename" file="${jarfile}"/>
    <bnd
      basedir="${basedir}"
      output="${jarfile}.tmp"
    >
      <classpath>
        <pathelement location="${bnd.jar}"/>
        <fileset dir="${tomcat.output}" includes="${libs}" />
      </classpath>
      <bndfiles>
        <pathelement location="${tomcat.bnd}/${filename}.tmp.bnd"/>
      </bndfiles>
    </bnd>
    <delete file="${jarfile}" />
    <move file="${jarfile}.tmp" tofile="${jarfile}" />
  </target>

  <target name="add-graal" if="${addGraal}">
    <echo message="add-graal  ${addGraal} ${jarfile} ${graalFiles} ${graalPrefix}"></echo>
    <!-- Reproducible builds: consistent timestamps for graal files -->
    <copy todir="${tomcat.graal}/${graalPrefix}">
      <fileset dir="${basedir}/${graalFiles}" />
    </copy>
    <!-- Reproducible builds: consistent line endings  for graal files -->
    <fixcrlf srcdir="${tomcat.graal}/${graalPrefix}" eol="lf"
        encoding="ISO-8859-1" fixlast="false" />
    <zip destfile="${jarfile}" update="true" filesonly="true"
         modificationtime="${tstamp.iso.release}"
         encoding="UTF8">
      <zipfileset dir="${tomcat.graal}/${graalPrefix}" prefix="META-INF/native-image/${graalPrefix}" includes="*.*"/>
    </zip>
  </target>

  <!-- Macro, used to create checksum and signature files  -->
  <!-- Requires 'file' as a parameter. -->
  <macrodef name="hashAndSign">
    <attribute name="file" />
    <sequential>
      <local name="filename" />
      <local name="sha512value" />

      <basename file="@{file}" property="filename" />
      <checksum algorithm="SHA-512" file="@{file}" property="sha512value" />

      <echo file="@{file}.sha512" message="${sha512value}${md5sum.binary-prefix}${filename}" />

      <antcall target="sign" >
        <param name="file" value="@{file}" />
      </antcall>
    </sequential>
  </macrodef>

  <!-- Helper target, used to create a detached ascii OpenPGP signature.     -->
  <!-- Uses GPG with default key. Requires 'file' as a parameter. Only       -->
  <!-- executes if gpg passphrase is set which is only set when using the    -->
  <!-- release target.                                                       -->
  <target name="sign" if="gpg.passphrase">
    <fail unless="file" />
    <exec executable="${gpg.exec}" failonerror="true"
          inputstring="${gpg.passphrase}">
      <arg value="--batch"/>
      <arg value="--pinentry-mode"/>
      <arg value="loopback"/>
      <arg value="--passphrase-fd"/>
      <arg value="0"/>
      <arg value="-a"/>
      <arg value="-b"/>
      <arg value="${file}"/>
    </exec>
  </target>

</project>
