<!--
  Copyright © 2009-2013, JoshuaTree. All Rights Reserved.
  Licensed to Joshua Tree Software, LLC under New BSD license agreements.  See the NOTICE file distributed with
  this work for additional information regarding copyright ownership.
  JTS licenses this file to You under the New BSD License
  you may not use this file except in compliance with the License.
  You may obtain a copy of the License at

       http://jts.us/License

   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="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="us.jts.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; 2009-2013, JoshuaTree. 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="us.jts" />
       <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" unless="local.mode">
        <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="us/jts/sentry/tomcat/Tc7AccessMgrProxy.java"/>
              <exclude name="us/jts/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="us/jts/sentry/tomcat/TcAccessMgrProxy.java"/>
              <exclude name="us/jts/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="us/jts/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="us/jts/sentry/tomcat/**"/>
              <include name="us/jts/sentry/util/**"/>
              <exclude name="us/jts/sentry/tomcat/Tc7AccessMgrProxy.class"/>
          </fileset>
           <fileset dir="${build.classes.impl.dir}">
               <include name="us/jts/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="us/jts/sentry/tomcat/**"/>
              <include name="us/jts/sentry/util/**"/>
              <exclude name="us/jts/sentry/tomcat/TcAccessMgrProxy.class"/>
          </fileset>
           <fileset dir="${build.classes.impl.dir}">
               <include name="us/jts/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">
        <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  ###############"/>
        <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}"/>
        <!--        <antcall target="start-tomcat-nix"></antcall>-->
     </target>

    <!-- =================================
          call the target to start the Tomcat server
         ================================= -->
    <target name="start-tomcat" depends="init" description="--> start the Tomcat server">
        <!--<antcall target="start-tomcat-win"></antcall>-->
        <antcall target="start-tomcat-nix"></antcall>
    </target>

    <!-- =================================
          Call the Unix Tomcat script to startup
         ================================= -->
    <target name="start-tomcat-nix" depends="init" unless="windows">
        <echo message="###############  Start the tomcat process up  ###############"/>
        <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 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  ###############"/>
        <property name="shutdown.sh" value="${tomcat.dir}/bin/shutdown.sh"/>
        <exec dir="." executable="/bin/sh">
            <arg line="${shutdown.sh}"/>
        </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>