<?xml version="1.0"?>
<!--
  Licensed to the Apache Software Foundation (ASF) under one or more
  contributor license agreements.  See the NOTICE file distributed with
  this work for additional information regarding copyright ownership.
  The ASF licenses this file to You under the Apache License, Version 2.0
  (the "License"); you may not use this file except in compliance with
  the License.  You may obtain a copy of the License at

      http://www.apache.org/licenses/LICENSE-2.0

  Unless required by applicable law or agreed to in writing, software
  distributed under the License is distributed on an "AS IS" BASIS,
  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  See the License for the specific language governing permissions and
  limitations under the License.
-->
<project name="Tomcat 8.0 Maven Deployment" default="" basedir="."
         xmlns:artifact="urn:maven-artifact-ant">
  <!--
    Built for using Maven Ant Tasks (version 2.1.0 is known to work)
  -->

  <property file="${basedir}/mvn.properties"/>
  <property file="${basedir}/mvn.properties.default"/>
  <property name="local.repo" value="${user.home}/.m2/repository"/>

  <target name="init-maven">
    <typedef resource="org/apache/maven/artifact/ant/antlib.xml"
             uri="urn:maven-artifact-ant">
      <classpath>
        <pathelement location="${basedir}/maven-ant-tasks-2.1.0.jar" />
      </classpath>
    </typedef>
  </target>

  <target name="maven-deploy" depends="init-maven">
    <!--cleanup-->
    <delete file="${pom}.tmp"/>
    <delete file="${pom}.asc"/>
    <delete file="${file}.asc"/>
    <delete file="${src}.asc"/>

    <!--replace the version in the pom-->
    <copy file="${pom}" tofile="${pom}.tmp">
      <filterset>
        <filter token="MAVEN.DEPLOY.VERSION" value="${maven.deploy.version}"/>
      </filterset>
    </copy>

    <!--sign the jar, the source and the pom -->
    <exec executable="${gpg.exec}" failonerror="true"
          inputstring="${gpg.passphrase}">
      <arg value="--batch"/>
      <arg value="--passphrase-fd"/>
      <arg value="0"/>
      <arg value="-a"/>
      <arg value="-b"/>
      <arg value="${file}"/>
    </exec>
    <exec executable="${gpg.exec}" failonerror="true"
          inputstring="${gpg.passphrase}">
      <arg value="--batch"/>
      <arg value="--passphrase-fd"/>
      <arg value="0"/>
      <arg value="-a"/>
      <arg value="-b"/>
      <arg value="${src}"/>
    </exec>
    <exec executable="${gpg.exec}" failonerror="true"
          inputstring="${gpg.passphrase}">
      <arg value="--batch"/>
      <arg value="--passphrase-fd"/>
      <arg value="0"/>
      <arg value="-a"/>
      <arg value="-b"/>
      <arg value="-o"/>
      <arg value="${pom}.asc"/>
      <arg value="${pom}.tmp"/>
    </exec>

    <artifact:deploy file="${file}">
        <pom file="${pom}.tmp"/>
        <remoteRepository url="${maven.repo.url}" layout="default">
          <authentication username="${asf.ldap.username}"
                          password="${asf.ldap.password}"/>
        </remoteRepository>
        <attach file="${file}.asc" type="jar.asc"/>
        <attach file="${src}" classifier="sources" type="jar"/>
        <attach file="${src}.asc" classifier="sources" type="jar.asc"/>
        <attach file="${pom}.asc" type="pom.asc"/>
    </artifact:deploy>

    <delete file="${pom}.tmp"/>
    <delete file="${pom}.asc"/>
    <delete file="${file}.asc"/>
    <delete file="${src}.asc"/>
  </target>

  <macrodef name="doMavenDeploy">
    <attribute name="artifactId"/>
    <attribute name="jarFileName" default="@{artifactId}.jar" />
    <attribute name="groupId" default="org.apache.tomcat" />
    <attribute name="file" default="${tomcat.lib.path}/@{jarFileName}" />
    <attribute name="pom" default="@{artifactId}.pom" />
    <attribute name="srcJarFileName" default="@{artifactId}-src.jar" />
    <attribute name="src" default="${tomcat.src.path}/@{srcJarFileName}" />
    <sequential>
      <antcall target="maven-deploy">
        <param name="file" value="@{file}"/>
        <param name="groupId" value="@{groupId}"/>
        <param name="artifactId" value="@{artifactId}"/>
        <param name="pom" value="${tomcat.pom.path}/@{pom}"/>
        <param name="src" value="@{src}"/>
        <param name="src.skip" value="@{src.skip}"/>
      </antcall>
    </sequential>
  </macrodef>

  <target name="maven-deploy-nosrc" depends="init-maven">
    <!--cleanup-->
    <delete file="${pom}.tmp"/>
    <delete file="${pom}.asc"/>
    <delete file="${file}.asc"/>

    <!--replace the version in the pom-->
    <copy file="${pom}" tofile="${pom}.tmp">
      <filterset>
        <filter token="MAVEN.DEPLOY.VERSION" value="${maven.deploy.version}"/>
      </filterset>
    </copy>

    <!--sign the file and pom -->
    <exec executable="${gpg.exec}" failonerror="true"
          inputstring="${gpg.passphrase}">
      <arg value="--batch"/>
      <arg value="--passphrase-fd"/>
      <arg value="0"/>
      <arg value="-a"/>
      <arg value="-b"/>
      <arg value="${file}"/>
    </exec>
    <exec executable="${gpg.exec}" failonerror="true"
          inputstring="${gpg.passphrase}">
      <arg value="--batch"/>
      <arg value="--passphrase-fd"/>
      <arg value="0"/>
      <arg value="-a"/>
      <arg value="-b"/>
      <arg value="-o"/>
      <arg value="${pom}.asc"/>
      <arg value="${pom}.tmp"/>
    </exec>

    <artifact:deploy file="${file}">
      <pom file="${pom}.tmp"/>
      <remoteRepository url="${maven.repo.url}" layout="default" >
        <authentication username="${asf.ldap.username}"
                        password="${asf.ldap.password}"/>
      </remoteRepository>
      <attach file="${file}.asc" type="jar.asc"/>
      <attach file="${pom}.asc" type="pom.asc"/>
    </artifact:deploy>

    <delete file="${pom}.tmp"/>
    <delete file="${pom}.asc"/>
    <delete file="${file}.asc"/>
  </target>

  <macrodef name="doMavenDeployNoSrc">
    <attribute name="artifactId"/>
    <attribute name="jarFileName" default="@{artifactId}.jar" />
    <attribute name="groupId" default="org.apache.tomcat" />
    <attribute name="file" default="${tomcat.lib.path}/@{jarFileName}" />
    <attribute name="pom" default="@{artifactId}.pom" />
    <sequential>
      <antcall target="maven-deploy-nosrc">
        <param name="file" value="@{file}"/>
        <param name="groupId" value="@{groupId}"/>
        <param name="artifactId" value="@{artifactId}"/>
        <param name="pom" value="${tomcat.pom.path}/@{pom}"/>
      </antcall>
    </sequential>
  </macrodef>

  <target name="maven-deploy-binaries" depends="init-maven">
    <!--cleanup-->
    <delete file="${pom}.tmp"/>
    <delete file="${pom}.asc"/>
    <delete file="${file}.zip.asc"/>
    <delete file="${file}.tar.gz.asc"/>

    <!--replace the version in the pom-->
    <copy file="${pom}" tofile="${pom}.tmp">
      <filterset>
        <filter token="MAVEN.DEPLOY.VERSION" value="${maven.deploy.version}"/>
      </filterset>
    </copy>

    <!--sign the zip, the tar.gz and the pom -->
    <exec executable="${gpg.exec}" failonerror="true"
          inputstring="${gpg.passphrase}">
      <arg value="--batch"/>
      <arg value="--passphrase-fd"/>
      <arg value="0"/>
      <arg value="-a"/>
      <arg value="-b"/>
      <arg value="${file}.zip"/>
    </exec>
    <exec executable="${gpg.exec}" failonerror="true"
          inputstring="${gpg.passphrase}">
      <arg value="--batch"/>
      <arg value="--passphrase-fd"/>
      <arg value="0"/>
      <arg value="-a"/>
      <arg value="-b"/>
      <arg value="${file}.tar.gz"/>
    </exec>
    <exec executable="${gpg.exec}" failonerror="true"
          inputstring="${gpg.passphrase}">
      <arg value="--batch"/>
      <arg value="--passphrase-fd"/>
      <arg value="0"/>
      <arg value="-a"/>
      <arg value="-b"/>
      <arg value="-o"/>
      <arg value="${pom}.asc"/>
      <arg value="${pom}.tmp"/>
    </exec>

    <artifact:deploy file="${pom}">
        <pom file="${pom}.tmp"/>
        <remoteRepository url="${maven.repo.url}" layout="default">
          <authentication username="${asf.ldap.username}"
                          password="${asf.ldap.password}"/>
        </remoteRepository>
        <attach file="${file}.zip" type="zip"/>
        <attach file="${file}.zip.asc" type="zip.asc"/>
        <attach file="${file}.tar.gz" type="tar.gz"/>
        <attach file="${file}.tar.gz.asc" type="tar.gz.asc"/>
        <attach file="${pom}.asc" type="pom.asc"/>
    </artifact:deploy>

    <delete file="${pom}.tmp"/>
    <delete file="${pom}.asc"/>
    <delete file="${file}.zip.asc"/>
    <delete file="${file}.tar.gz.asc"/>
  </target>

  <macrodef name="doMavenDeployBinaries">
    <attribute name="artifactId"/>
    <attribute name="groupId" default="org.apache.tomcat" />
    <attribute name="file" />
    <attribute name="pom" default="@{artifactId}.pom" />
    <sequential>
      <antcall target="maven-deploy-binaries">
        <param name="file" value="@{file}"/>
        <param name="groupId" value="@{groupId}"/>
        <param name="artifactId" value="@{artifactId}"/>
        <param name="pom" value="${tomcat.pom.path}/@{pom}"/>
      </antcall>
    </sequential>
  </macrodef>

  <target name="generic-deploy" depends="init-maven,init-gpg,init-ldap">
    <!-- Standard jars in bin directory -->
    <!-- Skip bootstrap.jar - it is just a subset of catalina.jar -->
    <doMavenDeploy artifactId="tomcat-juli"
                         file="${tomcat.bin.path}/tomcat-juli.jar"/>

    <!-- Standard jars in lib directory -->
    <doMavenDeploy artifactId="tomcat-annotations-api"
                  jarFileName="annotations-api.jar"
               srcJarFileName="annotations-api-src.jar"/>

    <doMavenDeploy artifactId="tomcat-catalina"
                  jarFileName="catalina.jar"
               srcJarFileName="catalina-src.jar"/>

    <doMavenDeploy artifactId="tomcat-catalina-ant"
                  jarFileName="catalina-ant.jar"
               srcJarFileName="catalina-ant-src.jar"/>

    <doMavenDeploy artifactId="tomcat-catalina-ha"
                  jarFileName="catalina-ha.jar"
               srcJarFileName="catalina-ha-src.jar"/>

    <doMavenDeploy artifactId="tomcat-tribes"
                  jarFileName="catalina-tribes.jar"
               srcJarFileName="catalina-tribes-src.jar"/>

    <doMavenDeploy artifactId="tomcat-storeconfig"
                  jarFileName="catalina-storeconfig.jar"
               srcJarFileName="catalina-storeconfig-src.jar"/>

    <doMavenDeploy artifactId="tomcat-jdbc"
                  jarFileName="tomcat-jdbc.jar"
               srcJarFileName="tomcat-jdbc-src.jar"/>

    <doMavenDeploy artifactId="tomcat-el-api"
                  jarFileName="el-api.jar"
               srcJarFileName="el-api-src.jar"/>

    <doMavenDeploy artifactId="tomcat-jasper"
                  jarFileName="jasper.jar"
               srcJarFileName="jasper-src.jar"/>

    <doMavenDeploy artifactId="tomcat-jasper-el"
                  jarFileName="jasper-el.jar"
               srcJarFileName="jasper-el-src.jar"/>

    <doMavenDeploy artifactId="tomcat-jsp-api"
                  jarFileName="jsp-api.jar"
               srcJarFileName="jsp-api-src.jar"/>

    <doMavenDeploy artifactId="tomcat-servlet-api"
                  jarFileName="servlet-api.jar"
               srcJarFileName="servlet-api-src.jar"/>

    <doMavenDeploy artifactId="tomcat-websocket-api"
                  jarFileName="websocket-api.jar"
               srcJarFileName="websocket-api-src.jar"/>

    <doMavenDeploy artifactId="tomcat-api"/>
    <doMavenDeploy artifactId="tomcat-jni"/>
    <doMavenDeploy artifactId="tomcat-util"/>
    <doMavenDeploy artifactId="tomcat-util-scan"/>
    <doMavenDeploy artifactId="tomcat-coyote"/>
    <doMavenDeploy artifactId="tomcat-dbcp"/>
    <doMavenDeploy artifactId="tomcat-websocket"/>
    <doMavenDeployNoSrc artifactId="tomcat-i18n-es"/>
    <doMavenDeployNoSrc artifactId="tomcat-i18n-fr"/>
    <doMavenDeployNoSrc artifactId="tomcat-i18n-ja"/>

    <!-- Extras jars -->
    <doMavenDeploy artifactId="tomcat-extras-juli"
        groupId="org.apache.tomcat.extras"
        file="${tomcat.extras.path}/tomcat-juli.jar"
        src="${tomcat.extras.src.path}/tomcat-juli-src.jar" />
    <doMavenDeploy artifactId="tomcat-extras-juli-adapters"
        groupId="org.apache.tomcat.extras"
        file="${tomcat.extras.path}/tomcat-juli-adapters.jar"
        src="${tomcat.extras.src.path}/tomcat-juli-adapters-src.jar" />
    <doMavenDeploy artifactId="tomcat-catalina-jmx-remote"
        groupId="org.apache.tomcat.extras"
        file="${tomcat.extras.path}/catalina-jmx-remote.jar"
        src="${tomcat.extras.src.path}/catalina-jmx-remote-src.jar" />
    <doMavenDeploy artifactId="tomcat-catalina-ws"
        groupId="org.apache.tomcat.extras"
        file="${tomcat.extras.path}/catalina-ws.jar"
        src="${tomcat.extras.src.path}/catalina-ws-src.jar" />

    <!-- Emedded jars -->
    <!-- Skip DBCP - optional and can use standard ones above -->
    <doMavenDeploy artifactId="tomcat-embed-core"
        groupId="org.apache.tomcat.embed"
        file="${tomcat.embed.path}/tomcat-embed-core.jar"
        pom="tomcat-embed-core.pom"
        src="${tomcat.embed.src.path}/tomcat-embed-core-src.jar"/>
    <doMavenDeploy artifactId="tomcat-embed-jasper"
        groupId="org.apache.tomcat.embed"
        file="${tomcat.embed.path}/tomcat-embed-jasper.jar"
        pom="tomcat-embed-jasper.pom"
        src="${tomcat.embed.src.path}/tomcat-embed-jasper-src.jar"/>
    <doMavenDeploy artifactId="tomcat-embed-el"
        groupId="org.apache.tomcat.embed"
        file="${tomcat.embed.path}/tomcat-embed-el.jar"
        pom="tomcat-embed-el.pom"
        src="${tomcat.embed.src.path}/tomcat-embed-el-src.jar"/>
    <doMavenDeploy artifactId="tomcat-embed-websocket"
        groupId="org.apache.tomcat.embed"
        file="${tomcat.embed.path}/tomcat-embed-websocket.jar"
        pom="tomcat-embed-websocket.pom"
        src="${tomcat.embed.src.path}/tomcat-embed-websocket-src.jar"/>
    <doMavenDeploy artifactId="tomcat-embed-logging-juli"
        groupId="org.apache.tomcat.embed"
        file="${tomcat.embed.path}/tomcat-embed-logging-juli.jar"
        pom="tomcat-embed-logging-juli.pom"
        src="${tomcat.embed.src.path}/tomcat-embed-logging-juli-src.jar"/>
    <doMavenDeploy artifactId="tomcat-embed-logging-log4j"
        groupId="org.apache.tomcat.embed"
        file="${tomcat.embed.path}/tomcat-embed-logging-log4j.jar"
        pom="tomcat-embed-logging-log4j.pom"
        src="${tomcat.embed.src.path}/tomcat-embed-logging-log4j-src.jar"/>

    <!-- Binaries -->
    <doMavenDeployBinaries
      artifactId="tomcat"
      file="${tomcat.release.path}/v${maven.deploy.binary.version}/bin/apache-tomcat-${maven.deploy.binary.version}"/>

  </target>

  <target name="deploy-snapshot">
    <antcall target="generic-deploy">
      <param name="maven.repo.repositoryId"
             value="${maven.snapshot.repo.repositoryId}"/>
      <param name="maven.repo.url" value="${maven.snapshot.repo.url}"/>
      <param name="maven.deploy.version" value="8.0-SNAPSHOT"/>
      <param name="maven.deploy.binary.version"
             value="${maven.asf.release.deploy.version}-dev"/>
    </antcall>
  </target>

  <target name="deploy-release">
    <antcall target="generic-deploy">
      <param name="maven.repo.repositoryId"
             value="${maven.asf.release.repo.repositoryId}"/>
      <param name="maven.repo.url" value="${maven.asf.release.repo.url}"/>
      <param name="maven.deploy.version"
             value="${maven.asf.release.deploy.version}"/>
      <param name="maven.deploy.binary.version"
             value="${maven.asf.release.deploy.version}"/>
    </antcall>
  </target>

  <target name="init-gpg">
    <input message="Enter GPG pass-phrase" addproperty="gpg.passphrase" >
      <handler type="secure"/>
    </input>
  </target>

  <target name="init-ldap">
    <input message="Enter ASF LDAP (same as svn) password"
           addproperty="asf.ldap.password" >
      <handler type="secure"/>
    </input>
  </target>

</project>
