<?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="--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="--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="--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="--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="--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="--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="--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="--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-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-spdy"/>
    <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>
