<!--
  ~ This work is part of OpenLDAP Software <http://www.openldap.org/>.
  ~
  ~ Copyright 1998-2014 The OpenLDAP Foundation.
  ~ All rights reserved.
  ~
  ~ Redistribution and use in source and binary forms, with or without
  ~ modification, are permitted only as authorized by the OpenLDAP
  ~ Public License.
  ~
  ~ A copy of this license is available in the file LICENSE in the
  ~ top-level directory of the distribution or, alternatively, at
  ~ <http://www.OpenLDAP.org/license.html>.
  -->

<project name="fortress-sentry" default="build" basedir="." xmlns:ivy="antlib:org.apache.ivy.ant"
         xmlns:artifact="antlib:org.apache.maven.artifact.ant">

    <target name="init">

        <!-- read properties from the build.properties, if any -->
        <property name="component-propfile" value="${basedir}/build.properties"/>
        <property file="${component-propfile}"/>

        <!-- read properties from the ${user.home}/propfile, if any -->
        <property name="user-propfile" value="${user.home}/build.properties"/>
        <property file="${user-propfile}"/>

        <property name="project.name" value="Fortress Java Sentry"/>
        <property name="name" value="fortressSentry"/>
        <property name="title" value="Fortress Java Sentry ${version}"/>
        <property name="vendor" value="Joshua Tree Software"/>
        <property name="package" value="org.openldap.sentry.*"/>
        <property name="ivy.install.version" value="2.2.0"/>

        <!-- Env vars -->
        <property name="src.dir" value="${basedir}/src"/>
        <property name="lib.dir" value="${basedir}/lib"/>
        <property name="config.dir" value="${basedir}/conf"/>
        <property name="src.java.dir" value="${src.dir}/main/java"/>
        <property name="src.java.proxy.dir" value="${src.java.dir}/proxy"/>
        <property name="src.java.impl.dir" value="${src.java.dir}/impl"/>
        <property name="build.dir" value="${basedir}/build"/>
        <property name="build.classes.dir" value="${build.dir}/classes"/>
        <property name="build.classes.proxy.dir" value="${build.classes.dir}/proxy"/>
        <property name="build.classes.impl.dir" value="${build.classes.dir}/impl"/>
        <property name="dist.dir" value="${basedir}/dist"/>
        <property name="work.base.dir" value="${build.dir}/work"/>
        <property name="work.dir" value="${work.base.dir}/dflt"/>
        <property name="work.jboss.dir" value="${work.base.dir}/jb"/>
        <property name="src.dist.zip" value="${dist.dir}/${name}Src-${version}.zip"/>
        <property name="dst.remote.conf" value="${config.dir}/fortress.properties"/>
        <property name="src.remote.conf" value="${config.dir}/fortress.properties.src"/>
        <!-- config.suffix has a '\' which is required for commons configuration utility -->
        <property name="config.suffix" value="dc=${suffix.name}\,dc=com"/>

        <!-- Build artifacts -->
        <property name="fortressTomcatSentry.jar" value="${dist.dir}/fortressProxyTomcat-${version}.jar"/>
        <property name="fortressTomcat7Sentry.jar" value="${dist.dir}/fortressProxyTomcat7-${version}.jar"/>
        <property name="fortressSentry.jar" value="${dist.dir}/fortressSentry-${version}.jar"/>
        <property name="fortressSentry.zip" value="${dist.dir}/fortressSentryDist-${version}.zip"/>
        <property name="fortressSentryDistro.jar" value="${dist.dir}/fortressSentry-${version}.jar"/>
        <property name="fortressJbossSentryDistro.jar" value="${dist.dir}/fortressSentryJBoss-${version}.jar"/>
        <property name="fortressSentryImpl.jar" value="${dist.dir}/fortressSentryImpl-${version}.jar"/>
        <property name="javadoc.dist.zip" value="${dist.dir}/fortressSentryDoc-${version}.zip"/>
        <property name="fortressSentryBuilder.zip" value="${dist.dir}/fortressSentryBuilder-${version}.zip"/>
        <property name="config.dir" value="${basedir}/conf"/>

        <!-- Dependent LIBs in maven -->
        <property name="fortress.jar" value="${lib.dir}/fortress-${version}.jar"/>
        <property name="catalina7.jar" value="${lib.dir}/tomcat-catalina-7.0.22.jar"/>
        <property name="catalina.jar" value="${lib.dir}/catalina-6.0.33.jar"/>
        <property name="commons-config.jar" value="${lib.dir}/commons-configuration-1.6.jar"/>
        <property name="commons-lang.jar" value="${lib.dir}/commons-lang-2.4.jar"/>
        <property name="commons-collections.jar" value="${lib.dir}/commons-collections-3.2.1.jar"/>
        <property name="commons-pool.jar" value="${lib.dir}/commons-pool-1.5.2.jar"/>
        <property name="commons-logging.jar" value="${lib.dir}/commons-logging-1.1.1.jar"/>
        <property name="unboundsdk.jar" value="${lib.dir}/unboundid-ldapsdk-2.1.0.jar"/>
        <property name="jgraph.jar" value="${lib.dir}/jgrapht-jdk1.5-0.7.3.jar"/>
        <property name="log4j.jar" value="${lib.dir}/log4j-1.2.17.jar"/>
        <property name="jasypt.jar" value="${lib.dir}/jasypt-1.8.jar"/>
        <property name="ehcache-core.jar" value="${lib.dir}/ehcache-core-2.6.5.jar"/>
        <property name="slf4j-api.jar" value="${lib.dir}/slf4j-api-1.7.5.jar"/>
        <property name="slf4j-jcl.jar" value="${lib.dir}/slf4j-jcl-1.7.5.jar"/>
        <property name="apacheds-all.jar" value="${lib.dir}/apacheds-all-2.0.0-M15.jar"/>


        <!-- ########### Define classpaths ########################### -->
        <path id="build.proxy.class.path">
            <!-- J2EE JARs -->
            <pathelement location="${catalina.jar}"/>
        </path>

        <path id="build.proxy.tc7.class.path">
            <!-- J2EE JARs -->
            <pathelement location="${catalina7.jar}"/>
        </path>

        <path id="build.impl.class.path">
            <!-- J2EE JARs -->
            <pathelement location="${catalina.jar}"/>
            <!-- Fortress JARs -->
            <pathelement location="${build.classes.proxy.dir}"/>
            <pathelement location="${fortress.jar}"/>
            <pathelement location="${log4j.jar}"/>
        </path>

        <!-- JARS required for distribution -->
        <patternset id="dist.libs">
            <include name="${fortress.jar}"/>
            <include name="${log4j.jar}"/>
            <include name="${commons-collections.jar}"/>
            <include name="${commons-config.jar}"/>
            <include name="${commons-lang.jar}"/>
            <include name="${commons-logging.jar}"/>
            <include name="${commons-pool.jar}"/>
            <include name="${jgraph.jar}"/>
            <include name="${jasypt.jar}"/>
            <include name="${ehcache-core.jar}"/>
            <include name="${slf4j-api.jar}"/>
            <include name="${slf4j-jcl.jar}"/>
            <include name="${apacheds-all.jar}"/>
        </patternset>

        <!-- Javadoc vars -->
        <property name="javadoc.dir" value="${dist.dir}/docs/api"/>
        <property name="javadoc.images.dir" value="${javadoc.dir}/images"/>
        <property name="javadoc.bottom"
                  value="&lt;small&gt;Copyright &amp;copy; 1998-2014, The OpenLDAP Foundation. All Rights Reserved."/>
        <property name="javadoc.overview" value="${src.java.dir}/overview.html"/>
        <property name="javadoc.stylesheet" value="${src.java.dir}/fortress-javadoc.css"/>

        <path id="javadoc.source.path">
            <pathelement location="${src.java.proxy.dir}"/>
            <pathelement location="${src.java.impl.dir}"/>
        </path>

        <property name="javac.optimize" value="false"/>
        <property name="javac.debug" value="true"/>
        <property name="javac.deprecation" value="true"/>

        <!-- Presetdef to create jar with common manifest -->
        <presetdef name="fortressSentry.jar">
            <jar compress="true">
                <manifest>
                    <attribute name="Created-By" value="${vendor} - ${project.name} dev team"/>
                    <attribute name="Implementation-Vendor" value="${vendor}"/>
                    <attribute name="Implementation-Version" value="${version}"/>
                    <attribute name="Specification-Title" value="${title}"/>
                    <attribute name="Package" value="${package}"/>
                    <attribute name="Extension-Name" value="${name}"/>
                    <attribute name="Built-By" value="${user.name}"/>
                    <attribute name="Compile-JDK" value="${java.runtime.version}"/>
                    <attribute name="Test-VM" value="${java.vm.version}"/>
                </manifest>
            </jar>
        </presetdef>

        <!-- define Maven coordinates (publishing only) -->
        <property name="groupId" value="org.openldap"/>
        <property name="artifactId" value="sentry"/>

        <!-- defined maven snapshots and staging repository id and url (publishing only) -->
        <property name="maven-snapshots-repository-id" value="sonatype-nexus-snapshots"/>
        <property name="maven-snapshots-repository-url"
                  value="https://oss.sonatype.org/content/repositories/snapshots"/>
        <property name="maven-staging-repository-id" value="sonatype-nexus-staging"/>
        <property name="maven-staging-repository-url"
                  value="https://oss.sonatype.org/service/local/staging/deploy/maven2"/>

        <!-- define artifacts' name, which follows the convention of Maven (publishing only) -->
        <property name="maven-jar" value="${fortressSentryBuilder.zip}"/>
        <property name="maven-javadoc-jar" value="${javadoc.dist.zip}"/>
        <property name="maven-sources-jar" value="${src.dist.zip}"/>

    </target>

    <!-- =================================
          target: download-ivy - pulls down ivy.jar from maven 2 website
         ================================= -->
    <target name="download-ivy" depends="init" unless="local.mode">
        <!-- download from web site so that it can be used even without any special installation -->
        <echo message="downloading ivy to Ant home: ${ant.home}"/>
        <get src="http://repo1.maven.org/maven2/org/apache/ivy/ivy/${ivy.install.version}/ivy-${ivy.install.version}.jar"
             dest="${ant.home}/lib" usetimestamp="true"/>
    </target>

    <!-- =================================
          target: resolve
         ================================= -->
    <target name="resolve" depends="init,download-ivy" description="--> retreive dependencies with ivy">
        <ivy:retrieve pattern="${lib.dir}/[artifact]-[revision].[ext]"/>
    </target>

    <!-- =================================
          target: clean-cache
         ================================= -->
    <target name="clean-cache" description="--> clean the ivy cache">
        <ivy:cleancache/>
    </target>

    <!-- ######################################################### -->
    <target name="clean" depends="init" description="removes generated files">
        <delete dir="${build.dir}"/>
        <delete dir="${dist.dir}"/>
    </target>

    <!-- ###############  create javadoc ############################### -->
    <target name="javadoc" depends="init" description="generates javadocs">
        <mkdir dir="${javadoc.dir}"/>
        <javadoc packagenames="${package}"
                 sourcepathref="javadoc.source.path"
                 destdir="${javadoc.dir}"
                 windowtitle="${title}"
                 doctitle="${title} "
                 bottom="${javadoc.bottom}"
                 overview="${javadoc.overview}"
                 public="true"
                 version="true"
                 author="true"
                 splitindex="false"
                 nodeprecated="true"
                 nodeprecatedlist="true"
                 notree="true"
                 noindex="false"
                 nohelp="true"
                 nonavbar="false"
                 classpathref="build.impl.class.path"
                 serialwarn="false">
        </javadoc>

    </target>

    <!-- ###############  compile packages ############################### -->
    <target name="compile-proxy" depends="init,resolve" description="compiles proxy source files">
        <mkdir dir="${build.classes.proxy.dir}"/>
        <javac srcdir="${src.java.proxy.dir}"
               debug="${javac.debug}"
               deprecation="${javac.deprecation}"
               destdir="${build.classes.proxy.dir}">
            <exclude name="org/openldap/sentry/tomcat/Tc7AccessMgrProxy.java"/>
            <exclude name="org/openldap/sentry/websphere/**"/>
            <classpath refid="build.proxy.class.path"/>
        </javac>
    </target>

    <target name="compile-proxy-tc7" depends="compile-proxy" description="compiles tomcat 7 proxy source files">
        <javac srcdir="${src.java.proxy.dir}"
               debug="${javac.debug}"
               deprecation="${javac.deprecation}"
               destdir="${build.classes.proxy.dir}">
            <exclude name="org/openldap/sentry/tomcat/TcAccessMgrProxy.java"/>
            <exclude name="org/openldap/sentry/websphere/**"/>
            <classpath refid="build.proxy.tc7.class.path"/>
        </javac>
    </target>

    <target name="compile-impl" depends="init,resolve" description="compiles impl source files">
        <mkdir dir="${build.classes.impl.dir}"/>
        <javac srcdir="${src.java.impl.dir}"
               debug="${javac.debug}"
               deprecation="${javac.deprecation}"
               destdir="${build.classes.impl.dir}">
            <exclude name="org/openldap/sentry/websphere/**"/>
            <classpath refid="build.impl.class.path"/>
        </javac>
    </target>

    <target name="build-jar-tcproxy" depends="compile-proxy,compile-proxy-tc7,compile-impl">
        <mkdir dir="${dist.dir}"/>
        <fortressSentry.jar destfile="${fortressTomcatSentry.jar}">
            <fileset dir="${build.classes.proxy.dir}">
                <include name="org/openldap/sentry/tomcat/**"/>
                <include name="org/openldap/sentry/util/**"/>
                <exclude name="org/openldap/sentry/tomcat/Tc7AccessMgrProxy.class"/>
            </fileset>
            <fileset dir="${build.classes.impl.dir}">
                <include name="org/openldap/sentry/tomcat/TcPrincipal.class"/>
            </fileset>
            <metainf dir="${basedir}" includes="LICENSE.txt,NOTICE.txt"/>
        </fortressSentry.jar>
    </target>

    <target name="build-jar-tc7proxy" depends="compile-proxy,compile-impl">
        <mkdir dir="${dist.dir}"/>
        <fortressSentry.jar destfile="${fortressTomcat7Sentry.jar}">
            <fileset dir="${build.classes.proxy.dir}">
                <include name="org/openldap/sentry/tomcat/**"/>
                <include name="org/openldap/sentry/util/**"/>
                <exclude name="org/openldap/sentry/tomcat/TcAccessMgrProxy.class"/>
            </fileset>
            <fileset dir="${build.classes.impl.dir}">
                <include name="org/openldap/sentry/tomcat/TcPrincipal.class"/>
            </fileset>
            <metainf dir="${basedir}" includes="LICENSE.txt,NOTICE.txt"/>
        </fortressSentry.jar>
    </target>

    <target name="build-jar-impl" depends="compile-impl">
        <mkdir dir="${dist.dir}"/>
        <fortressSentry.jar basedir="${build.classes.impl.dir}" destfile="${fortressSentryImpl.jar}"/>
    </target>

    <target name="build-jar-distro" depends="init,build-jar-impl">
        <unjar dest="${work.dir}" src="${fortressSentryImpl.jar}"/>
        <unjar dest="${work.dir}" src="${fortress.jar}"/>
        <unjar dest="${work.dir}" src="${log4j.jar}"/>
        <unjar dest="${work.dir}" src="${commons-collections.jar}"/>
        <unjar dest="${work.dir}" src="${commons-config.jar}"/>
        <unjar dest="${work.dir}" src="${commons-lang.jar}"/>
        <unjar dest="${work.dir}" src="${commons-pool.jar}"/>
        <unjar dest="${work.dir}" src="${commons-logging.jar}"/>
        <unjar dest="${work.dir}" src="${unboundsdk.jar}"/>
        <unjar dest="${work.dir}" src="${jgraph.jar}"/>
        <unjar dest="${work.dir}" src="${jasypt.jar}"/>
        <unjar dest="${work.dir}" src="${ehcache-core.jar}"/>
        <unjar dest="${work.dir}" src="${slf4j-api.jar}"/>
        <unjar dest="${work.dir}" src="${slf4j-jcl.jar}"/>
        <fortressSentry.jar basedir="${work.dir}" compress="true" jarfile="${fortressSentryDistro.jar}"/>
    </target>

    <target name="build-jar-distro-jboss" depends="init,build-jar-impl">
        <unjar dest="${work.jboss.dir}" src="${fortressSentryImpl.jar}"/>
        <unjar dest="${work.jboss.dir}" src="${fortress.jar}"/>
        <unjar dest="${work.jboss.dir}" src="${log4j.jar}"/>
        <unjar dest="${work.jboss.dir}" src="${commons-collections.jar}"/>
        <unjar dest="${work.jboss.dir}" src="${commons-config.jar}"/>
        <unjar dest="${work.jboss.dir}" src="${commons-lang.jar}"/>
        <unjar dest="${work.jboss.dir}" src="${commons-pool.jar}"/>
        <unjar dest="${work.jboss.dir}" src="${commons-logging.jar}"/>
        <unjar dest="${work.jboss.dir}" src="${unboundsdk.jar}"/>
        <unjar dest="${work.jboss.dir}" src="${jgraph.jar}"/>
        <unjar dest="${work.jboss.dir}" src="${jasypt.jar}"/>
        <unjar dest="${work.jboss.dir}" src="${ehcache-core.jar}"/>
        <unjar dest="${work.jboss.dir}" src="${slf4j-api.jar}"/>
        <unjar dest="${work.jboss.dir}" src="${slf4j-jcl.jar}"/>
        <fileset dir="${config.dir}">
            <include name="*.xml"/>
            <include name="*.properties"/>
        </fileset>
        <fortressSentry.jar basedir="${work.jboss.dir}" jarfile="${fortressJbossSentryDistro.jar}"/>
    </target>

    <target name="build"
            depends="clean,build-jar-tcproxy,build-jar-tc7proxy,build-jar-impl, build-jar-distro,build-jar-distro-jboss,javadoc">
        <copy todir="${dist.dir}" file="${basedir}/LICENSE.txt"/>
        <copy todir="${dist.dir}" file="${basedir}/NOTICE.txt"/>
        <copy todir="${dist.dir}" file="${basedir}/TOMCAT-SETUP-NOTES.txt"/>
    </target>

    <!-- ###############  create distribution packages ############################ -->
    <target name="dist" depends="build" description="Create source and binary distribution">

        <zip destfile='${src.dist.zip}'>
            <zipfileset dir='${src.java.dir}'/>

            <zipfileset dir='${dist.dir}' prefix='META-INF'>
                <include name="*.txt"/>
            </zipfileset>
        </zip>

        <zip destfile="${javadoc.dist.zip}" basedir="${javadoc.dir}">
            <zipfileset dir='${dist.dir}' prefix='META-INF'>
                <include name="LICENSE.txt"/>
                <include name="NOTICE.txt"/>
            </zipfileset>
        </zip>

        <echo message="###############  Modify fortress configuration per user settings  ###############"/>
        <delete file="${dst.remote.conf}"/>
        <copyfile src="${src.remote.conf}" dest="${dst.remote.conf}"/>
        <replace file="${dst.remote.conf}" token="@SUFFIX@" value="${suffix}"/>
        <replace file="${dst.remote.conf}" token="@LDAP_HOST@" value="${ldap.host}"/>
        <replace file="${dst.remote.conf}" token="@LDAP_PORT@" value="${ldap.port}"/>
        <replace file="${dst.remote.conf}" token="@ROOT_DN@" value="${root.dn}"/>
        <replace file="${dst.remote.conf}" token="@CFG_ROOT_PW@" value="${cfg.root.pw}"/>
        <replace file="${dst.remote.conf}" token="@ADM_MIN_CONN@" value="${admin.min.conn}"/>
        <replace file="${dst.remote.conf}" token="@ADM_MAX_CONN@" value="${admin.max.conn}"/>
        <replace file="${dst.remote.conf}" token="@CFG_CRYPTO_PROP@" value="${crypto.prop}"/>


        <!-- Break up the install binary packages by platform:  -->
        <zip destfile="${fortressSentry.zip}">
            <zipfileset dir="${dist.dir}" prefix="doc">
                <include name="fortressSentryDoc*.zip"/>
            </zipfileset>
            <zipfileset dir="${dist.dir}" prefix="src">
                <include name="fortressSentrySrc*.zip"/>
            </zipfileset>
            <zipfileset dir="${dist.dir}" prefix="proxy">
                <include name="fortressTomcatSentry*.jar"/>
                <include name="fortressTomcat7Sentry*.jar"/>
            </zipfileset>
            <zipfileset dir="${lib.dir}" prefix="lib" excludes="ws_runtime*,*catalina*,websphere*">
                <include name="*.jar"/>
            </zipfileset>
            <zipfileset dir="${dist.dir}" prefix="lib">
                <include name="fortress*.jar"/>
                <exclude name="fortressTomcatSentry*.jar"/>
                <exclude name="fortressTomcat7Sentry*.jar"/>
            </zipfileset>
            <zipfileset dir="${config.dir}" prefix="conf">
                <include name="*.xml"/>
                <include name="*.properties"/>
            </zipfileset>
            <zipfileset dir='${basedir}'>
                <include name="*.txt"/>
                <exclude name="WEBSPHERE*"/>
            </zipfileset>
        </zip>

        <antcall target="builder"></antcall>
    </target>

    <!-- =================================
          create Fortress Sentry Builder distribution package
         ================================= -->
    <target name="builder" depends="init" description="--> create the Sentry Builder distribution package">
        <echo message="###############  Create Sentry package named: ${fortressSentryBuilder.zip} ###############"/>
        <zip destfile="${fortressSentryBuilder.zip}"
             update="true">

            <zipfileset dir="${src.dir}" prefix="sentry-${version}/src">
                <include name="*/**"/>
                <exclude name="*.iml"/>
            </zipfileset>

            <zipfileset dir="${basedir}" prefix="sentry-${version}">
                <include name="*.xml"/>
                <include name="*.txt"/>
                <include name="*.properties"/>
                <include name="*.sh"/>
                <include name="*.bat"/>
                <include name="*.html"/>
                <exclude name="*.log"/>
                <exclude name="build.sh"/>
                <exclude name="READ-ME.txt"/>
            </zipfileset>

            <zipfileset dir="${config.dir}" prefix="sentry-${version}/conf">
                <include name="*/**"/>
            </zipfileset>
        </zip>

    </target>

    <!-- =================================
          Deploy Sentry to Tomcat server
         ================================= -->
    <target name="deploy-tomcat" depends="build" description="Deploy the security realm to Tomcat">
        <antcall target="deploy-tomcat-nix"></antcall>
        <antcall target="deploy-tomcat-win"></antcall>
    </target>

    <!-- =================================
          Deploy Sentry to Tomcat server to Unix
         ================================= -->
    <target name="deploy-tomcat-nix" depends="build" description="Deploy the security realm to Tomcat on Unix"
            unless="windows">
        <property name="src.catalina.sh" value="${tomcat.dir}/bin/catalina.sh.src"/>
        <property name="dst.catalina.sh" value="${tomcat.dir}/bin/catalina.sh"/>
        <property name="src.server.xml" value="${tomcat.dir}/conf/server.xml.src"/>
        <property name="dst.server.xml" value="${tomcat.dir}/conf/server.xml"/>
        <echo message="###############  Deploy the Tomcat Security Realm to Unix ###############"/>
        <delete file="${dst.catalina.sh}"/>
        <copyfile src="${src.catalina.sh}" dest="${dst.catalina.sh}"/>
        <replace file="${dst.catalina.sh}" token="@JAVA_HOME@" value="${java.home}"/>
        <delete file="${dst.server.xml}"/>
        <copyfile src="${src.server.xml}" dest="${dst.server.xml}"/>
        <replace file="${dst.server.xml}" token="@FORTRESS-SENTRY-REALM@" value="${tomcat-realm.conf}"/>
        <copyfile src="${fortressTomcat7Sentry.jar}" dest="${dst.server.xml}"/>
        <copy todir="${tomcat.dir}/lib" file="${fortressTomcat7Sentry.jar}"/>
    </target>

    <!-- =================================
          Deploy Sentry to Tomcat server to Windows
         ================================= -->
    <target name="deploy-tomcat-win" depends="build" description="Deploy the security realm to Tomcat on Windows"
            if="windows">
        <property name="src.catalina.bat" value="${tomcat.dir}\bin\catalina.bat.src"/>
        <property name="dst.catalina.bat" value="${tomcat.dir}\bin\catalina.bat"/>
        <property name="src.server.xml" value="${tomcat.dir}\conf\server.xml.src"/>
        <property name="dst.server.xml" value="${tomcat.dir}\conf\server.xml"/>
        <echo message="###############  Deploy the Tomcat Security Realm to Windows  ###############"/>
        <delete file="${dst.catalina.bat}"/>
        <copyfile src="${src.catalina.bat}" dest="${dst.catalina.bat}"/>
        <replace file="${dst.catalina.bat}" token="@JAVA_HOME@" value="${java.home}"/>
        <delete file="${dst.server.xml}"/>
        <copyfile src="${src.server.xml}" dest="${dst.server.xml}"/>
        <replace file="${dst.server.xml}" token="@FORTRESS-SENTRY-REALM@" value="${tomcat-realm.conf}"/>
        <copyfile src="${fortressTomcat7Sentry.jar}" dest="${dst.server.xml}"/>
        <copy todir="${tomcat.dir}/lib" file="${fortressTomcat7Sentry.jar}"/>
    </target>

    <!-- =================================
          call the target to start the Tomcat server
         ================================= -->
    <target name="start-tomcat" depends="init" description="--> start the Tomcat server">
        <antcall target="start-tomcat-nix"></antcall>
        <antcall target="start-tomcat-win"></antcall>
    </target>

    <!-- =================================
          Call the Unix Tomcat script to startup
         ================================= -->
    <target name="start-tomcat-nix" depends="init" unless="windows">
        <echo message="###############  Start the tomcat process on Unix ###############"/>
        <property name="startup.sh" value="${tomcat.dir}/bin/startup.sh"/>
        <chmod dir="${tomcat.dir}" perm="a+x" includes="**/*.sh"/>
        <exec dir="." executable="/bin/sh">
            <arg line="${startup.sh}"/>
        </exec>
    </target>

    <!-- =================================
          Call the Win Tomcat script to startup
         ================================= -->
    <target name="start-tomcat-win" depends="init" if="windows">
        <echo message="###############  Start the tomcat process on win ###############"/>
        <property name="dst.start.tomcat-script-win" value="${user.dir}/${tomcat.dir}/bin/startup.bat"/>
        <exec command="cmd.exe" spawn="false" osfamily="windows" dir="${user.dir}/${tomcat.dir}/bin">
            <arg value="/${fortress.home.drive}"/>
            <arg value="${dst.start.tomcat-script-win}"/>
        </exec>
    </target>

    <!-- =================================
          call the target to stop the Tomcat server
         ================================= -->
    <target name="stop-tomcat" depends="init" description="--> stop the Tomcat server">
        <antcall target="stop-tomcat-win"></antcall>
        <antcall target="stop-tomcat-nix"></antcall>
    </target>

    <!-- =================================
          Call the unix Tomcat script to shutdown
         ================================= -->
    <target name="stop-tomcat-nix" depends="init" unless="windows">
        <echo message="###############  Stop the tomcat process on nix  ###############"/>
        <property name="shutdown.sh" value="${tomcat.dir}/bin/shutdown.sh"/>
        <exec dir="." executable="/bin/sh">
            <arg line="${shutdown.sh}"/>
        </exec>
    </target>

    <!-- =================================
          Call the Win Tomcat script to shutdown
         ================================= -->
    <target name="stop-tomcat-win" depends="init" if="windows">
        <echo message="###############  Stop the tomcat process on win ###############"/>
        <property name="shutdown.bat" value="${user.dir}/${tomcat.dir}/bin/shutdown.bat"/>
        <exec command="cmd.exe" spawn="false" osfamily="windows" dir="${user.dir}/${tomcat.dir}/bin">
            <arg value="/${fortress.home.drive}"/>
            <arg value="${shutdown.bat}"/>
        </exec>
    </target>

    <!-- =================================
          Deploy snapshot to remote Maven repository
         ================================= -->
    <target name="deploy" depends="dist" description="deploy snapshot version to Maven snapshot repository">
        <artifact:mvn>
            <arg value="org.apache.maven.plugins:maven-deploy-plugin:2.6:deploy-file"/>
            <arg value="-Durl=${maven-snapshots-repository-url}"/>
            <arg value="-DrepositoryId=${maven-snapshots-repository-id}"/>
            <arg value="-DpomFile=pom.xml"/>
            <arg value="-Dfile=${maven-jar}"/>
        </artifact:mvn>
    </target>

    <!-- =================================
          Update project version (both build.xml and pom.xml) from SNAPSHOT to RELEASE
         ================================= -->
    <target name="stage" depends="dist" description="deploy release version to Maven staging repository">
        <!-- sign and deploy the main artifact -->
        <artifact:mvn>
            <arg value="org.apache.maven.plugins:maven-gpg-plugin:1.3:sign-and-deploy-file"/>
            <arg value="-Durl=${maven-staging-repository-url}"/>
            <arg value="-DrepositoryId=${maven-staging-repository-id}"/>
            <arg value="-DpomFile=pom.xml"/>
            <arg value="-Dfile=${maven-jar}"/>
            <arg value="-Pgpg"/>
        </artifact:mvn>

        <!-- sign and deploy the sources artifact -->
        <artifact:mvn>
            <arg value="org.apache.maven.plugins:maven-gpg-plugin:1.3:sign-and-deploy-file"/>
            <arg value="-Durl=${maven-staging-repository-url}"/>
            <arg value="-DrepositoryId=${maven-staging-repository-id}"/>
            <arg value="-DpomFile=pom.xml"/>
            <arg value="-Dfile=${maven-sources-jar}"/>
            <arg value="-Dclassifier=sources"/>
            <arg value="-Pgpg"/>
        </artifact:mvn>

        <!-- sign and deploy the javadoc artifact -->
        <artifact:mvn>
            <arg value="org.apache.maven.plugins:maven-gpg-plugin:1.3:sign-and-deploy-file"/>
            <arg value="-Durl=${maven-staging-repository-url}"/>
            <arg value="-DrepositoryId=${maven-staging-repository-id}"/>
            <arg value="-DpomFile=pom.xml"/>
            <arg value="-Dfile=${maven-javadoc-jar}"/>
            <arg value="-Dclassifier=javadoc"/>
            <arg value="-Pgpg"/>
        </artifact:mvn>
    </target>

</project>
