<!--
  Copyright (C) 2009-2014, 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-core" default="build" basedir="." xmlns:ivy="antlib:org.apache.ivy.ant" xmlns:artifact="antlib:org.apache.maven.artifact.ant">
    <!-- =================================
          initialize all Fortress Core package properties
         ================================= -->
   <target name="init">
      <tstamp/>
       <!-- read user defined properties from the build.properties -->
       <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}"/>

       <!-- ########### Project specific properties ########################### -->
       <property name="project.name" value="Fortress Identity Access Management SDK"/>
       <property name="name" value="fortress"/>
       <property name="ivy.install.version" value="2.2.0"/>
       <property name="title" value="Fortress Identity and Access Management SDK for Java ${version}"/>
       <property name="title.samples" value="Fortress Identity and Access Management Samples for Java ${version}"/>
       <property name="vendor" value="Joshua Tree Software"/>
       <property name="package" value="us.jts.fortress.*"/>
       <property name="package.samples" value="us.jts.fortress.samples"/>
       <property name="images.dir" value="${basedir}/images"/>

       <!-- ########### Env specific properties ########################### -->
       <property name="src.dir" value="${basedir}/src"/>
       <property name="lib.dir" value="${basedir}/lib"/>
       <property name="src.java.dir" value="${src.dir}/main/java"/>
       <property name="src.test.dir" value="${src.dir}/test/java"/>

       <!-- ########### Build properties & artifacts ########################### -->
       <property name="build.dir" value="${basedir}/build"/>
       <property name="build.classes.dir" value="${build.dir}/classes"/>
       <property name="build.test-classes.dir" value="${build.dir}/test-classes"/>
       <property name="dist.dir" value="${basedir}/dist"/>
       <property name="dist.jar" value="${dist.dir}/${name}-${version}.jar"/>
       <property name="dist.test.jar" value="${dist.dir}/${name}-${version}-test.jar"/>
       <property name="src.dist.zip" value="${dist.dir}/${name}-${version}-sources.jar"/>
       <property name="src.test.dist.zip" value="${dist.dir}/${name}-${version}-sourcestest.jar"/>
       <property name="src.samples.dist.zip" value="${dist.dir}/${name}SamplesSrc-${version}.zip"/>
       <property name="samples.dist.zip" value="${dist.dir}/${name}Samples-${version}.zip"/>
       <property name="fortressBuilder.zip" value="${dist.dir}/fortressBuilder-${platform}-${version}.zip"/>

       <!-- ########### LDAP properties ########################### -->
       <property name="ldap.dir" value="${basedir}/ldap"/>
       <property name="ldap.setup.dir" value="${ldap.dir}/setup"/>
       <property name="ldap.schema.dir" value="${ldap.dir}/schema"/>
       <property name="slapd.schema.dir" value="${slapd.dir}/schema"/>

       <!-- ########### Configuration, Load and builder properties ########################### -->
       <property name="src.load.bootstrap.script" value="${ldap.setup.dir}/refreshLDAPData-src.xml"/>
       <property name="dst.load.bootstrap.script" value="${ldap.setup.dir}/refreshLDAPData.xml"/>
       <property name="load.delegatedadmin.script" value="${ldap.setup.dir}/DelegatedAdminManagerLoad.xml"/>
       <property name="load.demo.script" value="${ldap.setup.dir}/FortressDemoUsers.xml"/>
       <property name="load.commander.script" value="${ldap.setup.dir}/CommanderDemoUsers.xml"/>
       <property name="build.win.properties" value="${basedir}/build.win.properties"/>
       <property name="build.nix.properties" value="${basedir}/build.nix.properties"/>
       <property name="build.properties" value="${basedir}/build.properties"/>
       <property name="config.dir" value="${basedir}/config"/>
       <property name="config.bootstrap.dir" value="${config.dir}/bootstrap"/>
       <property name="src.remote.conf" value="${config.dir}/fortress.properties.src"/>
       <property name="dst.remote.conf" value="${config.dir}/fortress.properties"/>
       <property name="src.bootstrap.conf" value="${config.bootstrap.dir}/fortress.properties.src"/>
       <property name="dst.bootstrap.conf" value="${config.bootstrap.dir}/fortress.properties"/>
       <property name="builder.bootstrap.conf" value="${builder.home}/config/bootstrap/fortress.properties"/>
       <property name="builder.remote.conf" value="${builder.home}/config/fortress.properties"/>
       <property name="builder.load.bootstrap.script" value="${builder.home}/ldap/refreshLDAPData-src.xml"/>
       <property name="ehcache.conf" value="${config.dir}/ehcache.xml"/>
       <property name="bootstrap.ehcache.conf" value="${config.bootstrap.dir}/ehcache.xml"/>
       <property name="apacheds-resource.dir" value="${basedir}/src/test/resources"/>

       <!-- ########### Slapd manage & config properties ########################### -->
       <property name="stop.slapd.script-win" value="${ldap.setup.dir}/stopSlapd.cmd"/>
       <property name="src.start.slapd.script-win" value="${ldap.setup.dir}/startSlapd.cmd.src"/>
       <property name="dst.start.slapd.script-win" value="${ldap.setup.dir}/startSlapd.cmd"/>
       <property name="stop.slapd.script" value="${ldap.setup.dir}/stopSlapd.sh"/>
       <property name="start.slapd.script" value="${ldap.setup.dir}/startSlapd.sh"/>
       <property name="mkdir.slapd-win" value="${ldap.setup.dir}/mkDir.cmd"/>
       <property name="uninstall.slapd.script" value="${ldap.setup.dir}/uninstall.sh"/>
       <property name="install.slapd.script" value="${ldap.setup.dir}/install.sh"/>
       <property name="source.slapd.conf" value="${ldap.dir}/slapd.conf.src"/>
       <property name="target.slapd.conf" value="${ldap.dir}/slapd.conf"/>
       <property name="dst.slapd.conf" value="${slapd.dir}/slapd.conf"/>
       <property name="source.fortress.schema" value="${ldap.schema.dir}/fortress.schema"/>
       <property name="target.fortress.schema" value="${slapd.schema.dir}/fortress.schema"/>
       <property name="db.cfg" value="${ldap.dir}/DB_CONFIG"/>

       <!-- ########### Sentry manage & config properties ########################### -->
       <property name="sentry" value="sentry"/>
       <property name="sentry.dir" value="${basedir}/${sentry}-${version}"/>
       <property name="sentry.zip" value="${lib.dir}/${sentry}-${version}.jar"/>

       <!-- ########### EnMasse manage & config properties ########################### -->
       <property name="enmasse" value="enmasse"/>
       <property name="enmasse.dir" value="${basedir}/${enmasse}-${version}"/>
       <property name="enmasse.zip" value="${basedir}/lib/${enmasse}-${version}.jar"/>

       <!-- ########### Commander manage & config properties ########################### -->
       <property name="commander" value="commander"/>
       <property name="commander.dir" value="${basedir}/${commander}-${version}"/>
       <property name="commander.zip" value="${basedir}/lib/${commander}-${version}.jar"/>

       <!-- ########### Java compile switches ########################### -->
       <property name="javac.optimize" value="false"/>
       <property name="javac.debug" value="true"/>
       <property name="javac.deprecation" value="true"/>

       <!-- ########### Javadoc properties ########################### -->
       <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-2014, JoshuaTree. All Rights Reserved. Generated ${TODAY}&lt;/small&gt;"/>
       <property name="javadoc.overview" value="${src.java.dir}/us/jts/fortress/overview.html" />
       <property name="javadoc.dist.zip" value="${dist.dir}/${name}-${version}-javadoc.jar"/>
       <property name="javadoc.stylesheet" value="${src.java.dir}/us/jts/fortress/fortress-javadoc.css" />
       <property name="javadoc.samples.dir" value="${dist.dir}/docs/samples"/>
       <property name="javadoc.samples.images.dir" value="${javadoc.samples.dir}/images"/>
       <property name="javadoc.samples.dist.zip" value="${dist.dir}/${name}-${version}-javadocsamples.jar"/>
       <property name="javadoc.samples.overview" value="${src.test.dir}/us/jts/fortress/samples/overview.html" />

       <!-- ########### Fortress Package Dependencies ########################### -->
       <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="commons-io.jar" value="${lib.dir}/commons-io-2.4.jar"/>
       <property name="cxf-common-utilities.jar" value="${lib.dir}/cxf-common-utilities-2.5.0.jar"/>
       <property name="commons-codec.jar" value="${lib.dir}/commons-codec-1.2.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="junit.jar" value="${lib.dir}/junit-4.9.jar"/>
       <property name="jasypt.jar" value="${lib.dir}/jasypt-1.8.jar"/>
       <property name="jaxb-api.jar" value="${lib.dir}/jaxb-api-2.2.6.jar"/>
       <property name="jaxb-impl.jar" value="${lib.dir}/jaxb-impl-2.2.4-1.jar"/>
       <property name="jaxb-xjc.jar" value="${lib.dir}/jaxb-xjc-2.2.4-1.jar"/>
       <property name="jackson-jaxrs.jar" value="${lib.dir}/jackson-jaxrs-1.9.0.jar"/>
       <property name="commons-httpclient.jar" value="${lib.dir}/commons-httpclient-3.1.jar"/>
       <property name="jsr311-api.jar" value="${lib.dir}/jsr311-api-1.1.1.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="slf4j-log4j.jar" value="${lib.dir}/slf4j-log4j12-1.7.5.jar"/>
       <property name="apacheds-all.jar" value="${lib.dir}/apacheds-all-2.0.0-M15.jar"/>
       <property name="opencsv.jar" value="${lib.dir}/opencsv-2.3.jar"/>

       <!-- ########### Define classpaths ########################### -->
       <path id="build.class.path">
           <pathelement location="${build.classes.dir}"/>
           <pathelement location="${jgraph.jar}"/>
           <pathelement location="${unboundsdk.jar}"/>
           <pathelement location="${junit.jar}"/>
           <pathelement location="${commons-config.jar}"/>
           <pathelement location="${commons-lang.jar}"/>
           <pathelement location="${commons-pool.jar}"/>
           <pathelement location="${commons-io.jar}"/>
           <pathelement location="${jasypt.jar}"/>
           <pathelement location="${jaxb-api.jar}"/>
           <pathelement location="${jaxb-impl.jar}"/>
           <pathelement location="${jaxb-xjc.jar}"/>
           <pathelement location="${jackson-jaxrs.jar}"/>
           <pathelement location="${commons-httpclient.jar}"/>
           <pathelement location="${jsr311-api.jar}"/>
           <pathelement location="${cxf-common-utilities.jar}"/>
           <pathelement location="${ehcache-core.jar}"/>
           <pathelement location="${apacheds-all.jar}"/>
           <pathelement location="${opencsv.jar}"/>
       </path>

       <!-- This is used for the JUnit Tests -->
       <path id="test.class.path">
           <path location="${config.dir}"/>
           <path location="${apacheds-resource.dir}"/>
           <pathelement location="${build.test-classes.dir}"/>
           <pathelement location="${dist.jar}"/>
           <pathelement location="${jgraph.jar}"/>
           <pathelement location="${unboundsdk.jar}"/>
           <pathelement location="${junit.jar}"/>
           <pathelement location="${log4j.jar}"/>
           <pathelement location="${commons-config.jar}"/>
           <pathelement location="${commons-lang.jar}"/>
           <pathelement location="${commons-pool.jar}"/>
           <pathelement location="${commons-logging.jar}"/>
           <pathelement location="${commons-collections.jar}"/>
           <pathelement location="${commons-codec.jar}"/>
           <pathelement location="${commons-io.jar}"/>
           <pathelement location="${jasypt.jar}"/>
           <pathelement location="${jackson-jaxrs.jar}"/>
           <pathelement location="${commons-httpclient.jar}"/>
           <pathelement location="${jsr311-api.jar}"/>
           <pathelement location="${cxf-common-utilities.jar}"/>
           <pathelement location="${jaxb-api.jar}"/>
           <pathelement location="${jaxb-impl.jar}"/>
           <pathelement location="${jaxb-xjc.jar}"/>
           <pathelement location="${ehcache-core.jar}"/>
           <pathelement location="${slf4j-api.jar}"/>
           <pathelement location="${slf4j-jcl.jar}"/>
           <pathelement location="${ant.home}/lib/ant.jar"/>
           <pathelement location="${images.dir}"/>
           <pathelement location="${apacheds-all.jar}"/>
           <pathelement location="${opencsv.jar}"/>
       </path>

       <!-- This is used before the initial loads have stored properties on the ldap server. -->
       <path id="bootstrap.class.path">
           <path location="${config.bootstrap.dir}"/>
           <pathelement location="${build.classes.dir}"/>
           <pathelement location="${jgraph.jar}"/>
           <pathelement location="${unboundsdk.jar}"/>
           <pathelement location="${junit.jar}"/>
           <pathelement location="${log4j.jar}"/>
           <pathelement location="${commons-config.jar}"/>
           <pathelement location="${commons-lang.jar}"/>
           <pathelement location="${commons-pool.jar}"/>
           <pathelement location="${commons-logging.jar}"/>
           <pathelement location="${commons-collections.jar}"/>
           <pathelement location="${jasypt.jar}"/>
           <pathelement location="${ehcache-core.jar}"/>
       </path>

       <!-- ########### Test properties ########################### -->
       <property name="test.sample.entry" value="us.jts.fortress.samples.AllSamplesJUnitTest"/>
       <property name="test.regression.entry"  value="us.jts.fortress.rbac.FortressJUnitTest"/>
       <property name="test.failonerror" value="false" />
       <property name="test.showoutput" value="yes" />

       <!-- define Maven coordinates (publishing only) -->
       <property name="groupId" value="us.jts" />
       <property name="artifactId" value="fortress" />

       <!-- 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="${dist.jar}" />
       <property name="maven-javadoc-jar" value="${javadoc.dist.zip}" />
       <property name="maven-sources-jar" value="${src.dist.zip}" />
    </target>

    <!-- =================================
          target: clean - Will remove old distribution packages from dist folder
         ================================= -->
    <target name="clean" depends="init" description="--> removes generated files">
      <delete dir="${build.dir}" />
      <delete dir="${dist.dir}" />
    </target>

    <!-- =================================
          target: compile the source
         ================================= -->
    <target name="compile" depends="init,resolve" description="--> compiles source files">
        <mkdir dir="${build.classes.dir}"/>
        <javac srcdir="${src.java.dir}"
            debug="${javac.debug}"
            deprecation="${javac.deprecation}"
            destdir="${build.classes.dir}">
            <classpath refid="build.class.path"/>
        </javac>
    </target>

    <!-- =================================
          target: compile the test source
         ================================= -->
    <target name="compile-test" depends="compile" description="--> compiles test source files">
        <mkdir dir="${build.test-classes.dir}"/>
        <javac destdir="${build.test-classes.dir}"
            srcdir="${src.test.dir}"
            debug="${javac.debug}"
            deprecation="${javac.deprecation}"
            optimize="${javac.optimize}">
            <classpath refid="build.class.path"/>
        </javac>
    </target>

    <!-- =================================
           target: build-jar - create java archive (jar) files which contain the compiled classes
          ================================= -->
    <target name="build-jar" depends="compile" description="--> create the core classes">
       <mkdir dir="${dist.dir}"/>
       <jar jarfile="${dist.jar}">
          <fileset dir="${build.classes.dir}"/>
          <metainf dir="${basedir}" includes="LICENSE.txt,NOTICE.txt"/>
          <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}"/>
             <attribute name="Built-Date" value="${TODAY}"/>
          </manifest>
       </jar>
    </target>

    <tstamp>
        <format property="TODAY" pattern="yyyy-MM-dd HH:mm:ss" />
    </tstamp>

     <!-- =================================
           target: build-jar-test - create jar containing compiled test classes
          ================================= -->
     <target name="build-jar-test" depends="compile-test" description="--> create the core test classes">
        <mkdir dir="${dist.dir}"/>
        <jar jarfile="${dist.test.jar}">
           <fileset dir="${build.test-classes.dir}"/>
           <metainf dir="${basedir}" includes="LICENSE.txt,NOTICE.txt"/>
           <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>
     </target>

    <!-- =================================
          target: create the javadoc based on source code
         ================================= -->
    <target name="javadoc" depends="init" description="--> generates javadocs">
      <mkdir dir="${javadoc.dir}"/>
      <javadoc packagenames="${package}"
               sourcepath="${src.java.dir}"
               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="test.class.path"
               serialwarn="false">
      </javadoc>
    </target>

    <!-- =================================
          target: create the javadoc based on source test code
         ================================= -->
    <target name="javadoc-samples" depends="init" description="--> generates samples javadocs">
       <mkdir dir="${javadoc.samples.dir}"/>
       <javadoc packagenames="${package.samples}"
                sourcepath="${src.test.dir}"
                destdir="${javadoc.samples.dir}"
                windowtitle="${title.samples}"
                doctitle="${title.samples} "
                bottom="${javadoc.bottom}"
                overview="${javadoc.samples.overview}"
                public="true"
                version="true"
                author="true"
                splitindex="false"
                nodeprecated="true"
                nodeprecatedlist="true"
                notree="true"
                noindex="false"
                nohelp="true"
                nonavbar="false"
                classpathref="test.class.path"
                serialwarn="false">
       </javadoc>
    </target>

     <!-- =================================
           target: build
          ================================= -->
    <target name="build" depends="clean,build-jar,build-jar-test,javadoc,javadoc-samples" description="--> create the core Fortress library">
       <copy todir="${dist.dir}" file="${basedir}/LICENSE.txt"/>
       <copy todir="${dist.dir}" file="${basedir}/NOTICE.txt"/>
    </target>

     <!-- =================================
           target: dist - creates the 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="LICENSE.txt"/>
               <include name="NOTICE.txt"/>
           </zipfileset>
        </zip>

        <zip destfile='${src.test.dist.zip}'>
          <zipfileset dir='${src.test.dir}'/>

          <zipfileset dir='${dist.dir}' prefix='META-INF'>
              <include name="LICENSE.txt"/>
              <include name="NOTICE.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>

        <zip destfile="${samples.dist.zip}" basedir="${src.test.dir}" includes="**/samples/*.java,build.xml">
            <zipfileset dir='${dist.dir}' prefix='META-INF'>
                <include name="LICENSE.txt"/>
                <include name="NOTICE.txt"/>
            </zipfileset>
            <zipfileset dir='${javadoc.samples.dir}'/>
        </zip>
     </target>

    <!-- =================================
          target: test-samples - runs junit programming samples tests
         ================================= -->
    <target name="test-samples" depends="compile-test,init-fortress-config" description="--> runs (junit) sample unit tests">
        <echo message="Run the Fortress programming sample JUnit tests..."/>
        <junit fork="yes" haltonfailure="${test.failonerror}" showoutput="${test.showoutput}">
            <sysproperty key="tenant" value="${tenant}"/>
            <sysproperty key="version" value="${version}"/>
            <classpath refid="test.class.path"/>
            <formatter type="plain" usefile="false"/>
            <test name="${test.sample.entry}"/>
        </junit>
    </target>

    <!-- =================================
          target: test-full - runs junit regression tests
         ================================= -->
    <target name="test-full" depends="build-jar,compile-test,init-fortress-config" description="--> run junit FULL regression tests">
        <echo message="Run the Fortress regression JUnit tests.  Be patient this can take a while to complete."/>
         <junit fork="yes" haltonfailure="${test.failonerror}" showoutput="${test.showoutput}" maxmemory="1024m">
            <sysproperty key="isFirstJUnitRun" value="false" />
            <sysproperty key="version" value="${version}"/>
            <sysproperty key="tenant" value="${tenant}"/>
            <classpath refid="test.class.path"/>
            <formatter type="plain" usefile="false"/>
            <test name="${test.regression.entry}"/>
        </junit>
    </target>

    <!-- =================================
          target: test-apacheds - runs junit regression tests
         ================================= -->
    <target name="test-apacheds" depends="build-jar,compile-test,init-fortress-config" description="--> run ApacheDS junit FULL regression tests">
        <echo message="Run the Fortress regression JUnit tests.  Be patient this can take a while to complete."/>
         <junit fork="yes" haltonfailure="${test.failonerror}" showoutput="${test.showoutput}" maxmemory="1024m">
            <sysproperty key="version" value="${version}"/>
            <sysproperty key="tenant" value="${tenant}"/>
            <classpath refid="test.class.path"/>
            <formatter type="plain" usefile="false"/>
            <test name="us.jts.fortress.rbac.apacheds.FortressJUnitApachedsTest"/>
        </junit>
    </target>

    <!-- =================================
          target: console - starts the Fortress Console app
         ================================= -->
     <target name="console" depends="build-jar,compile-test,init-fortress-config" description="--> start Fortress Console app">
         <echo message="Run the Fortress console app"/>
         <java
                 classname="us.jts.fortress.FortressConsole"
                 fork="false"
                 failonerror="true"
                 timeout="4000000"
                 >
             <classpath refid="test.class.path"/>
             <sysproperty key="version" value="${version}"/>
             <sysproperty key="tenant" value="${tenant}"/>
         </java>
     </target>

    <!-- =================================
          target: cli - starts the Fortress Command Line Interpreter
         ================================= -->
     <target name="cli" depends="build-jar,compile,init-fortress-config" description="--> start Fortress Command Line Interpreter">
         <echo message="Run the Fortress Command Line Interpreter"/>
         <java
                 classname="us.jts.fortress.cli.CommandLineInterpreter"
                 fork="false"
                 failonerror="true"
                 timeout="4000000"
                 >
             <classpath refid="test.class.path"/>
             <sysproperty key="version" value="${version}"/>
             <sysproperty key="tenant" value="${tenant}"/>
         </java>
     </target>

    <!-- =================================
          target: encrypt - allows users to encrypt values which are displayed to the standard output
         ================================= -->
     <target name="encrypt" depends="compile" description="--> encrypt -Dparam1=value : encrypts value from clear text to encrypted cypher string that is hex encoded">
         <echo message="Encrypt a value"/>
         <java
                 classname="us.jts.fortress.util.crypto.EncryptUtil"
                 fork="false"
                 failonerror="true"
                 timeout="4000000"
                 >
             <classpath refid="bootstrap.class.path"/>
             <arg value="${param1}"/>
         </java>
     </target>

    <!-- =================================
          target: admin - runs the Ant demo load scripts
         ================================= -->
     <target name="admin" depends="init-fortress-config" description="--> admin -Dparam1=path/to/FileName.xml : to run fortress admin scripts at specified location">
         <echo message="###############  Run Fortress Ant script param1: ${param1} tenant: ${tenant} version: ${version}  ###############"/>
         <java
                 classname="org.apache.tools.ant.launch.Launcher"
                 fork="true"
                 failonerror="true"
                 dir="${ldap.setup.dir}"
                 timeout="4000000"
                 taskname="startAnt">
             <classpath>
                 <pathelement location="${ant.home}/lib/ant-launcher.jar"/>
                 <path refid="bootstrap.class.path"/>
                 <path refid="test.class.path"/>
             </classpath>
             <sysproperty key="version" value="${version}"/>
             <sysproperty key="tenant" value="${tenant}"/>
             <arg value="-buildfile"/>
             <arg file="${param1}"/>
             <arg value="-Dbasedir=${ldap.setup.dir}"/>
         </java>
     </target>

    <!-- =================================
          target: admin-debug - runs the Ant demo load scripts in debug mode
         ================================= -->
     <target name="admin-debug" depends="init-fortress-config" description="--> admin -Dparam1=path/to/FileName.xml : to run fortress admin scripts at specified location">
         <echo message="###############  Run Fortress Ant script ${param1}  ###############"/>
         <java
                 classname="org.apache.tools.ant.launch.Launcher"
                 fork="true"
                 failonerror="true"
                 dir="${ldap.setup.dir}"
                 timeout="4000000"
                 taskname="startAnt">
             <classpath>
                 <pathelement location="${ant.home}/lib/ant-launcher.jar"/>
                 <!--<path refid="bootstrap.class.path"/>-->
                 <path refid="test.class.path"/>
             </classpath>
             <sysproperty key="debug.admin" value="true"/>
             <sysproperty key="version" value="${version}"/>
             <sysproperty key="tenant" value="${tenant}"/>
             <arg value="-buildfile"/>
             <arg file="${param1}"/>
             <arg value="-Dbasedir=${ldap.setup.dir}"/>
             <jvmarg  value="-Xdebug" />
             <jvmarg  value="-Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=5005" />
         </java>
     </target>

    <!-- =================================
          target: init-openldap-config - modifies openldap artifacts for runtime use of fortress-core
         ================================= -->
     <target name="init-openldap-config" depends="init" description="--> map env params from build.properties to scripts and config files">
         <echo message="###############  Modify slapd configuration per user settings  ###############"/>
         <delete file="${target.slapd.conf}"/>
	     <copy file="${source.slapd.conf}" tofile="${target.slapd.conf}"/>
         <replace file="${target.slapd.conf}" token="@SCHEMA_PATH@" value="${slapd.schema.dir}"/>
         <replace file="${target.slapd.conf}" token="@SUFFIX@" value="${suffix}"/>
         <replace file="${target.slapd.conf}" token="@PID_PATH@" value="${pid.dir}"/>
         <replace file="${target.slapd.conf}" token="@HISTORY_DB_PATH@" value="${db.hist.dir}"/>
         <replace file="${target.slapd.conf}" token="@DEFAULT_DB_PATH@" value="${db.dir}"/>
         <replace file="${target.slapd.conf}" token="@SLAPD_MODULE_PATH@" value="${slapd.module.dir}"/>
         <replace file="${target.slapd.conf}" token="@LOGOPS@" value="${log.ops}"/>
         <replace file="${target.slapd.conf}" token="@ROOT_DN@" value="${root.dn}"/>
         <replace file="${target.slapd.conf}" token="@ROOT_PW@" value="${root.pw}"/>
         <replace file="${target.slapd.conf}" token="@LOG_ROOT_DN@" value="${log.root.dn}"/>
         <replace file="${target.slapd.conf}" token="@LOG_ROOT_PW@" value="${log.root.pw}"/>
         <replace file="${target.slapd.conf}" token="@LOG_SUFFIX@" value="${log.suffix}"/>
         <replace file="${target.slapd.conf}" token="@LOG_DBNOSYNCH@" value="${log.dbnosynch}"/>
         <replace file="${target.slapd.conf}" token="@LOG_CHECKPOINT@" value="${log.checkpoint}"/>
         <replace file="${target.slapd.conf}" token="@DFLT_DBNOSYNCH@" value="${dflt.dbnosynch}"/>
         <replace file="${target.slapd.conf}" token="@DFLT_CHECKPOINT@" value="${dflt.checkpoint}"/>
         <replace file="${target.slapd.conf}" token="@DB_MODULE_NM@" value="back_${db.type}.la"/>
         <replace file="${target.slapd.conf}" token="@DB_TYPE@" value="${db.type}"/>
         <replace file="${target.slapd.conf}" token="@LOG_RDRS@" value="${log.rdrs}"/>
         <replace file="${target.slapd.conf}" token="@LOG_SIZE@" value="${log.size}"/>
         <replace file="${target.slapd.conf}" token="@LOG_BDB_CACHE_SIZE@" value="${log.bdb.cache.size}"/>
         <replace file="${target.slapd.conf}" token="@DFLT_RDRS@" value="${dflt.rdrs}"/>
         <replace file="${target.slapd.conf}" token="@DFLT_SIZE@" value="${dflt.size}"/>
         <replace file="${target.slapd.conf}" token="@DFLT_BDB_CACHE_SIZE@" value="${dflt.bdb.cache.size}"/>
         <replace file="${target.slapd.conf}" token="@DFLT_BDB_CACHE_IDLE_SIZE@" value="${dflt.bdb.cache.idle.size}"/>
         <echo message="Target init-all-config complete."/>
     </target>

    <!-- =================================
          init slapd for windows
         ================================= -->
    <target name="init-slapd-win-script" depends="init" description="--> creates a startup file for slapd on windows">
        <echo message="###############  Create slapd startup script for windows  ###############"/>
        <delete file="${dst.start.slapd.script-win}"/>
        <copy file="${src.start.slapd.script-win}" tofile="${dst.start.slapd.script-win}"/>
        <replace file="${dst.start.slapd.script-win}" token="@SLAPD_LOCATION@" value="${slapd.exe.location}"/>
        <echo message="init-slapd-win-script."/>
    </target>

    <!-- =================================
          initialize the config files
         ================================= -->
    <target name="init-fortress-config" depends="init">
       <echo message="Determine configuration requirements"/>
       <antcall target="init-fortress-config-local"></antcall>
       <antcall target="init-fortress-config-remote"></antcall>
    </target>

    <!-- =================================
          target: init-fortress-config - uses configuration artifacts created by Fortress Builder in target system environment.
         ================================= -->
     <target name="init-fortress-config-remote" depends="init" description="--> uses external build.properties to create local script and config files.."  if="builder.home">
         <echo message="###############  Import fortress configuration from Builder directory  ###############"/>
	     <copy file="${builder.bootstrap.conf}" tofile="${dst.bootstrap.conf}"/>
	     <copy file="${builder.remote.conf}" tofile="${dst.remote.conf}"/>
	     <copy file="${builder.load.bootstrap.script}" tofile="${dst.load.bootstrap.script}"/>
         <echo message="###############  Copy ehcache config to bootstrap config folder  ###############"/>
         <delete file="${bootstrap.ehcache.conf}"/>
	     <copy file="${ehcache.conf}" tofile="${bootstrap.ehcache.conf}"/>
         <echo message="Target init-fortress-config-remote complete."/>
     </target>

    <!-- =================================
          target: init-fortress-config - modifies fortress-core configuration artifacts for use of openldap in target system environment.
         ================================= -->
     <target name="init-fortress-config-local" depends="init" description="--> map env params from build.properties to scripts and config files.."  unless="builder.home">
         <echo message="###############  Modify fortress configuration per user settings  ###############"/>
         <delete file="${dst.bootstrap.conf}"/>
         <delete file="${dst.remote.conf}"/>

	     <copy file="${src.bootstrap.conf}" tofile="${dst.bootstrap.conf}"/>
         <replace file="${dst.bootstrap.conf}" token="@SUFFIX@" value="${suffix}"/>
         <replace file="${dst.bootstrap.conf}" token="@LDAP_HOST@" value="${ldap.host}"/>
         <replace file="${dst.bootstrap.conf}" token="@LDAP_PORT@" value="${ldap.port}"/>
         <replace file="${dst.bootstrap.conf}" token="@ROOT_DN@" value="${root.dn}"/>
         <replace file="${dst.bootstrap.conf}" token="@CFG_ROOT_PW@" value="${cfg.root.pw}"/>
         <replace file="${dst.bootstrap.conf}" token="@ADM_MIN_CONN@" value="${admin.min.conn}"/>
         <replace file="${dst.bootstrap.conf}" token="@ADM_MAX_CONN@" value="${admin.max.conn}"/>
         <replace file="${dst.bootstrap.conf}" token="@LOG_MIN_CONN@" value="${log.min.conn}"/>
         <replace file="${dst.bootstrap.conf}" token="@LOG_MAX_CONN@" value="${log.max.conn}"/>
         <replace file="${dst.bootstrap.conf}" token="@USR_MIN_CONN@" value="${user.min.conn}"/>
         <replace file="${dst.bootstrap.conf}" token="@USR_MAX_CONN@" value="${user.max.conn}"/>
         <replace file="${dst.bootstrap.conf}" token="@CFG_CRYPTO_PROP@" value="${crypto.prop}"/>
         <replace file="${dst.bootstrap.conf}" token="@SERVER_TYPE@" value="${ldap.server.type}"/>
         <replace file="${dst.bootstrap.conf}" token="@LDAP_CLIENT_TYPE@" value="${ldap.client.type}"/>

	     <copy file="${src.remote.conf}" tofile="${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}"/>
         <replace file="${dst.remote.conf}" token="@ENABLE_REST@" value="${enable.mgr.impl.rest}"/>
         <replace file="${dst.remote.conf}" token="@REST_HTTP_USER@" value="${http.user}"/>
         <replace file="${dst.remote.conf}" token="@REST_HTTP_PW@" value="${http.pw}"/>
         <replace file="${dst.remote.conf}" token="@REST_HTTP_HOST@" value="${http.host}"/>
         <replace file="${dst.remote.conf}" token="@REST_HTTP_PORT@" value="${http.port}"/>
         <replace file="${dst.remote.conf}" token="@LDAP_CLIENT_TYPE@" value="${ldap.client.type}"/>

         <echo message="###############  Modify fortress load scripts per user settings  ###############"/>
         <delete file="${dst.load.bootstrap.script}"/>
	     <copy file="${src.load.bootstrap.script}" tofile="${dst.load.bootstrap.script}"/>
         <replace file="${dst.load.bootstrap.script}" token="@SUFFIX_NAME@" value="${suffix.name}"/>
         <replace file="${dst.load.bootstrap.script}" token="@SUFFIX_DC@" value="${suffix.dc}"/>
         <replace file="${dst.load.bootstrap.script}" token="@SUFFIX@" value="${suffix}"/>
         <replace file="${dst.load.bootstrap.script}" token="@LOG_ROOT_DN@" value="${log.root.dn}"/>
         <replace file="${dst.load.bootstrap.script}" token="@CFG_LOG_ROOT_PW@" value="${cfg.log.root.pw}"/>
         <replace file="${dst.load.bootstrap.script}" token="@LOG_MIN_CONN@" value="${user.min.conn}"/>
         <replace file="${dst.load.bootstrap.script}" token="@LOG_MAX_CONN@" value="${user.max.conn}"/>
         <replace file="${dst.load.bootstrap.script}" token="@USR_MIN_CONN@" value="${log.min.conn}"/>
         <replace file="${dst.load.bootstrap.script}" token="@USR_MAX_CONN@" value="${log.max.conn}"/>
         <replace file="${dst.load.bootstrap.script}" token="@SERVER_TYPE@" value="${ldap.server.type}"/>

         <echo message="###############  Copy ehcache config to bootstrap config folder  ###############"/>
         <delete file="${bootstrap.ehcache.conf}"/>
	     <copy file="${ehcache.conf}" tofile="${bootstrap.ehcache.conf}"/>

         <echo message="Target init-fortress-config-local complete."/>
     </target>

    <!-- =================================
          target: init-all-config - configures openldap, fortress and the the base load scripts for ldap Directory Information Tree (DIT)
         ================================= -->
     <target name="init-all-config" depends="init" description="--> map env params from build.properties to scripts and config files">
         <antcall target="init-openldap-config"></antcall>
         <antcall target="init-fortress-config"></antcall>
         <echo message="Target init-all-config complete."/>
     </target>

    <!-- =================================
          target: load-slapd - seeds openldap and base loads for test/use.
         ================================= -->
    <target name="load-slapd" depends="build-jar" description="--> task runs ant admin scripts to refresh fortress boostrap data">
        <echo message="###############  Initialize OpenLDAP  ###############"/>

        <echo message="Load the Fortress boostrap config and demo users"/>
        <antcall target="admin">
            <param name="param1" value="${dst.load.bootstrap.script}"/>
        </antcall>
        <antcall target="admin">
            <param name="param1" value="${load.delegatedadmin.script}"/>
        </antcall>
        <antcall target="admin">
            <param name="param1" value="${load.demo.script}"/>
        </antcall>
        <echo message="Target load-slapd complete."/>
    </target>

    <!-- =================================
          target: use-slapd - configures fortress to work with an existing OpenLDAP system.
         ================================= -->
    <target name="use-slapd" depends="build-jar" description="--> task refreshes fortress config and reloads slapd data">
        <echo message="###############  Use OpenLDAP  ###############"/>
        <antcall target="init-fortress-config"></antcall>
        <antcall target="load-slapd"></antcall>
        <echo message="Target use-slapd complete."/>
    </target>

    <!-- =================================
          target: init-slapd - initializes the fortress, OpenLDAP and Berkeley DB
          Use Caution as it removes the file volume containing the BerkeleyDB User data!
          This operation is destructive and non-reversible.  It is intended for complete openldap
          system tear down and reinstall.

          Never run this Ant target on a production system.
         ================================= -->
    <target name="init-slapd" depends="build-jar" description="--> task recreates openldap system and must be run as elevated priv's to teardown/create slapd files and folders">
        <echo message="###############  Initialize OpenLDAP  ###############"/>

        <echo message="###############  Stop slapd process  ###############"/>
        <antcall target="stop-slapd"></antcall>
        <antcall target="uninstall-slapd"></antcall>

        <echo message="###############  Backup the slpad bdb folders  ###############"/>
        <!-- Backup the OpenLDAP access log db folder -->
        <move todir="${db.bak.hist.dir}/${TODAY}" failonerror="false">
           <fileset dir="${db.hist.dir}"/>
        </move>
        <!-- Backup the OpenLDAP db folder -->
        <move todir="${db.bak.dir}/${TODAY}" failonerror="false">
           <fileset dir="${db.dir}"/>
        </move>

        <antcall target="install-slapd"></antcall>

        <echo message="###############  Create new slapd bdb folders  ###############"/>
        <mkdir dir="${db.dir}"/>
        <mkdir dir="${db.hist.dir}"/>
        <copy todir="${db.dir}" file="${db.cfg}"/>
        <copy todir="${db.hist.dir}" file="${db.cfg}"/>

        <echo message="###############  Backup slapd configuration and Fortress LDAP schema  ###############"/>
        <move file="${dst.slapd.conf}" tofile="${dst.slapd.conf}.bak.${TODAY}" failonerror="false" />
        <move file="${target.fortress.schema}" tofile="${target.fortress.schema}.${TODAY}" failonerror="false" />

        <echo message="###############  Setup meta config and base load scripts for openldap and fortress  ###############"/>
        <antcall target="init-all-config"></antcall>

        <echo message="###############  Copy slapd configuration and Fortress LDAP schema files from source  ###############"/>
        <copy todir="${slapd.schema.dir}" file="${source.fortress.schema}"/>
        <copy todir="${slapd.dir}" file="${target.slapd.conf}"/>

        <antcall target="copy-access-libs"></antcall>		
        <antcall target="init-slapd-win-script"></antcall>
        <antcall target="start-slapd"></antcall>
        <antcall target="load-slapd"></antcall>
        <echo message="Target init-slapd complete."/>
    </target>

    <!-- =================================
          perform test configurations
         ================================= -->
    <target name="test-config" depends="init">
        <echo message="###############  Test Config Steps"/>
        <echo message="###############  Setup meta config and base load scripts for openldap and fortress  ###############"/>
        <antcall target="init-all-config"></antcall>

        <echo message="###############  Copy slapd configuration and Fortress LDAP schema files from source  ###############"/>
        <copy todir="${slapd.schema.dir}" file="${source.fortress.schema}"/>
        <copy todir="${slapd.dir}" file="${target.slapd.conf}"/>

        <antcall target="copy-access-libs"></antcall>
        <antcall target="init-slapd-win-script"></antcall>
    </target>

    <!-- =================================
          copy the slapd access log libs from install to bin folder
         ================================= -->
    <target name="copy-access-libs" depends="init" >
        <echo message="###############  Copy access log libs ${openldap.install.artifact.dir} to openldap lib folder ${slapd.module.dir}"/>
		<copy todir="${slapd.module.dir}" failonerror="false">
			<fileset dir="${openldap.install.artifact.dir}">
				<include name="**/accesslog*"/>
			</fileset>
		</copy>
    </target>

    <!-- =================================
          if windows system create slapd server folders
         ================================= -->
    <target name="mkdir-slapd-win" depends="init" if="windows">
        <echo message="###############  Create the folder for windows slapd by running ${mkdir.slapd-win}"/>
        <exec command="cmd.exe" spawn="true" osfamily="windows" dir="${install.image.loc}">
            <arg value="/${fortress.home.drive}"/>
            <arg value="${mkdir.slapd-win}"/>
        </exec>
    </target>

    <!-- =================================
          call the target to uninstall slapd server
         ================================= -->
    <target name="uninstall-slapd" depends="init">
        <antcall target="uninstall-slapd-win"></antcall>
        <antcall target="uninstall-slapd-nix"></antcall>
    </target>

    <!-- =================================
          uninstall slapd from unix system
         ================================= -->
    <target name="uninstall-slapd-nix" depends="init" unless="windows">
        <echo message="###############  Uninstall OpenLDAP binaries"/>
        <exec dir="." executable="/bin/sh">
            <arg line="${uninstall.slapd.script}"/>
            <arg value="${slapd.uninstall}"/>
            <arg value="${sudo.pw}"/>
        </exec>
    </target>

    <!-- =================================
          call the target to uninstall slapd from windows system
         ================================= -->
    <target name="uninstall-slapd-win" depends="init" if="windows">
        <antcall target="uninstall-slapd-win-if-present"></antcall>
    </target>

    <!-- =================================
          if detect running windows uninstall slapd server from windows system.
         ================================= -->
    <target name="uninstall-slapd-win-if-present" depends="slapd.dir.check" if="slapd.dir.exists">
        <echo message="###############  Uninstall OpenLDAP WIN binaries: from ${slapd.exe.location2}"/>
        <exec command="cmd.exe" spawn="true" osfamily="windows" dir="${slapd.exe.location2}" >
            <arg value="/${fortress.home.drive}"/>
            <arg value="${uninstall.image.exe}"/>
            <arg value="/S"/>
        </exec>
    </target>

    <!-- =================================
          call the target to uninstall slapd server
         ================================= -->
    <target name="install-slapd" depends="init">
        <antcall target="install-slapd-win"></antcall>
        <antcall target="install-slapd-nix"></antcall>
    </target>

    <!-- =================================
          uninstall slapd from unix system
         ================================= -->
    <target name="install-slapd-nix" depends="init" unless="windows">
        <echo message="###############  Install OpenLDAP binaries"/>
        <exec dir="${openldap.install.artifact.dir}" executable="/bin/sh">
            <arg line="${install.slapd.script}"/>
            <arg value="${slapd.install}"/>
            <arg value="${sudo.pw}"/>
        </exec>
    </target>

    <!-- =================================
          uninstall slapd from windows system
         ================================= -->
    <target name="install-slapd-win" depends="init" if="windows">
        <echo message="###############  Install OpenLDAP WIN binaries to ${slapd.exe.location}"/>
        <mkdir dir="${slapd.exe.location}"/>
        <exec command="cmd.exe" spawn="false" osfamily="windows" dir="${install.image.loc}">
            <arg value="/${fortress.home.drive}"/>
            <arg value="${install.image.exe}"/>
            <arg value="/S"/>
            <arg value="/D=${slapd.exe.location}"/>
        </exec>
    </target>

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

    <!-- =================================
          start the slapd server on unix system
         ================================= -->
    <target name="start-slapd-nix" depends="init" unless="windows">
        <echo message="###############  Start the slapd process up  ###############"/>
        <exec dir="." executable="/bin/sh">
            <arg line="${start.slapd.script}"/>
            <arg value="${slapd.start}"/>
            <arg value="${sudo.pw}"/>
        </exec>
    </target>

    <!-- =================================
          call the target to stop the slapd server
         ================================= -->
    <target name="stop-slapd" depends="init" description="--> stop the OpenLDAP server">
        <antcall target="stop-slapd-win"></antcall>
        <antcall target="stop-slapd-nix"></antcall>
    </target>

    <!-- =================================
          stop the slapd server on unix system
         ================================= -->
    <target name="stop-slapd-nix" depends="init" unless="windows">
        <echo message="###############  Stop the slapd process"/>
        <exec dir="." executable="/bin/sh">
          <arg line="${stop.slapd.script}"/>
          <arg value="${sudo.pw}"/>
        </exec>
    </target>

    <!-- =================================
          start the slapd server on windows system
         ================================= -->
    <target name="start-slapd-win" depends="init" if="windows">
       <echo message="###############  Start the slapd process up: ${dst.start.slapd.script-win} in ${slapd.exe.dir}"/>       
        <exec command="cmd.exe" spawn="true" osfamily="windows" dir="${slapd.exe.drive}:/${slapd.exe.dir}">
            <arg value="/${fortress.home.drive}"/>
            <arg value="${dst.start.slapd.script-win}"/>
        </exec>
    </target>

    <!-- =================================
          return true if slapd bin folder exists
         ================================= -->
    <target name="slapd.dir.check">
        <condition property="slapd.dir.exists">
            <available file="${slapd.exe.location}" type="dir"/>
		</condition>
     </target>

    <!-- =================================
          call the target to stop the slapd server on windows system
         ================================= -->
    <target name="stop-slapd-win" depends="init" if="windows">
        <antcall target="stop-slapd-win-if-present"></antcall>
    </target>

    <!-- =================================
          if slapd dir exists stop the slapd server on windows system
         ================================= -->
    <target name="stop-slapd-win-if-present" depends="slapd.dir.check" if="slapd.dir.exists">
        <echo>${directory} exists</echo>
        <echo message="###############  Stop the slapd process by running ${stop.slapd.script-win}"/>
        <exec command="cmd.exe" spawn="true" osfamily="windows" dir="${slapd.exe.location}">
            <arg value="/${fortress.home.drive}"/>
            <arg value="${stop.slapd.script-win}"/>
        </exec>
	  </target>

    <!-- =================================
          target: bdb-delete - Use Caution as it removes the file volume containing the BerkeleyDB User data!
          This operation is destructive and non-reversible.  It is intended for clearing out existing systems data
          before reinstalling with brand new data.

          Never run this Ant target on a production system.
         ================================= -->
     <target name="bdb-delete" depends="init" description="--> delete OpenLDAP DB">
         <echo message="Delete BDB DB"/>

         <exec dir="." executable="/bin/sh">
           <arg line="${stop.slapd.script}"/>
         </exec>

         <delete dir="${db.dir}"/>

     </target>

    <!-- =================================
          target: init-apacheds - initializes the fortress to use ApacheDS LDAP
         ================================= -->
    <target name="init-apacheds" depends="build-jar" description="--> task configures fortress to use an existing ApacheDS LDAP server">
        <echo message="###############  Setup meta config and base load scripts for openldap and fortress  ###############"/>
        <antcall target="init-fortress-config"></antcall>
        <antcall target="load-slapd"></antcall>
        <echo message="Target init-apacheds complete."/>
    </target>

    <!-- =================================
          target: init-jaxb - initializes properties and taskdefs used for schema generation and compilation.
         ================================= -->
    <target name="init-jaxb" depends="resolve" description="--> initializes properties and taskdefs used for schema generation and compilation">

        <property name="generated.dir" value="${basedir}/generated"/>
        <property name="generated.classes.dir" value="${generated.dir}/classes"/>
        <property name="generated.schema.dir" value="${generated.dir}/schema"/>

       <!-- Defines XJC and SchemaGen tasks -->
        <taskdef name="xjc" classname="com.sun.tools.xjc.XJCTask">
            <classpath refid="build.class.path"/>
        </taskdef>

        <taskdef name="schemagen" classname="com.sun.tools.jxc.SchemaGenTask">
                <classpath refid="build.class.path"/>
        </taskdef>

    </target>

    <!-- =================================
          target: generate-schema - generates JAXB schmea based on Java classes.
         ================================= -->
    <target name="generate-schema" depends="init-jaxb,compile" description="--> generates JAXB schema based on Fortress entity classes">
        <echo message="Generating schemas..."/>
        <mkdir dir="${generated.schema.dir}"/>
        <schemagen srcdir="${src.java.dir}/us/jts/fortress" destdir="${generated.schema.dir}">
            <classpath refid="build.class.path"/>
            <include name="rbac/Address.java"/>
            <include name="rbac/AdminRole.java"/>
            <include name="rbac/AdminRoleRelationship.java"/>
            <include name="rbac/AuthZ.java"/>
            <include name="rbac/Bind.java"/>
            <include name="util/time/Constraint.java"/>
            <include name="FortEntity.java"/>
            <include name="rest/FortRequest.java"/>
            <include name="rest/FortResponse.java"/>
            <include name="rbac/Mod.java"/>
            <include name="rbac/OrgUnit.java"/>
            <include name="rbac/OrgUnitRelationship.java"/>
            <include name="rbac/Permission.java"/>
            <include name="rbac/PermGrant.java"/>
            <include name="rbac/Permission.java"/>
            <include name="rbac/PermObj.java"/>
            <include name="rbac/Props.java"/>
            <include name="rbac/PwPolicy.java"/>
            <include name="rbac/Role.java"/>
            <include name="rbac/RolePerm.java"/>
            <include name="rbac/RoleRelationship.java"/>
            <include name="rbac/SDSet.java"/>
            <include name="rbac/Session.java"/>
            <include name="rbac/User.java"/>
            <include name="rbac/UserAdminRole.java"/>
            <include name="rbac/UserAudit.java"/>
            <include name="rbac/UserRole.java"/>
        </schemagen>
    </target>

    <!-- =================================
          target: compile-schema - generates Java classes based on schema.
         ================================= -->
    <target name="compile-schema" depends="init-jaxb,generate-schema" description="--> generates Java classes based on Fortress schema">
        <echo message="Compiling the schema..."/>
        <mkdir dir="${generated.classes.dir}"/>
        <xjc schema="${generated.schema.dir}/schema1.xsd" destdir="${src.java.dir}" package="us.jts.fortress.model" removeOldOutput="yes"/>
    </target>

    <!-- =================================
          create Fortress Builder distribution package
         ================================= -->
    <target name="builder" depends="dist" description="--> create the Fortress QUICKSTART package">
        <echo message="###############  Build Fortress Builder distribution package named: ${fortressBuilder.zip} ###############"/>
        <zip destfile="${fortressBuilder.zip}"
             update="true">
            <zipfileset dir="${src.dir}" prefix="src">
                <include name="*/**"/>
                <exclude name="*.iml"/>
            </zipfileset>

            <zipfileset dir="${basedir}">
                <include name="*.xml"/>
                <include name="*.properties"/>
                <include name="*.sh"/>
                <include name="*.bat"/>
                <include name="*.html"/>
                <include name="LICENSE.txt"/>
                <include name="NOTICE.txt"/>
                <exclude name="*.log"/>
                <exclude name="*.out"/>
                <exclude name="*.err"/>
                <exclude name="build.sh"/>
                <exclude name="codetemplates.xml"/>
                <exclude name="formatting.xml"/>
            </zipfileset>

            <zipfileset dir="${images.dir}" prefix="images">
                <include name="Screenshot*.png"/>
                <include name="fortresscommunitylogov3.jpg"/>
            </zipfileset>

            <zipfileset dir="${ldap.dir}" prefix="ldap">
                <include name="*/**"/>
                <exclude name="*.conf"/>
                <exclude name="*.log"/>
                <exclude name="*/*.csv"/>
                <exclude name="*/*.log"/>
                <exclude name="*/dev-symas-website-policy.xml"/>
                <exclude name="*/AccountsSecurityPolicy.xml"/>
                <exclude name="*/demo-fortressproject-users.xml"/>
                <exclude name="*/refreshLDAPData.xml"/>
            </zipfileset>

            <zipfileset dir="${config.dir}" prefix="config">
                <include name="*/**"/>
                <exclude name="*.log"/>
                <exclude name="*.properties"/>
                <exclude name="*/*.properties"/>
            </zipfileset>

            <zipfileset dir="${install.image.dir}" prefix="symas-openldap">
                <include name="*/**"/>
            </zipfileset>

            <zipfileset dir="${ant.home}" prefix="apache-ant">
                <include name="*/**"/>
            </zipfileset>

            <zipfileset dir="${maven.image.dir}" prefix="apache-maven">
                <include name="*/**"/>
            </zipfileset>

            <zipfileset dir="${tomcat.image.dir}" prefix="apache-tomcat">
                <include name="*/**"/>
            </zipfileset>

        </zip>
    </target>

    <!-- =================================
          Install EnMasse Demo
         ================================= -->
    <target name="install-enmasse-demo" depends="init"  description="--> install EnMasse Demo">
       <antcall target="doSentry"></antcall>
       <antcall target="sentry-ant-start-tomcat"></antcall>
       <antcall target="install-enmasse"></antcall>
       <antcall target="enmasse-maven-test"></antcall>
    </target>

    <target name="doSentry" depends="dir.check" unless="dir.exists">
       <echo>Install sentry to ${sentry.dir}"</echo>
        <antcall target="install-sentry"></antcall>
        <antcall target="sentry-ant-deploy-tomcat"></antcall>
     </target>

     <target name="dir.check">
       <condition property="dir.exists">
         <available file="${sentry.dir}" type="dir"/>
       </condition>
     </target>

    <!-- =================================
          Install Fortress Sentry
         ================================= -->
   <target name="install-sentry" depends="init"  description="--> install sentry">
       <unzip src="${sentry.zip}" dest="${basedir}"/>
       <!-- copy the build.properties file to sentry -->
       <copy todir="${sentry.dir}" file="${basedir}/build.properties" overwrite="true" />
       <!-- Sentry should use LDAPv3 for the demo install -->
       <replace file="${sentry.dir}/build.properties" token="enable.mgr.impl.rest=true" value="enable.mgr.impl.rest=false"/>
       <antcall target="sentry-ant-dist"></antcall>
       <chmod dir="${basedir}" perm="a+x" includes="**/*.sh"/>
   </target>

    <!-- =================================
          Call the Sentry Ant target to Install Fortress Sentry
         ================================= -->
   <target name="sentry-ant-dist" depends="init" description="--> run Fortress admin script">
        <echo message="###############  Build Sentry Distribution  ###############"/>
        <java
                classname="org.apache.tools.ant.launch.Launcher"
                fork="true"
                failonerror="true"
                dir="${sentry.dir}"
                timeout="4000000"
                taskname="startAnt">
            <classpath>
                <pathelement location="${ant.home}/lib/ant-launcher.jar"/>
            </classpath>
            <arg value="dist"/>
        </java>
    </target>

    <!-- =================================
          Call the Sentry Ant target to deploy Tomcat Realm
         ================================= -->
    <target name="sentry-ant-deploy-tomcat" depends="init" description="--> deploy Sentry to Tomcat">
        <echo message="###############  Deploy Sentry to Tomcat  ###############"/>
        <java
                classname="org.apache.tools.ant.launch.Launcher"
                fork="true"
                failonerror="true"
                dir="${sentry.dir}"
                timeout="4000000"
                taskname="startAnt">
            <classpath>
                <pathelement location="${ant.home}/lib/ant-launcher.jar"/>
            </classpath>
            <arg value="deploy-tomcat"/>
        </java>
    </target>

    <!-- =================================
          Call the Sentry Ant target to start Tomcat server
         ================================= -->
    <target name="sentry-ant-start-tomcat" depends="init" description="--> start Tomcat server">
        <echo message="###############  Start Tomcat Server  ###############"/>
        <property name="tomcat.dir" value="./tomcat"/>
        <java
                classname="org.apache.tools.ant.launch.Launcher"
                fork="true"
                failonerror="true"
                dir="${sentry.dir}"
                timeout="4000000"
                taskname="startAnt"
                jvmargs="-Dversion=${version}">
            <classpath>
                <pathelement location="${ant.home}/lib/ant-launcher.jar"/>
            </classpath>
            <arg value="start-tomcat"/>
        </java>
    </target>

    <!-- =================================
          Call the Sentry Ant target to stop Tomcat server
         ================================= -->
    <target name="sentry-ant-stop-tomcat" depends="init" description="--> stop Tomcat server">
        <echo message="###############  Stop Tomcat Server  ###############"/>
        <property name="tomcat.dir" value="./tomcat"/>
        <java
                classname="org.apache.tools.ant.launch.Launcher"
                fork="true"
                failonerror="true"
                dir="${sentry.dir}"
                timeout="4000000"
                taskname="startAnt">
            <classpath>
                <pathelement location="${ant.home}/lib/ant-launcher.jar"/>
            </classpath>
            <arg value="stop-tomcat"/>
        </java>
    </target>

    <!-- =================================
          Install EnMasse
         ================================= -->
    <target name="install-enmasse" depends="init"  description="--> install sentry">
        <unzip src="${enmasse.zip}" dest="${basedir}"/>
        <!-- copy the fortress.properties file to enmasse -->
        <copy todir="${enmasse.dir}/src/main/resources" file="${dst.remote.conf}"/>
        <!-- For demo Enmasse should use LDAPv3 for backend connections -->
        <copy todir="${enmasse.dir}/src/main/resources" file="${dst.remote.conf}" overwrite="true" />
        <replace file="${enmasse.dir}/src/main/resources/fortress.properties" token="enable.mgr.impl.rest=true" value="enable.mgr.impl.rest=false"/>
        <antcall target="enmasse-maven-install"></antcall>
        <antcall target="enmasse-maven-deploy"></antcall>
    </target>

    <!-- =================================
          Call the EnMasse Maven to install
         ================================= -->
    <target name="enmasse-maven-install" depends="init" description="--> deploy snapshot version to Maven snapshot repository">
        <artifact:mvn pom="${enmasse.dir}/pom.xml" mavenHome="${M2_HOME}"  fork="true">
        	<arg value="install"/>
        </artifact:mvn>
    </target>

    <!-- =================================
          Call the EnMasse Maven to deploy Web app
         ================================= -->
    <target name="enmasse-maven-deploy" depends="init" description="--> deploy snapshot version to Maven snapshot repository">
        <artifact:mvn pom="${enmasse.dir}/pom.xml" mavenHome="${M2_HOME}"  fork="true">
        	<arg value="tomcat:deploy"/>
            <arg value="-DfailIfNoTests=false" />
        </artifact:mvn>
    </target>

    <!-- =================================
          Call the EnMasse Maven to redeploy Web app
         ================================= -->
    <target name="enmasse-maven-redeploy" depends="init" description="--> deploy snapshot version to Maven snapshot repository">
        <artifact:mvn pom="${enmasse.dir}/pom.xml" mavenHome="${M2_HOME}"  fork="true">
        	<arg value="tomcat:redeploy"/>
            <arg value="-DfailIfNoTests=false" />
        </artifact:mvn>
    </target>

    <!-- =================================
          Call the EnMasse Maven to test Web app
         ================================= -->
    <target name="enmasse-maven-test" depends="init" description="--> deploy snapshot version to Maven snapshot repository">
        <artifact:mvn pom="${enmasse.dir}/pom.xml" mavenHome="${M2_HOME}"  fork="true">
        	<arg value="test"/>
        </artifact:mvn>
    </target>

    <!-- =================================
          Install Commander Demo
         ================================= -->
    <target name="install-commander-demo" depends="init"  description="--> install Commander Demo">
        <antcall target="doSentry"></antcall>
        <antcall target="sentry-ant-start-tomcat"></antcall>
        <antcall target="install-commander"></antcall>
    </target>

    <!-- =================================
          Install Commander
         ================================= -->
    <target name="install-commander" depends="init"  description="--> install commander">
        <unzip src="${commander.zip}" dest="${basedir}"/>
        <!-- copy the fortress.properties file to commander -->
        <copy todir="${commander.dir}/src/main/resources" file="${dst.remote.conf}" overwrite="true" />
        <concat destfile="${commander.dir}/src/main/resources/fortress.properties" append="true">${line.separator}version=${version}</concat>
        <replace file="${commander.dir}/pom.xml" token="&lt;ANT_HOME>/home/smckinn/JavaTools/apache-ant-1.8.2&lt;/ANT_HOME>" value="&lt;ANT_HOME>../apache-ant/&lt;/ANT_HOME>"/>
        <!-- load the sample test policy for commander -->
        <antcall target="commander-maven-load"></antcall>
        <antcall target="commander-maven-deploy"></antcall>
    </target>

    <!-- =================================
          Call the Commander Maven to install
         ================================= -->
    <target name="commander-maven-install" depends="init" description="--> deploy snapshot version to Maven snapshot repository">
        <artifact:mvn pom="${commander.dir}/pom.xml" mavenHome="${M2_HOME}"  fork="true">
        	<arg value="install"/>
        </artifact:mvn>
    </target>

    <!-- =================================
          Call the Commander Maven to deploy Web app
         ================================= -->
    <target name="commander-maven-deploy" depends="init" description="--> deploy snapshot version to Maven snapshot repository">
        <artifact:mvn pom="${commander.dir}/pom.xml" mavenHome="${M2_HOME}"  fork="true">
        	<arg value="tomcat:deploy"/>
        </artifact:mvn>
    </target>

    <!-- =================================
          Call the Commander Maven to redeploy Web app
         ================================= -->
    <target name="commander-maven-redeploy" depends="init" description="--> deploy snapshot version to Maven snapshot repository">
        <artifact:mvn pom="${commander.dir}/pom.xml" mavenHome="${M2_HOME}"  fork="true">
        	<arg value="tomcat:redeploy"/>
        </artifact:mvn>
    </target>

    <!-- =================================
          Call the Commander Maven to load test policy into LDAP
         ================================= -->
    <target name="commander-maven-load" depends="init" description="--> load Commander test policy into LDAP">
        <artifact:mvn pom="${commander.dir}/pom.xml" mavenHome="${M2_HOME}"  fork="true">
        	<arg value="test"/>
        </artifact:mvn>
    </target>

    <!-- =================================
          Call the Commander Maven to integration test Web app with Selenium Web Driver
         ================================= -->
    <target name="commander-maven-test" depends="init" description="--> deploy snapshot version to Maven snapshot repository">
        <replace file="${commander.dir}/src/test/java/us/jts/commander/integration/CommanderSeleniumITCase.java" token="http://192.168.1.101:8080" value="http://${http.host}:${http.port}"/>
        <artifact:mvn pom="${commander.dir}/pom.xml" mavenHome="${M2_HOME}"  fork="true">
        	<arg value="verify"/>
    		<arg value="-DskipTests=false"/>
        </artifact:mvn>
    </target>

    <!-- =================================
          target: download-ivy - pulls down ivy.jar from maven 2 website
         ================================= -->
    <target name="download-ivy" depends="init"  description="--> pull the ivy jar dependency" 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="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>

    <!-- =================================
          Deploy snapshot to remote Maven repository
         ================================= -->
    <target name="deploy" depends="init" 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>
