You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@directory.apache.org by sm...@apache.org on 2016/04/02 16:32:34 UTC

[3/3] directory-fortress-core git commit: FC-164 - Remove ivy , rename ant script to build-config.xml, init-slapd mvn profile

 FC-164 - Remove ivy , rename ant script to build-config.xml, init-slapd mvn profile


Project: http://git-wip-us.apache.org/repos/asf/directory-fortress-core/repo
Commit: http://git-wip-us.apache.org/repos/asf/directory-fortress-core/commit/c3c646c4
Tree: http://git-wip-us.apache.org/repos/asf/directory-fortress-core/tree/c3c646c4
Diff: http://git-wip-us.apache.org/repos/asf/directory-fortress-core/diff/c3c646c4

Branch: refs/heads/master
Commit: c3c646c47aab919e4bafa1fe5fe410162efacf94
Parents: 4d9ccc8
Author: Shawn McKinney <sm...@apache.org>
Authored: Sat Apr 2 09:32:28 2016 -0500
Committer: Shawn McKinney <sm...@apache.org>
Committed: Sat Apr 2 09:32:28 2016 -0500

----------------------------------------------------------------------
 build-config.xml |  777 ++++++++++++++++++++++++++
 build.xml        | 1467 -------------------------------------------------
 getIvy.xml       |   33 --
 ivy.xml          |   80 ---
 pom.xml          |   55 +-
 5 files changed, 819 insertions(+), 1593 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/directory-fortress-core/blob/c3c646c4/build-config.xml
----------------------------------------------------------------------
diff --git a/build-config.xml b/build-config.xml
new file mode 100644
index 0000000..1ed12c4
--- /dev/null
+++ b/build-config.xml
@@ -0,0 +1,777 @@
+<!--
+   Licensed to the Apache Software Foundation (ASF) under one
+   or more contributor license agreements.  See the NOTICE file
+   distributed with this work for additional information
+   regarding copyright ownership.  The ASF licenses this file
+   to you under the Apache License, Version 2.0 (the
+   "License"); you may not use this file except in compliance
+   with the License.  You may obtain a copy of the License at
+
+     http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing,
+   software distributed under the License is distributed on an
+   "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+   KIND, either express or implied.  See the License for the
+   specific language governing permissions and limitations
+   under the License.
+-->
+<!--<project name="fortress-core" default="build" basedir="." xmlns:ivy="antlib:org.apache.ivy.ant" xmlns:artifact="antlib:org.apache.maven.artifact.ant">-->
+<project name="fortress-core" default="init-fortress-config" basedir="." >
+    <!-- =================================
+          initialize all Fortress Core package properties
+         ================================= -->
+   <target name="init">
+      <tstamp/>
+       <!-- read properties from the ${user.home}/propfile, if any, which will take precedence over slapd.properties and build.properties -->
+       <property name="user-propfile" value="${user.home}/build.properties"/>
+       <property file="${user-propfile}"/>
+
+       <!-- read properties from the slapd.properties, if any, which will have precedence over build.properties -->
+       <property name="slapd-propfile" value="${basedir}/slapd.properties"/>
+       <property file="${slapd-propfile}"/>
+
+       <!-- read user defined properties from the build.properties -->
+       <property name="component-propfile" value="${basedir}/build.properties"/>
+       <property file="${component-propfile}"/>
+
+       <!-- ########### Project specific properties ########################### -->
+       <property name="project.name" value="Fortress Identity Access Management SDK"/>
+       <property name="name" value="fortress"/>
+       <property name="title" value="Fortress 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="org.apache.directory.fortress.*"/>
+       <property name="package.samples" value="org.apache.directory.fortress.core.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"/>
+       <property name="src.test.resources.dir" value="${src.dir}/test/resources"/>
+
+       <!-- ########### 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"/>
+       <property name="src.slapd.ssl.keys.dir" value="${src.test.resources.dir}/certs"/>
+       <property name="dst.slapd.ssl.keys.dir" value="${openldap.root}/ssl"/>
+
+       <!-- ########### 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="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.symas.conf" value="${ldap.dir}/symas-openldap.conf.src"/>
+       <property name="target.symas.conf" value="${ldap.dir}/symas-openldap.conf"/>
+       <property name="dst.symas.conf" value="${slapd.dir}/symas-openldap.conf"/>
+       <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="source.rbac.schema" value="${ldap.schema.dir}/rbac.schema"/>
+       <property name="target.rbac.schema" value="${slapd.schema.dir}/rbac.schema"/>
+       <property name="db.cfg" value="${ldap.dir}/DB_CONFIG"/>
+
+    </target>
+
+    <tstamp>
+        <format property="TODAY" pattern="yyyy-MM-dd HH:mm:ss" />
+    </tstamp>
+
+    <!-- =================================
+          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}" failonerror="false"/>
+       <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.admin.user}"/>
+         <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}"/>
+         <replace file="${target.slapd.conf}" token="@POLICIES_DN@" value="${policies.dn}"/>
+
+         <!-- setup the symas openldap slapd start/stop script -->
+         <delete file="${target.symas.conf}" failonerror="false"/>
+         <copy file="${source.symas.conf}" tofile="${target.symas.conf}"/>
+         <replace file="${target.symas.conf}" token="@LDAP_URIS@" value="${ldap.uris}"/>
+
+         <antcall target="init-rbac-accelerator"></antcall>
+         <antcall target="init-slapd-ssl"></antcall>
+
+         <echo message="Target init-all-config complete."/>
+     </target>
+
+    <!-- =================================
+          RBAC Accelerator Overlay Config
+         ================================= -->
+    <target name="init-rbac-accelerator" depends="init">
+        <antcall target="enable-rbac-accelerator"></antcall>
+        <antcall target="disable-rbac-accelerator"></antcall>
+    </target>
+
+    <!-- =================================
+          Enable the RBAC Accelerator Overlay
+         ================================= -->
+    <target name="enable-rbac-accelerator" depends="init" if="rbac.accelerator">
+        <echo message="###############  Initialize the RBAC Accelerator Overlay"/>
+        <replace file="${target.slapd.conf}" token="@RBAC_MODULE@" value="${rbac.module}"/>
+        <replace file="${target.slapd.conf}" token="@DDS_MODULE@" value="${dds.module}"/>
+        <replace file="${target.slapd.conf}" token="@MONITOR_MODULE@" value="${monitor.module}"/>
+        <replace file="${target.slapd.conf}" token="@IS_RBAC_ACCELERATOR@" value=""/>
+        <replace file="${target.slapd.conf}" token="@USERS_DN@" value="${users.dn}"/>
+        <replace file="${target.slapd.conf}" token="@ROLES_DN@" value="${roles.dn}"/>
+        <replace file="${target.slapd.conf}" token="@PERMS_DN@" value="${perms.dn}"/>
+        <replace file="${target.slapd.conf}" token="@SUFFIX@" value="${suffix.dc}"/>
+        <replace file="${target.slapd.conf}" token="@SUFFIX_NAME@" value="${suffix.name}"/>
+        <replace file="${target.slapd.conf}" token="@RBACSESS_DB_PATH@" value="${db.sess.dir}"/>
+        <replace file="${target.slapd.conf}" token="@AUDIT_DB_PATH@" value="${db.audit.dir}"/>
+        <replace file="${target.slapd.conf}" token="@RBACOVERLAY_DB_PATH@" value="${db.rbac.dir}"/>
+        <replace file="${target.slapd.conf}" token="@RBAC_DN@" value="${rbac.dn}"/>
+        <replace file="${target.slapd.conf}" token="@SESSIONS_DN@" value="${sessions.dn}"/>
+        <replace file="${target.slapd.conf}" token="@AUDITS_DN@" value="${audit.dn}"/>
+
+        <echo message="###############  Backup old RBAC ACCEL OVERLAY LMDB audit folder  ###############"/>
+        <move todir="${db.bak.audit.dir}/${TODAY}" failonerror="false">
+            <fileset dir="${db.audit.dir}"/>
+        </move>
+        <echo message="###############  Backup old RBAC ACCEL OVERLAY LMDB session folder  ###############"/>
+        <move todir="${db.bak.sess.dir}/${TODAY}" failonerror="false">
+            <fileset dir="${db.sess.dir}"/>
+        </move>
+
+        <echo message="###############  Create RBAC ACCEL OVERLAY session folder  ###############"/>
+        <mkdir dir="${db.sess.dir}"/>
+        <echo message="###############  Create RBAC ACCEL OVERLAY audit folder  ###############"/>
+        <mkdir dir="${db.audit.dir}"/>
+        <echo message="###############  Create RBAC ACCEL OVERLAY rbac folder  ###############"/>
+        <mkdir dir="${db.rbac.dir}"/>
+        <antcall target="copy-rbac-libs"></antcall>
+    </target>
+
+    <!-- =================================
+          Disable RBAC Accelerator Overlay
+         ================================= -->
+    <target name="disable-rbac-accelerator" depends="init" unless="rbac.accelerator">
+        <echo message="###############  Disable the RBAC Accelerator Overlay"/>
+        <replace file="${target.slapd.conf}" token="@RBAC_MODULE@" value=""/>
+        <replace file="${target.slapd.conf}" token="@DDS_MODULE@" value=""/>
+        <replace file="${target.slapd.conf}" token="@MONITOR_MODULE@" value=""/>
+        <replace file="${target.slapd.conf}" token="@IS_RBAC_ACCELERATOR@" value="#"/>
+    </target>
+
+    <!-- =================================
+          OpenLDAP SSL Config
+         ================================= -->
+    <target name="init-slapd-ssl" depends="init">
+        <antcall target="enable-slapd-ssl"></antcall>
+        <antcall target="disable-slapd-ssl"></antcall>
+    </target>
+
+    <!-- =================================
+          Enable OpenLDAP SSL
+         ================================= -->
+    <target name="enable-slapd-ssl" depends="init" if="enable.ldap.ssl">
+        <echo message="###############  Enable OpenLDAP SSL"/>
+        <antcall target="copy-ssl-keys"></antcall>
+        <replace file="${target.slapd.conf}" token="@IS_SSL@" value=""/>
+        <replace file="${target.slapd.conf}" token="@CA_CERT_FILEW@" value="${dst.slapd.ssl.keys.dir}/${tls.ca.cert.file}"/>
+        <replace file="${target.slapd.conf}" token="@CERT_FILEW@" value="${dst.slapd.ssl.keys.dir}/${tls.cert.file}"/>
+        <replace file="${target.slapd.conf}" token="@CERT_KEY_FILEW@" value="${dst.slapd.ssl.keys.dir}/${tls.key.file}"/>
+    </target>
+
+    <!-- =================================
+          Disable OpenLDAP SSL
+         ================================= -->
+    <target name="disable-slapd-ssl" depends="init" unless="enable.ldap.ssl">
+        <echo message="###############  Disable OpenLDAP SSL"/>
+        <replace file="${target.slapd.conf}" token="@IS_SSL@" value="#"/>
+    </target>
+
+    <!-- =================================
+          init slapd for windows
+         ================================= -->
+    <target name="init-slapd-win-script" depends="init" if="windows" 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_ROOT_DN@" value="${log.admin.user}"/>
+         <replace file="${dst.bootstrap.conf}" token="@CFG_LOG_ROOT_PW@" value="${log.admin.pw}"/>
+         <replace file="${dst.bootstrap.conf}" token="@LOG_MIN_CONN@" value="${min.log.conn}"/>
+         <replace file="${dst.bootstrap.conf}" token="@LOG_MAX_CONN@" value="${max.log.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}"/>
+         <replace file="${dst.bootstrap.conf}" token="@USERS_DN@" value="${users.dn}"/>
+         <replace file="${dst.bootstrap.conf}" token="@ROLES_DN@" value="${roles.dn}"/>
+         <replace file="${dst.bootstrap.conf}" token="@POLICIES_DN@" value="${policies.dn}"/>
+         <replace file="${dst.bootstrap.conf}" token="@PERMS_DN@" value="${perms.dn}"/>
+         <replace file="${dst.bootstrap.conf}" token="@CONSTRAINTS_DN@" value="${constraints.dn}"/>
+         <replace file="${dst.bootstrap.conf}" token="@USEROUS_DN@" value="${userous.dn}"/>
+         <replace file="${dst.bootstrap.conf}" token="@PERMOUS_DN@" value="${permous.dn}"/>
+         <replace file="${dst.bootstrap.conf}" token="@ADMINROLES_DN@" value="${adminroles.dn}"/>
+         <replace file="${dst.bootstrap.conf}" token="@ADMINPERMS_DN@" value="${adminperms.dn}"/>
+         <replace file="${dst.bootstrap.conf}" token="@AUDITS_DN@" value="${audits.dn}"/>
+         <replace file="${dst.bootstrap.conf}" token="@GROUPS_DN@" value="${groups.dn}"/>
+         <replace file="${dst.bootstrap.conf}" token="@GROUP_OBJECT_CLASS@" value="${group.objectclass}"/>
+         <replace file="${dst.bootstrap.conf}" token="@GROUP_PROTOCOL@" value="${group.protocol}"/>
+         <replace file="${dst.bootstrap.conf}" token="@GROUP_PROPERTIES@" value="${group.properties}"/>
+         <replace file="${dst.bootstrap.conf}" token="@ENABLE_LDAP_SSL@" value="${enable.ldap.ssl}"/>
+         <replace file="${dst.bootstrap.conf}" token="@ENABLE_LDAP_SSL_DEBUG@" value="${enable.ldap.ssl.debug}"/>
+         <replace file="${dst.bootstrap.conf}" token="@TRUST_STORE@" value="${trust.store}"/>
+         <replace file="${dst.bootstrap.conf}" token="@TRUST_STORE_PW@" value="${trust.store.password}"/>
+         <replace file="${dst.bootstrap.conf}" token="@TRUST_STORE_SET_PROPW@" value="${trust.store.set.prop}"/>
+
+       <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="@LOG_ROOT_DN@" value="${log.admin.user}"/>
+         <replace file="${dst.remote.conf}" token="@CFG_LOG_ROOT_PW@" value="${log.admin.pw}"/>
+
+         <replace file="${dst.remote.conf}" token="@LOG_MIN_CONN@" value="${min.log.conn}"/>
+         <replace file="${dst.remote.conf}" token="@LOG_MAX_CONN@" value="${max.log.conn}"/>
+         <replace file="${dst.remote.conf}" token="@USR_MIN_CONN@" value="${user.min.conn}"/>
+         <replace file="${dst.remote.conf}" token="@USR_MAX_CONN@" value="${user.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="@REST_HTTP_PROTOCOL@" value="${http.protocol}"/>
+         <replace file="${dst.remote.conf}" token="@LDAP_CLIENT_TYPE@" value="${ldap.client.type}"/>
+         <replace file="${dst.remote.conf}" token="@ENABLE_LDAP_SSL@" value="${enable.ldap.ssl}"/>
+         <replace file="${dst.remote.conf}" token="@ENABLE_LDAP_SSL_DEBUG@" value="${enable.ldap.ssl.debug}"/>
+         <replace file="${dst.remote.conf}" token="@TRUST_STORE@" value="${trust.store}"/>
+         <replace file="${dst.remote.conf}" token="@TRUST_STORE_PW@" value="${trust.store.password}"/>
+         <replace file="${dst.remote.conf}" token="@TRUST_STORE_SET_PROPW@" value="${trust.store.set.prop}"/>
+         <replace file="${dst.remote.conf}" token="@KEY_STORE@" value="${key.store}"/>
+         <replace file="${dst.remote.conf}" token="@KEY_STORE_PW@" value="${key.store.password}"/>
+         <replace file="${dst.remote.conf}" token="@SERVER_TYPE@" value="${ldap.server.type}"/>
+         <replace file="${dst.remote.conf}" token="@IS_AUDIT@" value="${disable.audit}"/>
+
+         <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_DC2@" value="${suffix.dc2}"/>
+         <replace file="${dst.load.bootstrap.script}" token="@SUFFIX@" value="${suffix}"/>
+
+         <replace file="${dst.load.bootstrap.script}" token="@USERS_DN@" value="${users.dn}"/>
+         <replace file="${dst.load.bootstrap.script}" token="@GROUPS_DN@" value="${groups.dn}"/>
+         <replace file="${dst.load.bootstrap.script}" token="@ROLES_DN@" value="${roles.dn}"/>
+         <replace file="${dst.load.bootstrap.script}" token="@POLICIES_DN@" value="${policies.dn}"/>
+         <replace file="${dst.load.bootstrap.script}" token="@PERMS_DN@" value="${perms.dn}"/>
+         <replace file="${dst.load.bootstrap.script}" token="@CONSTRAINTS_DN@" value="${constraints.dn}"/>
+         <replace file="${dst.load.bootstrap.script}" token="@USEROUS_DN@" value="${userous.dn}"/>
+         <replace file="${dst.load.bootstrap.script}" token="@PERMOUS_DN@" value="${permous.dn}"/>
+         <replace file="${dst.load.bootstrap.script}" token="@ADMINROLES_DN@" value="${adminroles.dn}"/>
+         <replace file="${dst.load.bootstrap.script}" token="@ADMINPERMS_DN@" value="${adminperms.dn}"/>
+         <replace file="${dst.load.bootstrap.script}" token="@AUDITS_DN@" value="${audits.dn}"/>
+         <replace file="${dst.load.bootstrap.script}" token="@GROUP_OBJECT_CLASS@" value="${group.objectclass}"/>
+         <replace file="${dst.load.bootstrap.script}" token="@GROUP_PROTOCOL@" value="${group.protocol}"/>
+         <replace file="${dst.load.bootstrap.script}" token="@GROUP_PROPERTIES@" value="${group.properties}"/>
+         <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 name="foo" depends="init" description="--> does some foo">
+        <echo message="############### Foo Fighters Rule!!!  ###############"/>
+        <echo message="############### Foo Fighters Rule!!!  ###############"/>
+        <echo message="############### Foo Fighters Rule!!!  ###############"/>
+        <echo message="############### Foo Fighters Rule!!!  ###############"/>
+        <echo message="############### Foo Fighters Rule!!!  ###############"/>
+    </target>
+
+
+    <!-- =================================
+          target: init-slapd - Performs the following functions:
+
+                1. Initializes the Fortress runtime config
+                2. Installs OpenLDAP directory server to the local machine
+
+          WARNING: Use caution running this target.
+
+          It backs up the folder containing current LMDB database (pointed to by ${db.dir}) and creates a new/empty database folder.
+
+          This operation can be manually reversed by moving the saved DB folder (pointed to by ${db.hist.dir}) back to original location (again ${db.dir}).
+
+          This operation is for creating new or reinitializing existing OpenLdap instances back to origin and should NEVER be run against an LDAP server in prod env.
+
+          Do NOT run this Ant target on a production LDAP instance !!
+         ================================= -->
+    <target name="init-slapd" depends="init" 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="${dst.symas.conf}" tofile="${dst.symas.conf}.bak.${TODAY}" failonerror="false" />
+        <move file="${target.fortress.schema}" tofile="${target.fortress.schema}.${TODAY}" failonerror="false" />
+        <move file="${target.rbac.schema}" tofile="${target.rbac.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.schema.dir}" file="${source.rbac.schema}"/>
+        <copy todir="${slapd.dir}" file="${target.slapd.conf}"/>
+        <copy todir="${slapd.dir}" file="${target.symas.conf}"/>
+
+        <antcall target="copy-access-libs"></antcall>    
+        <antcall target="init-slapd-win-script"></antcall>
+        <antcall target="start-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>
+
+    <!-- =================================
+          copy the slapd impl accelerator overlay libs from install to bin folder
+         ================================= -->
+    <target name="copy-rbac-libs" depends="init" >
+        <echo message="###############  Copy rbac 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="**/rbac*"/>
+            </fileset>
+        </copy>
+    </target>
+
+    <!-- =================================
+          copy the slapd impl accelerator overlay libs from install to bin folder
+         ================================= -->
+    <target name="copy-ssl-keys" depends="init" >
+        <echo message="###############  Copy SSL keys from ${src.slapd.ssl.keys.dir} to ${dst.slapd.ssl.keys.dir}"/>
+        <copy todir="${dst.slapd.ssl.keys.dir}" failonerror="false">
+            <fileset dir="${src.slapd.ssl.keys.dir}">
+                <include name="*.pem"/>
+            </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}"/>
+        </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}"/>
+        </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}"/>
+        </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}"/>
+        </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-jaxb - initializes properties and taskdefs used for schema generation and compilation.
+         ================================= -->
+<!--
+    <target name="init-jaxb" depends="resolve" description="&ndash;&gt; 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"/>
+
+       &lt;!&ndash; Defines XJC and SchemaGen tasks &ndash;&gt;
+        <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="&ndash;&gt; generates JAXB schema based on Fortress entity classes">
+        <echo message="Generating schemas..."/>
+        <mkdir dir="${generated.schema.dir}"/>
+        <schemagen srcdir="${src.java.dir}/org/openldap/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="&ndash;&gt; 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="org.apache.directory.fortress.model" removeOldOutput="yes"/>
+    </target>
+-->
+
+</project>