Get it working again

git-svn-id: https://svn.apache.org/repos/asf/manifoldcf/branches/CONNECTORS-1048@1627957 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/framework/build.xml b/framework/build.xml
index b32770a..d00fa91 100644
--- a/framework/build.xml
+++ b/framework/build.xml
@@ -928,40 +928,36 @@
         </copy>
     </target>
 
-    <target name="general-add-lib-classpath">
-        <replace file="${processes-dir}/options.env.win" token=".;" value=".;..\lib\${lib-jar};"/>
-        <replace file="${processes-dir}/options.env.unix" token=".:" value=".:../lib/${lib-jar}:"/>
+    <target name="general-set-classpath">
+        <replace file="${processes-dir}/options.env.win" token=".;" value=".;${win-classpath};"/>
+        <replace file="${processes-dir}/options.env.unix" token=".:" value=".:${unix-classpath}:"/>
     </target>
 
-    <target name="general-add-lib-proprietary-classpath">
-        <replace file="${processes-dir}/options.env.win" token=".;" value=".;..\lib-proprietary\${lib-proprietary-jar};"/>
-        <replace file="${processes-dir}/options.env.unix" token=".:" value=".:../lib-proprietary/${lib-proprietary-jar}:"/>
+    <target name="general-set-engine-classpath">
+        <replace file="${processes-dir}/options.env.win" token=".;" value=".;${win-classpath};"/>
+        <replace file="${processes-dir}/options.env.unix" token=".:" value=".:${unix-classpath}:"/>
     </target>
 
-    <target name="general-engine-add-lib-classpath">
-        <replace file="${processes-dir}/options.env.win" token=".;" value=".;..\lib\${lib-jar};"/>
-        <replace file="${processes-dir}/options.env.unix" token=".:" value=".:../lib/${lib-jar}:"/>
+    <target name="general-set-jetty-classpath">
+        <replace file="${processes-dir}/jetty-options.env.win" token=".;" value=".;${win-classpath};"/>
+        <replace file="${processes-dir}/jetty-options.env.unix" token=".:" value=".:${unix-classpath}:"/>
     </target>
 
-    <target name="general-jetty-add-lib-classpath">
-        <replace file="${processes-dir}/jetty-options.env.win" token=".;" value=".;..\lib\${lib-jar};"/>
-        <replace file="${processes-dir}/jetty-options.env.unix" token=".:" value=".:../lib/${lib-jar}:"/>
+    <target name="general-set-hsqldb-classpath">
+        <replace file="${processes-dir}/hsqldb-options.env.win" token=".;" value=".;${win-classpath};"/>
+        <replace file="${processes-dir}/hsqldb-options.env.unix" token=".:" value=".:${unix-classpath}:"/>
     </target>
 
-    <target name="general-jetty-add-lib-proprietary-classpath">
-        <replace file="${processes-dir}/jetty-options.env.win" token=".;" value=".;..\lib-proprietary\${lib-proprietary-jar};"/>
-        <replace file="${processes-dir}/jetty-options.env.unix" token=".:" value=".:../lib-proprietary/${lib-proprietary-jar}:"/>
+    <target name="general-set-zookeeper-classpath">
+        <replace file="${processes-dir}/zk-options.env.win" token=".;" value=".;${win-classpath};"/>
+        <replace file="${processes-dir}/zk-options.env.unix" token=".:" value=".:${unix-classpath}:"/>
     </target>
 
-    <target name="general-combined-add-lib-classpath">
-        <replace file="${processes-dir}/combined-options.env.win" token=".;" value=".;..\lib\${lib-jar};"/>
-        <replace file="${processes-dir}/combined-options.env.unix" token=".:" value=".:../lib/${lib-jar}:"/>
+    <target name="general-set-combined-classpath">
+        <replace file="${processes-dir}/combined-options.env.win" token=".;" value=".;${win-classpath};"/>
+        <replace file="${processes-dir}/combined-options.env.unix" token=".:" value=".:${unix-classpath}:"/>
     </target>
 
-    <target name="general-combined-add-lib-proprietary-classpath">
-        <replace file="${processes-dir}/combined-options.env.win" token=".;" value=".;..\lib-proprietary\${lib-proprietary-jar};"/>
-        <replace file="${processes-dir}/combined-options.env.unix" token=".:" value=".:../lib-proprietary/${lib-proprietary-jar}:"/>
-    </target>
 
     <target name="preclean-processes">
         <mkdir dir="${processes-dir}"/>
@@ -981,6 +977,18 @@
         <delete file="${processes-dir}/jetty-options.env.unix"/>
     </target>
 
+    <target name="preclean-hsqldb-processes">
+        <mkdir dir="${processes-dir}"/>
+        <delete file="${processes-dir}/hsqldb-options.env.win"/>
+        <delete file="${processes-dir}/hsqldb-options.env.unix"/>
+    </target>
+
+    <target name="preclean-zookeeper-processes">
+        <mkdir dir="${processes-dir}"/>
+        <delete file="${processes-dir}/zk-options.env.win"/>
+        <delete file="${processes-dir}/zk-options.env.unix"/>
+    </target>
+
     <target name="preclean-combined-processes">
         <mkdir dir="${processes-dir}"/>
         <delete file="${processes-dir}/combined-options.env.win"/>
@@ -1008,6 +1016,20 @@
         </copy>
     </target>
 
+    <target name="scripts-hsqldb" depends="scripts-common">
+        <mkdir dir="${processes-dir}"/>
+        <copy todir="${processes-dir}">
+            <fileset dir="scripts-hsqldb"/>
+        </copy>
+    </target>
+
+    <target name="scripts-zookeeper" depends="scripts-common">
+        <mkdir dir="${processes-dir}"/>
+        <copy todir="${processes-dir}">
+            <fileset dir="scripts-zookeeper"/>
+        </copy>
+    </target>
+
     <target name="scripts-combined" depends="scripts-common">
         <mkdir dir="${processes-dir}"/>
         <copy todir="${processes-dir}">
@@ -1022,162 +1044,295 @@
         </copy>
     </target>
 
-    <target name="setup-engine-processes" depends="preclean-engine-processes,scripts-engine">
-        <antcall target="general-engine-add-lib-classpath"><param name="lib-jar" value="json.jar"/><param name="processes-dir" value="${processes-dir}"/></antcall>
-        <antcall target="general-engine-add-lib-classpath"><param name="lib-jar" value="json-simple.jar"/><param name="processes-dir" value="${processes-dir}"/></antcall>
-        <antcall target="general-engine-add-lib-classpath"><param name="lib-jar" value="commons-codec.jar"/><param name="processes-dir" value="${processes-dir}"/></antcall>
-        <antcall target="general-engine-add-lib-classpath"><param name="lib-jar" value="commons-collections.jar"/><param name="processes-dir" value="${processes-dir}"/></antcall>
-        <antcall target="general-engine-add-lib-classpath"><param name="lib-jar" value="httpcore.jar"/><param name="processes-dir" value="${processes-dir}"/></antcall>
-        <antcall target="general-engine-add-lib-classpath"><param name="lib-jar" value="httpclient.jar"/><param name="processes-dir" value="${processes-dir}"/></antcall>
-        <antcall target="general-engine-add-lib-classpath"><param name="lib-jar" value="commons-io.jar"/><param name="processes-dir" value="${processes-dir}"/></antcall>
-        <antcall target="general-engine-add-lib-classpath"><param name="lib-jar" value="commons-lang.jar"/><param name="processes-dir" value="${processes-dir}"/></antcall>
-        <antcall target="general-engine-add-lib-classpath"><param name="lib-jar" value="commons-logging.jar"/><param name="processes-dir" value="${processes-dir}"/></antcall>
-        <antcall target="general-engine-add-lib-classpath"><param name="lib-jar" value="mcf-core.jar"/><param name="processes-dir" value="${processes-dir}"/></antcall>
-        <antcall target="general-engine-add-lib-classpath"><param name="lib-jar" value="mcf-script-engine.jar"/><param name="processes-dir" value="${processes-dir}"/></antcall>
+    <target name="jetty-lib" depends="lib">
+        <mkdir dir="build/lib/jetty"/>
+        <copy todir="build/lib/jetty">
+            <fileset dir="../lib">
+                <include name="jetty*.jar"/>
+            </fileset>
+        </copy>
     </target>
     
-    <target name="setup-jetty-processes" depends="preclean-jetty-processes,scripts-jetty">
-        <antcall target="general-jetty-add-lib-classpath"><param name="lib-jar" value="castor.jar"/><param name="processes-dir" value="${processes-dir}"/></antcall>
-        <antcall target="general-jetty-add-lib-classpath"><param name="lib-jar" value="geronimo-javamail_1.4_spec.jar"/><param name="processes-dir" value="${processes-dir}"/></antcall>
-        <antcall target="general-jetty-add-lib-classpath"><param name="lib-jar" value="commons-discovery.jar"/><param name="processes-dir" value="${processes-dir}"/></antcall>
-        <antcall target="general-jetty-add-lib-classpath"><param name="lib-jar" value="axis-jaxrpc.jar"/><param name="processes-dir" value="${processes-dir}"/></antcall>
-        <antcall target="general-jetty-add-lib-classpath"><param name="lib-jar" value="axis.jar"/><param name="processes-dir" value="${processes-dir}"/></antcall>
-        <antcall target="general-jetty-add-lib-classpath"><param name="lib-jar" value="wss4j.jar"/><param name="processes-dir" value="${processes-dir}"/></antcall>
-        <antcall target="general-jetty-add-lib-classpath"><param name="lib-jar" value="xmlsec.jar"/><param name="processes-dir" value="${processes-dir}"/></antcall>
-        <antcall target="general-jetty-add-lib-classpath"><param name="lib-jar" value="opensaml.jar"/><param name="processes-dir" value="${processes-dir}"/></antcall>
-        <antcall target="general-jetty-add-lib-classpath"><param name="lib-jar" value="wsdl4j.jar"/><param name="processes-dir" value="${processes-dir}"/></antcall>
-        <antcall target="general-jetty-add-lib-classpath"><param name="lib-jar" value="saaj-api.jar"/><param name="processes-dir" value="${processes-dir}"/></antcall>
-        <antcall target="general-jetty-add-lib-classpath"><param name="lib-jar" value="saaj-impl.jar"/><param name="processes-dir" value="${processes-dir}"/></antcall>
-        <antcall target="general-jetty-add-lib-classpath"><param name="lib-jar" value="activation.jar"/><param name="processes-dir" value="${processes-dir}"/></antcall>
-        <antcall target="general-jetty-add-lib-classpath"><param name="lib-jar" value="zookeeper.jar"/><param name="processes-dir" value="${processes-dir}"/></antcall>
-        <antcall target="general-jetty-add-lib-classpath"><param name="lib-jar" value="json.jar"/><param name="processes-dir" value="${processes-dir}"/></antcall>
-        <antcall target="general-jetty-add-lib-classpath"><param name="lib-jar" value="json-simple.jar"/><param name="processes-dir" value="${processes-dir}"/></antcall>
-        <antcall target="general-jetty-add-lib-classpath"><param name="lib-jar" value="commons-logging.jar"/><param name="processes-dir" value="${processes-dir}"/></antcall>
-        <antcall target="general-jetty-add-lib-classpath"><param name="lib-jar" value="log4j.jar"/><param name="processes-dir" value="${processes-dir}"/></antcall>
-        <antcall target="general-jetty-add-lib-classpath"><param name="lib-jar" value="slf4j-api.jar"/><param name="processes-dir" value="${processes-dir}"/></antcall>
-        <antcall target="general-jetty-add-lib-classpath"><param name="lib-jar" value="slf4j-simple.jar"/><param name="processes-dir" value="${processes-dir}"/></antcall>
-        <antcall target="general-jetty-add-lib-classpath"><param name="lib-jar" value="servlet-api.jar"/><param name="processes-dir" value="${processes-dir}"/></antcall>
-        <antcall target="general-jetty-add-lib-classpath"><param name="lib-jar" value="ecj.jar"/><param name="processes-dir" value="${processes-dir}"/></antcall>
-        <antcall target="general-jetty-add-lib-classpath"><param name="lib-jar" value="jetty-continuation.jar"/><param name="processes-dir" value="${processes-dir}"/></antcall>
-        <antcall target="general-jetty-add-lib-classpath"><param name="lib-jar" value="jetty-http.jar"/><param name="processes-dir" value="${processes-dir}"/></antcall>
-        <antcall target="general-jetty-add-lib-classpath"><param name="lib-jar" value="jetty-io.jar"/><param name="processes-dir" value="${processes-dir}"/></antcall>
-        <antcall target="general-jetty-add-lib-classpath"><param name="lib-jar" value="jetty-jndi.jar"/><param name="processes-dir" value="${processes-dir}"/></antcall>
-        <antcall target="general-jetty-add-lib-classpath"><param name="lib-jar" value="jetty-jsp-2.1.jar"/><param name="processes-dir" value="${processes-dir}"/></antcall>
-        <antcall target="general-jetty-add-lib-classpath"><param name="lib-jar" value="jetty-plus.jar"/><param name="processes-dir" value="${processes-dir}"/></antcall>
-        <antcall target="general-jetty-add-lib-classpath"><param name="lib-jar" value="jetty-security.jar"/><param name="processes-dir" value="${processes-dir}"/></antcall>
-        <antcall target="general-jetty-add-lib-classpath"><param name="lib-jar" value="jetty-server.jar"/><param name="processes-dir" value="${processes-dir}"/></antcall>
-        <antcall target="general-jetty-add-lib-classpath"><param name="lib-jar" value="jetty-servlet.jar"/><param name="processes-dir" value="${processes-dir}"/></antcall>
-        <antcall target="general-jetty-add-lib-classpath"><param name="lib-jar" value="jetty-util.jar"/><param name="processes-dir" value="${processes-dir}"/></antcall>
-        <antcall target="general-jetty-add-lib-classpath"><param name="lib-jar" value="jetty-webapp.jar"/><param name="processes-dir" value="${processes-dir}"/></antcall>
-        <antcall target="general-jetty-add-lib-classpath"><param name="lib-jar" value="jetty-xml.jar"/><param name="processes-dir" value="${processes-dir}"/></antcall>
-        <antcall target="general-jetty-add-lib-classpath"><param name="lib-jar" value="jasper.jar"/><param name="processes-dir" value="${processes-dir}"/></antcall>
-        <antcall target="general-jetty-add-lib-classpath"><param name="lib-jar" value="jasper-el.jar"/><param name="processes-dir" value="${processes-dir}"/></antcall>
-        <antcall target="general-jetty-add-lib-classpath"><param name="lib-jar" value="juli.jar"/><param name="processes-dir" value="${processes-dir}"/></antcall>
-        <antcall target="general-jetty-add-lib-classpath"><param name="lib-jar" value="jsp-api-2.1-glassfish.jar"/><param name="processes-dir" value="${processes-dir}"/></antcall>
-        <antcall target="general-jetty-add-lib-classpath"><param name="lib-jar" value="mcf-core.jar"/><param name="processes-dir" value="${processes-dir}"/></antcall>
-        <antcall target="general-jetty-add-lib-classpath"><param name="lib-jar" value="mcf-ui-core.jar"/><param name="processes-dir" value="${processes-dir}"/></antcall>
-        <antcall target="general-jetty-add-lib-classpath"><param name="lib-jar" value="mcf-agents.jar"/><param name="processes-dir" value="${processes-dir}"/></antcall>
-        <antcall target="general-jetty-add-lib-classpath"><param name="lib-jar" value="mcf-pull-agent.jar"/><param name="processes-dir" value="${processes-dir}"/></antcall>
-        <antcall target="general-jetty-add-lib-classpath"><param name="lib-jar" value="mcf-jetty-runner.jar"/><param name="processes-dir" value="${processes-dir}"/></antcall>
+    <target name="database-lib" depends="lib">
+        <mkdir dir="build/lib/database"/>
+        <copy todir="build/lib/database">
+            <fileset dir="../lib">
+                <include name="hsqldb*.jar"/>
+                <include name="postgresql*.jar"/>
+            </fileset>
+        </copy>
+    </target>
+    
+    <target name="hsqldb-lib" depends="lib">
+        <mkdir dir="build/lib/hsqldb"/>
+        <copy todir="build/lib/hsqldb">
+            <fileset dir="../lib">
+                <include name="hsqldb*.jar"/>
+            </fileset>
+        </copy>
     </target>
 
-    <target name="setup-combined-processes" depends="preclean-combined-processes,scripts-combined">
-        <antcall target="general-combined-add-lib-classpath"><param name="lib-jar" value="castor.jar"/><param name="processes-dir" value="${processes-dir}"/></antcall>
-        <antcall target="general-combined-add-lib-classpath"><param name="lib-jar" value="geronimo-javamail_1.4_spec.jar"/><param name="processes-dir" value="${processes-dir}"/></antcall>
-        <antcall target="general-combined-add-lib-classpath"><param name="lib-jar" value="commons-discovery.jar"/><param name="processes-dir" value="${processes-dir}"/></antcall>
-        <antcall target="general-combined-add-lib-classpath"><param name="lib-jar" value="axis-jaxrpc.jar"/><param name="processes-dir" value="${processes-dir}"/></antcall>
-        <antcall target="general-combined-add-lib-classpath"><param name="lib-jar" value="axis.jar"/><param name="processes-dir" value="${processes-dir}"/></antcall>
-        <antcall target="general-combined-add-lib-classpath"><param name="lib-jar" value="wss4j.jar"/><param name="processes-dir" value="${processes-dir}"/></antcall>
-        <antcall target="general-combined-add-lib-classpath"><param name="lib-jar" value="xmlsec.jar"/><param name="processes-dir" value="${processes-dir}"/></antcall>
-        <antcall target="general-combined-add-lib-classpath"><param name="lib-jar" value="opensaml.jar"/><param name="processes-dir" value="${processes-dir}"/></antcall>
-        <antcall target="general-combined-add-lib-classpath"><param name="lib-jar" value="wsdl4j.jar"/><param name="processes-dir" value="${processes-dir}"/></antcall>
-        <antcall target="general-combined-add-lib-classpath"><param name="lib-jar" value="saaj-api.jar"/><param name="processes-dir" value="${processes-dir}"/></antcall>
-        <antcall target="general-combined-add-lib-classpath"><param name="lib-jar" value="saaj-impl.jar"/><param name="processes-dir" value="${processes-dir}"/></antcall>
-        <antcall target="general-combined-add-lib-classpath"><param name="lib-jar" value="activation.jar"/><param name="processes-dir" value="${processes-dir}"/></antcall>
-        <antcall target="general-combined-add-lib-classpath"><param name="lib-jar" value="zookeeper.jar"/><param name="processes-dir" value="${processes-dir}"/></antcall>
-        <antcall target="general-combined-add-lib-classpath"><param name="lib-jar" value="json.jar"/><param name="processes-dir" value="${processes-dir}"/></antcall>
-        <antcall target="general-combined-add-lib-classpath"><param name="lib-jar" value="json-simple.jar"/><param name="processes-dir" value="${processes-dir}"/></antcall>
-        <antcall target="general-combined-add-lib-classpath"><param name="lib-jar" value="commons-logging.jar"/><param name="processes-dir" value="${processes-dir}"/></antcall>
-        <antcall target="general-combined-add-lib-classpath"><param name="lib-jar" value="log4j.jar"/><param name="processes-dir" value="${processes-dir}"/></antcall>
-        <antcall target="general-combined-add-lib-classpath"><param name="lib-jar" value="slf4j-api.jar"/><param name="processes-dir" value="${processes-dir}"/></antcall>
-        <antcall target="general-combined-add-lib-classpath"><param name="lib-jar" value="slf4j-simple.jar"/><param name="processes-dir" value="${processes-dir}"/></antcall>
-        <antcall target="general-combined-add-lib-classpath"><param name="lib-jar" value="servlet-api.jar"/><param name="processes-dir" value="${processes-dir}"/></antcall>
-        <antcall target="general-combined-add-lib-classpath"><param name="lib-jar" value="ecj.jar"/><param name="processes-dir" value="${processes-dir}"/></antcall>
-        <antcall target="general-combined-add-lib-classpath"><param name="lib-jar" value="jetty-continuation.jar"/><param name="processes-dir" value="${processes-dir}"/></antcall>
-        <antcall target="general-combined-add-lib-classpath"><param name="lib-jar" value="jetty-http.jar"/><param name="processes-dir" value="${processes-dir}"/></antcall>
-        <antcall target="general-combined-add-lib-classpath"><param name="lib-jar" value="jetty-io.jar"/><param name="processes-dir" value="${processes-dir}"/></antcall>
-        <antcall target="general-combined-add-lib-classpath"><param name="lib-jar" value="jetty-jndi.jar"/><param name="processes-dir" value="${processes-dir}"/></antcall>
-        <antcall target="general-combined-add-lib-classpath"><param name="lib-jar" value="jetty-jsp-2.1.jar"/><param name="processes-dir" value="${processes-dir}"/></antcall>
-        <antcall target="general-combined-add-lib-classpath"><param name="lib-jar" value="jetty-plus.jar"/><param name="processes-dir" value="${processes-dir}"/></antcall>
-        <antcall target="general-combined-add-lib-classpath"><param name="lib-jar" value="jetty-security.jar"/><param name="processes-dir" value="${processes-dir}"/></antcall>
-        <antcall target="general-combined-add-lib-classpath"><param name="lib-jar" value="jetty-server.jar"/><param name="processes-dir" value="${processes-dir}"/></antcall>
-        <antcall target="general-combined-add-lib-classpath"><param name="lib-jar" value="jetty-servlet.jar"/><param name="processes-dir" value="${processes-dir}"/></antcall>
-        <antcall target="general-combined-add-lib-classpath"><param name="lib-jar" value="jetty-util.jar"/><param name="processes-dir" value="${processes-dir}"/></antcall>
-        <antcall target="general-combined-add-lib-classpath"><param name="lib-jar" value="jetty-webapp.jar"/><param name="processes-dir" value="${processes-dir}"/></antcall>
-        <antcall target="general-combined-add-lib-classpath"><param name="lib-jar" value="jetty-xml.jar"/><param name="processes-dir" value="${processes-dir}"/></antcall>
-        <antcall target="general-combined-add-lib-classpath"><param name="lib-jar" value="jasper.jar"/><param name="processes-dir" value="${processes-dir}"/></antcall>
-        <antcall target="general-combined-add-lib-classpath"><param name="lib-jar" value="jasper-el.jar"/><param name="processes-dir" value="${processes-dir}"/></antcall>
-        <antcall target="general-combined-add-lib-classpath"><param name="lib-jar" value="juli.jar"/><param name="processes-dir" value="${processes-dir}"/></antcall>
-        <antcall target="general-combined-add-lib-classpath"><param name="lib-jar" value="jsp-api-2.1-glassfish.jar"/><param name="processes-dir" value="${processes-dir}"/></antcall>
-        <antcall target="general-combined-add-lib-classpath"><param name="lib-jar" value="mcf-core.jar"/><param name="processes-dir" value="${processes-dir}"/></antcall>
-        <antcall target="general-combined-add-lib-classpath"><param name="lib-jar" value="mcf-ui-core.jar"/><param name="processes-dir" value="${processes-dir}"/></antcall>
-        <antcall target="general-combined-add-lib-classpath"><param name="lib-jar" value="mcf-agents.jar"/><param name="processes-dir" value="${processes-dir}"/></antcall>
-        <antcall target="general-combined-add-lib-classpath"><param name="lib-jar" value="mcf-pull-agent.jar"/><param name="processes-dir" value="${processes-dir}"/></antcall>
-        <antcall target="general-combined-add-lib-classpath"><param name="lib-jar" value="mcf-jetty-runner.jar"/><param name="processes-dir" value="${processes-dir}"/></antcall>
+    <target name="zookeeper-lib" depends="lib">
+        <mkdir dir="build/lib/zookeeper"/>
+        <copy todir="build/lib/zookeeper">
+            <fileset dir="../lib">
+                <include name="zookeeper*.jar"/>
+                <include name="slf4j-api*.jar"/>
+                <include name="slf4j-simple*.jar"/>
+                <include name="log4j*.jar"/>
+            </fileset>
+        </copy>
     </target>
 
-    <target name="setup-processes" depends="preclean-processes,scripts">
-        <antcall target="general-add-lib-classpath"><param name="lib-jar" value="castor.jar"/><param name="processes-dir" value="${processes-dir}"/></antcall>
-        <antcall target="general-add-lib-classpath"><param name="lib-jar" value="geronimo-javamail_1.4_spec.jar"/><param name="processes-dir" value="${processes-dir}"/></antcall>
-        <antcall target="general-add-lib-classpath"><param name="lib-jar" value="commons-discovery.jar"/><param name="processes-dir" value="${processes-dir}"/></antcall>
-        <antcall target="general-add-lib-classpath"><param name="lib-jar" value="axis-jaxrpc.jar"/><param name="processes-dir" value="${processes-dir}"/></antcall>
-        <antcall target="general-add-lib-classpath"><param name="lib-jar" value="axis.jar"/><param name="processes-dir" value="${processes-dir}"/></antcall>
-        <antcall target="general-add-lib-classpath"><param name="lib-jar" value="wss4j.jar"/><param name="processes-dir" value="${processes-dir}"/></antcall>
-        <antcall target="general-add-lib-classpath"><param name="lib-jar" value="xmlsec.jar"/><param name="processes-dir" value="${processes-dir}"/></antcall>
-        <antcall target="general-add-lib-classpath"><param name="lib-jar" value="opensaml.jar"/><param name="processes-dir" value="${processes-dir}"/></antcall>
-        <antcall target="general-add-lib-classpath"><param name="lib-jar" value="wsdl4j.jar"/><param name="processes-dir" value="${processes-dir}"/></antcall>
-        <antcall target="general-add-lib-classpath"><param name="lib-jar" value="saaj-api.jar"/><param name="processes-dir" value="${processes-dir}"/></antcall>
-        <antcall target="general-add-lib-classpath"><param name="lib-jar" value="saaj-impl.jar"/><param name="processes-dir" value="${processes-dir}"/></antcall>
-        <antcall target="general-add-lib-classpath"><param name="lib-jar" value="activation.jar"/><param name="processes-dir" value="${processes-dir}"/></antcall>
-        <antcall target="general-add-lib-classpath"><param name="lib-jar" value="zookeeper.jar"/><param name="processes-dir" value="${processes-dir}"/></antcall>
-        <antcall target="general-add-lib-classpath"><param name="lib-jar" value="json.jar"/><param name="processes-dir" value="${processes-dir}"/></antcall>
-        <antcall target="general-add-lib-classpath"><param name="lib-jar" value="json-simple.jar"/><param name="processes-dir" value="${processes-dir}"/></antcall>
-        <antcall target="general-add-lib-classpath"><param name="lib-jar" value="commons-codec.jar"/><param name="processes-dir" value="${processes-dir}"/></antcall>
-        <antcall target="general-add-lib-classpath"><param name="lib-jar" value="commons-collections.jar"/><param name="processes-dir" value="${processes-dir}"/></antcall>
-        <antcall target="general-add-lib-classpath"><param name="lib-jar" value="commons-el.jar"/><param name="processes-dir" value="${processes-dir}"/></antcall>
-        <antcall target="general-add-lib-classpath"><param name="lib-jar" value="commons-fileupload.jar"/><param name="processes-dir" value="${processes-dir}"/></antcall>
-        <antcall target="general-add-lib-classpath"><param name="lib-jar" value="httpcore.jar"/><param name="processes-dir" value="${processes-dir}"/></antcall>
-        <antcall target="general-add-lib-classpath"><param name="lib-jar" value="httpclient.jar"/><param name="processes-dir" value="${processes-dir}"/></antcall>
-        <antcall target="general-add-lib-classpath"><param name="lib-jar" value="commons-io.jar"/><param name="processes-dir" value="${processes-dir}"/></antcall>
-        <antcall target="general-add-lib-classpath"><param name="lib-jar" value="commons-lang.jar"/><param name="processes-dir" value="${processes-dir}"/></antcall>
-        <antcall target="general-add-lib-classpath"><param name="lib-jar" value="commons-logging.jar"/><param name="processes-dir" value="${processes-dir}"/></antcall>
-        <antcall target="general-add-lib-classpath"><param name="lib-jar" value="log4j.jar"/><param name="processes-dir" value="${processes-dir}"/></antcall>
-        <antcall target="general-add-lib-classpath"><param name="lib-jar" value="serializer.jar"/><param name="processes-dir" value="${processes-dir}"/></antcall>
-        <antcall target="general-add-lib-classpath"><param name="lib-jar" value="servlet-api.jar"/><param name="processes-dir" value="${processes-dir}"/></antcall>
-        <antcall target="general-add-lib-classpath"><param name="lib-jar" value="xalan.jar"/><param name="processes-dir" value="${processes-dir}"/></antcall>
-        <antcall target="general-add-lib-classpath"><param name="lib-jar" value="xercesImpl.jar"/><param name="processes-dir" value="${processes-dir}"/></antcall>
-        <antcall target="general-add-lib-classpath"><param name="lib-jar" value="xml-apis.jar"/><param name="processes-dir" value="${processes-dir}"/></antcall>
-        <antcall target="general-add-lib-classpath"><param name="lib-jar" value="velocity.jar"/><param name="processes-dir" value="${processes-dir}"/></antcall>
-        <antcall target="general-add-lib-classpath"><param name="lib-jar" value="slf4j-api.jar"/><param name="processes-dir" value="${processes-dir}"/></antcall>
-        <antcall target="general-add-lib-classpath"><param name="lib-jar" value="slf4j-simple.jar"/><param name="processes-dir" value="${processes-dir}"/></antcall>
-        <antcall target="general-add-lib-classpath"><param name="lib-jar" value="mail.jar"/><param name="processes-dir" value="${processes-dir}"/></antcall>
-        <antcall target="general-add-lib-classpath"><param name="lib-jar" value="postgresql.jar"/><param name="processes-dir" value="${processes-dir}"/></antcall>
-        <antcall target="general-add-lib-classpath"><param name="lib-jar" value="hsqldb.jar"/><param name="processes-dir" value="${processes-dir}"/></antcall>
-        <antcall target="general-add-lib-classpath"><param name="lib-jar" value="mcf-core.jar"/><param name="processes-dir" value="${processes-dir}"/></antcall>
-        <antcall target="general-add-lib-classpath"><param name="lib-jar" value="mcf-agents.jar"/><param name="processes-dir" value="${processes-dir}"/></antcall>
-        <antcall target="general-add-lib-classpath"><param name="lib-jar" value="mcf-pull-agent.jar"/><param name="processes-dir" value="${processes-dir}"/></antcall>
+    <target name="process-lib" depends="lib">
+        <mkdir dir="build/lib/process"/>
+        <copy todir="build/lib/process">
+            <fileset dir="../lib">
+                <include name="commons-lang*.jar"/>
+                <include name="commons-codec*.jar"/>
+                <include name="commons-collections*.jar"/>
+                <include name="commons-el*.jar"/>
+                <include name="commons-fileupload*.jar"/>
+                <include name="commons-io*.jar"/>
+                <include name="commons-logging*.jar"/>
+                <include name="commons-discovery*.jar"/>
+                <include name="jasper*.jar"/>
+                <include name="jsp-api-2.1-glassfish*.jar"/>
+                <include name="json*.jar"/>
+                <include name="log4j*.jar"/>
+                <include name="serializer*.jar"/>
+                <include name="servlet-api*.jar"/>
+                <include name="juli*.jar"/>
+                <include name="xalan*.jar"/>
+                <include name="xercesImpl*.jar"/>
+                <include name="xml-apis*.jar"/>
+                <include name="ecj*.jar"/>
+                <include name="velocity*.jar"/>
+                <include name="slf4j-api*.jar"/>
+                <include name="slf4j-simple*.jar"/>
+                <include name="httpcore*.jar"/>
+                <include name="httpclient*.jar"/>
+                <include name="mail*.jar"/>
+                <include name="zookeeper*.jar"/>
+                <include name="castor*.jar"/>
+                <include name="geronimo-javamail_1.4_spec*.jar"/>
+                <include name="axis*.jar"/>
+                <include name="wsdl4j*.jar"/>
+                <include name="saaj-api*.jar"/>
+                <include name="saaj-impl*.jar"/>
+                <include name="activation*.jar"/>
+                <include name="wss4j*.jar"/>
+                <include name="xmlsec*.jar"/>
+                <include name="opensaml*.jar"/>
+            </fileset>
+        </copy>
+    </target>
+
+    <target name="process-lib-proprietary" depends="lib-proprietary">
+        <mkdir dir="build/lib-proprietary/process"/>
+        <copy todir="build/lib-proprietary/process">
+            <fileset dir="../lib-proprietary">
+                <include name="mysql-connector-java*.jar"/>
+                <include name="ojdbc*.jar"/>
+                <include name="jtds*.jar"/>
+            </fileset>
+        </copy>
+    </target>
+
+    <target name="engine-lib" depends="lib">
+        <mkdir dir="build/lib/engine"/>
+        <copy todir="build/lib/engine">
+            <fileset dir="../lib">
+                <include name="commons-lang*.jar"/>
+                <include name="commons-codec*.jar"/>
+                <include name="commons-collections*.jar"/>
+                <include name="commons-io*.jar"/>
+                <include name="commons-logging*.jar"/>
+                <include name="json*.jar"/>
+                <include name="httpcore*.jar"/>
+                <include name="httpclient*.jar"/>
+            </fileset>
+        </copy>
+    </target>
+
+    <target name="jetty-lib-classpath" depends="jetty-lib">
+        <property name="jetty-lib-classpath" location="build/lib/jetty"/>
+        <pathconvert property="jetty-lib-classpath-win" dirsep="\" pathsep=";">
+            <path>
+                <fileset dir="${jetty-lib-classpath}" includes="*.jar"/>
+            </path>
+            <map from="${jetty-lib-classpath}" to="..\lib"/>
+        </pathconvert>
+        <pathconvert property="jetty-lib-classpath-unix" dirsep="/" pathsep=":">
+            <path>
+                <fileset dir="${jetty-lib-classpath}" includes="*.jar"/>
+            </path>
+            <map from="${jetty-lib-classpath}" to="../lib"/>
+        </pathconvert>
+    </target>
+
+    <target name="hsqldb-lib-classpath" depends="hsqldb-lib">
+        <property name="hsqldb-lib-classpath" location="build/lib/hsqldb"/>
+        <pathconvert property="hsqldb-lib-classpath-win" dirsep="\" pathsep=";">
+            <path>
+                <fileset dir="${hsqldb-lib-classpath}" includes="*.jar"/>
+            </path>
+            <map from="${hsqldb-lib-classpath}" to="..\lib"/>
+        </pathconvert>
+        <pathconvert property="hsqldb-lib-classpath-unix" dirsep="/" pathsep=":">
+            <path>
+                <fileset dir="${hsqldb-lib-classpath}" includes="*.jar"/>
+            </path>
+            <map from="${hsqldb-lib-classpath}" to="../lib"/>
+        </pathconvert>
+    </target>
+
+    <target name="zookeeper-lib-classpath" depends="zookeeper-lib">
+        <property name="zookeeper-lib-classpath" location="build/lib/zookeeper"/>
+        <pathconvert property="zookeeper-lib-classpath-win" dirsep="\" pathsep=";">
+            <path>
+                <fileset dir="${zookeeper-lib-classpath}" includes="*.jar"/>
+            </path>
+            <map from="${zookeeper-lib-classpath}" to="..\lib"/>
+        </pathconvert>
+        <pathconvert property="zookeeper-lib-classpath-unix" dirsep="/" pathsep=":">
+            <path>
+                <fileset dir="${zookeeper-lib-classpath}" includes="*.jar"/>
+            </path>
+            <map from="${zookeeper-lib-classpath}" to="../lib"/>
+        </pathconvert>
+    </target>
+
+    <target name="database-lib-classpath" depends="database-lib">
+        <property name="database-lib-classpath" location="build/lib/database"/>
+        <pathconvert property="database-lib-classpath-win" dirsep="\" pathsep=";">
+            <path>
+                <fileset dir="${database-lib-classpath}" includes="*.jar"/>
+            </path>
+            <map from="${database-lib-classpath}" to="..\lib"/>
+        </pathconvert>
+        <pathconvert property="database-lib-classpath-unix" dirsep="/" pathsep=":">
+            <path>
+                <fileset dir="${database-lib-classpath}" includes="*.jar"/>
+            </path>
+            <map from="${database-lib-classpath}" to="../lib"/>
+        </pathconvert>
+    </target>
+
+    <target name="process-lib-classpath" depends="process-lib">
+        <property name="process-lib-classpath" location="build/lib/process"/>
+        <pathconvert property="process-lib-classpath-win" dirsep="\" pathsep=";">
+            <path>
+                <fileset dir="${process-lib-classpath}" includes="*.jar"/>
+            </path>
+            <map from="${process-lib-classpath}" to="..\lib"/>
+        </pathconvert>
+        <pathconvert property="process-lib-classpath-unix" dirsep="/" pathsep=":">
+            <path>
+                <fileset dir="${process-lib-classpath}" includes="*.jar"/>
+            </path>
+            <map from="${process-lib-classpath}" to="../lib"/>
+        </pathconvert>
+    </target>
+
+    <target name="process-lib-proprietary-classpath" depends="process-lib-proprietary">
+        <property name="process-lib-proprietary-classpath" location="build/lib-proprietary/process"/>
+        <pathconvert property="process-lib-proprietary-classpath-win" dirsep="\" pathsep=";">
+            <path>
+                <fileset dir="${process-lib-proprietary-classpath}" includes="*.jar"/>
+            </path>
+            <map from="${process-lib-proprietary-classpath}" to="..\lib"/>
+        </pathconvert>
+        <pathconvert property="process-lib-proprietary-classpath-unix" dirsep="/" pathsep=":">
+            <path>
+                <fileset dir="${process-lib-proprietary-classpath}" includes="*.jar"/>
+            </path>
+            <map from="${process-lib-proprietary-classpath}" to="../lib"/>
+        </pathconvert>
+    </target>
+
+    <target name="engine-lib-classpath" depends="engine-lib">
+        <property name="engine-lib-classpath" location="build/lib/engine"/>
+        <pathconvert property="engine-lib-classpath-win" dirsep="\" pathsep=";">
+            <path>
+                <fileset dir="${engine-lib-classpath}" includes="*.jar"/>
+            </path>
+            <map from="${engine-lib-classpath}" to="..\lib"/>
+        </pathconvert>
+        <pathconvert property="engine-lib-classpath-unix" dirsep="/" pathsep=":">
+            <path>
+                <fileset dir="${engine-lib-classpath}" includes="*.jar"/>
+            </path>
+            <map from="${engine-lib-classpath}" to="../lib"/>
+        </pathconvert>
+    </target>
+
+    <target name="setup-engine-processes" depends="preclean-engine-processes,scripts-engine,engine-lib-classpath">
+        <antcall target="general-set-engine-classpath">
+            <param name="processes-dir" value="${processes-dir}"/>
+            <param name="win-classpath" value="..\lib\mcf-core.jar;..\lib\mcf-script-engine.jar;${engine-lib-classpath-win}"/>
+            <param name="unix-classpath" value="../lib/mcf-core.jar:../lib/mcf-script-engine.jar:${engine-lib-classpath-unix}"/>
+        </antcall>
+    </target>
+    
+    <target name="setup-jetty-processes" depends="preclean-jetty-processes,scripts-jetty,process-lib-classpath,jetty-lib-classpath">
+        <antcall target="general-set-jetty-classpath">
+            <param name="processes-dir" value="${processes-dir}"/>
+            <param name="win-classpath" value="..\lib\mcf-core.jar;..\lib\mcf-agents.jar;..\lib\mcf-pull-agent.jar;..\lib\mcf-ui-core.jar;..\lib\mcf-jetty-runner.jar;${jetty-lib-classpath-win};${process-lib-classpath-win}"/>
+            <param name="unix-classpath" value="../lib/mcf-core.jar:../lib/mcf-agents.jar:../lib/mcf-pull-agent.jar:../lib/mcf-ui-core.jar:../lib/mcf-jetty-runner.jar:${jetty-lib-classpath-unix}:${process-lib-classpath-unix}"/>
+        </antcall>
+    </target>
+
+    <target name="setup-hsqldb-processes" depends="preclean-hsqldb-processes,scripts-hsqldb,hsqldb-lib-classpath">
+        <antcall target="general-set-hsqldb-classpath">
+            <param name="processes-dir" value="${processes-dir}"/>
+            <param name="win-classpath" value="${hsqldb-lib-classpath-win}"/>
+            <param name="unix-classpath" value="${hsqldb-lib-classpath-unix}"/>
+        </antcall>
+    </target>
+
+    <target name="setup-zookeeper-processes" depends="preclean-zookeeper-processes,scripts-zookeeper,zookeeper-lib-classpath">
+        <antcall target="general-set-zookeeper-classpath">
+            <param name="processes-dir" value="${processes-dir}"/>
+            <param name="win-classpath" value="${zookeeper-lib-classpath-win}"/>
+            <param name="unix-classpath" value="${zookeeper-lib-classpath-unix}"/>
+        </antcall>
+    </target>
+
+    <target name="setup-combined-processes" depends="preclean-combined-processes,scripts-combined,process-lib-classpath,jetty-lib-classpath">
+        <antcall target="general-set-combined-classpath">
+            <param name="processes-dir" value="${processes-dir}"/>
+            <param name="win-classpath" value="..\lib\mcf-core.jar;..\lib\mcf-agents.jar;..\lib\mcf-pull-agent.jar;..\lib\mcf-ui-core.jar;..\lib\mcf-jetty-runner.jar;${jetty-lib-classpath-win};${process-lib-classpath-win}"/>
+            <param name="unix-classpath" value="../lib/mcf-core.jar:../lib/mcf-agents.jar:../lib/mcf-pull-agent.jar:../lib/mcf-ui-core.jar:../lib/mcf-jetty-runner.jar:${jetty-lib-classpath-unix}:${process-lib-classpath-unix}"/>
+        </antcall>
+    </target>
+
+    <target name="setup-processes" depends="preclean-processes,scripts,process-lib-classpath,database-lib-classpath">
+        <antcall target="general-set-classpath">
+            <param name="processes-dir" value="${processes-dir}"/>
+            <param name="win-classpath" value="..\lib\mcf-core.jar;..\lib\mcf-agents.jar;..\lib\mcf-pull-agent.jar;${database-lib-classpath-win};${process-lib-classpath-win}"/>
+            <param name="unix-classpath" value="../lib/mcf-core.jar:../lib/mcf-agents.jar:../lib/mcf-pull-agent.jar:${database-lib-classpath-unix}:${process-lib-classpath-unix}"/>
+        </antcall>
     </target>
 
     <target name="setup-jetty-processes-proprietary" depends="setup-jetty-processes">
     </target>
 
+    <target name="setup-hsqldb-processes-proprietary" depends="setup-hsqldb-processes">
+    </target>
+
+    <target name="setup-zookeeper-processes-proprietary" depends="setup-zookeeper-processes">
+    </target>
+
     <target name="setup-combined-processes-proprietary" depends="setup-combined-processes">
     </target>
 
-    <target name="setup-processes-proprietary" depends="setup-processes">
-        <antcall target="general-add-lib-proprietary-classpath"><param name="lib-proprietary-jar" value="mysql-connector-java.jar"/><param name="processes-dir" value="${processes-dir}"/></antcall>
-        <antcall target="general-add-lib-proprietary-classpath"><param name="lib-proprietary-jar" value="ojdbc.jar"/><param name="processes-dir" value="${processes-dir}"/></antcall>
-        <antcall target="general-add-lib-proprietary-classpath"><param name="lib-proprietary-jar" value="jtds.jar"/><param name="processes-dir" value="${processes-dir}"/></antcall>
+    <target name="setup-processes-proprietary" depends="preclean-processes,scripts,process-lib-classpath,database-lib-classpath,process-lib-proprietary-classpath">
+        <antcall target="general-set-classpath">
+            <param name="processes-dir" value="${processes-dir}"/>
+            <param name="win-classpath" value="..\lib\mcf-core.jar;..\lib\mcf-agents.jar;..\lib\mcf-pull-agent.jar;${database-lib-classpath-win};${process-lib-classpath-win};${process-lib-proprietary-classpath-win}"/>
+            <param name="unix-classpath" value="../lib/mcf-core.jar:../lib/mcf-agents.jar:../lib/mcf-pull-agent.jar:${database-lib-classpath-unix}:${process-lib-classpath-unix}:${process-lib-proprietary-classpath-unix}"/>
+        </antcall>
     </target>
 
     <target name="example-common" depends="wars,wars-proprietary">
@@ -1220,6 +1375,9 @@
         <antcall target="setup-jetty-processes">
             <param name="processes-dir" value="dist/multiprocess-file-example"/>
         </antcall>
+        <antcall target="setup-hsqldb-processes">
+            <param name="processes-dir" value="dist/multiprocess-file-example"/>
+        </antcall>
 
         <mkdir dir="dist/multiprocess-file-example"/>
         <copy todir="dist/multiprocess-file-example">
@@ -1245,6 +1403,9 @@
         <antcall target="setup-jetty-processes-proprietary">
             <param name="processes-dir" value="dist/multiprocess-file-example-proprietary"/>
         </antcall>
+        <antcall target="setup-hsqldb-processes-proprietary">
+            <param name="processes-dir" value="dist/multiprocess-file-example-proprietary"/>
+        </antcall>
         <mkdir dir="dist/multiprocess-file-example-proprietary"/>
         <copy todir="dist/multiprocess-file-example-proprietary">
             <fileset dir="example-multiprocess-common">
@@ -1268,6 +1429,12 @@
         <antcall target="setup-jetty-processes">
             <param name="processes-dir" value="dist/multiprocess-zk-example"/>
         </antcall>
+        <antcall target="setup-hsqldb-processes">
+            <param name="processes-dir" value="dist/multiprocess-zk-example"/>
+        </antcall>
+        <antcall target="setup-zookeeper-processes">
+            <param name="processes-dir" value="dist/multiprocess-zk-example"/>
+        </antcall>
         <mkdir dir="dist/multiprocess-zk-example"/>
         <copy todir="dist/multiprocess-zk-example">
             <fileset dir="example-multiprocess-common">
@@ -1293,6 +1460,12 @@
         <antcall target="setup-jetty-processes-proprietary">
             <param name="processes-dir" value="dist/multiprocess-zk-example-proprietary"/>
         </antcall>
+        <antcall target="setup-hsqldb-processes-proprietary">
+            <param name="processes-dir" value="dist/multiprocess-zk-example-proprietary"/>
+        </antcall>
+        <antcall target="setup-zookeeper-processes-proprietary">
+            <param name="processes-dir" value="dist/multiprocess-zk-example-proprietary"/>
+        </antcall>
         <mkdir dir="dist/multiprocess-zk-example-proprietary"/>
         <copy todir="dist/multiprocess-zk-example-proprietary">
             <fileset dir="example-multiprocess-common">
@@ -1324,74 +1497,51 @@
         <chmod dir="dist/script-engine" perm="a+x" includes="**/*.sh"/>
     </target>
     
-    <target name="process-start-lib" depends="lib">
-        <mkdir dir="build/process-start/lib"/>
-        <copy todir="build/process-start/lib">
-            <fileset dir="../lib">
-                <include name="commons-lang*.jar"/>
-                <include name="commons-codec*.jar"/>
-                <include name="commons-el*.jar"/>
-                <include name="commons-fileupload*.jar"/>
-                <include name="commons-io*.jar"/>
-                <include name="commons-logging*.jar"/>
-                <include name="hsqldb*.jar"/>
-                <include name="jasper*.jar"/>
-                <include name="jetty*.jar"/>
-                <include name="jsp-api-2.1-glassfish*.jar"/>
-                <include name="json*.jar"/>
-                <include name="log4j*.jar"/>
-                <include name="postgresql*.jar"/>
-                <include name="serializer*.jar"/>
-                <include name="servlet-api*.jar"/>
-                <include name="juli*.jar"/>
-                <include name="xalan*.jar"/>
-                <include name="xercesImpl*.jar"/>
-                <include name="xml-apis*.jar"/>
-                <include name="ecj*.jar"/>
-                <include name="velocity*.jar"/>
-                <include name="slf4j-api*.jar"/>
-                <include name="slf4j-simple*.jar"/>
-                <include name="httpcore*.jar"/>
-                <include name="httpclient*.jar"/>
-                <include name="mail*.jar"/>
-                <include name="zookeeper*.jar"/>
-                <include name="castor*.jar"/>
-                <include name="geronimo-javamail_1.4_spec*.jar"/>
-                <include name="commons-discovery*.jar"/>
-                <include name="axis*.jar"/>
-                <include name="wsdl4j*.jar"/>
-                <include name="saaj-api*.jar"/>
-                <include name="saaj-impl*.jar"/>
-                <include name="activation*.jar"/>
-                <include name="wss4j*.jar"/>
-                <include name="xmlsec*.jar"/>
-                <include name="opensaml*.jar"/>
-            </fileset>
-            <fileset dir="build/jar">
-                <include name="mcf-core.jar"/>
-                <include name="mcf-agents.jar"/>
-                <include name="mcf-pull-agent.jar"/>
-                <include name="mcf-jetty-runner.jar"/>
-                <include name="mcf-ui-core.jar"/>
-            </fileset>
-        </copy>
-    </target>
-
-    <target name="process-start-lib-manifest" depends="process-start-lib">
-        <property name="liblocation" location="build/process-start/lib" />
-        <pathconvert property="manifest-cp" dirsep="/" pathsep=" ">
+    <target name="jetty-lib-manifest" depends="jetty-lib">
+        <property name="jetty-lib-manifest" location="build/lib/jetty"/>
+        <pathconvert property="jetty-manifest-cp" dirsep="/" pathsep=" ">
             <path>
-                <fileset dir="${liblocation}" includes="*.jar"/>
+                <fileset dir="${jetty-lib-manifest}" includes="*.jar"/>
             </path>
-            <map from="${liblocation}" to="../lib"/>
+            <map from="${jetty-lib-manifest}" to="../lib"/>
         </pathconvert>
     </target>
-    
-    <target name="single-process-start-jar" depends="process-start-lib-manifest">
+
+    <target name="database-lib-manifest" depends="database-lib">
+        <property name="database-lib-manifest" location="build/lib/database"/>
+        <pathconvert property="database-manifest-cp" dirsep="/" pathsep=" ">
+            <path>
+                <fileset dir="${database-lib-manifest}" includes="*.jar"/>
+            </path>
+            <map from="${database-lib-manifest}" to="../lib"/>
+        </pathconvert>
+    </target>
+
+    <target name="process-lib-manifest" depends="process-lib">
+        <property name="process-lib-manifest" location="build/lib/process"/>
+        <pathconvert property="process-manifest-cp" dirsep="/" pathsep=" ">
+            <path>
+                <fileset dir="${process-lib-manifest}" includes="*.jar"/>
+            </path>
+            <map from="${process-lib-manifest}" to="../lib"/>
+        </pathconvert>
+    </target>
+
+    <target name="process-lib-proprietary-manifest" depends="process-lib-proprietary">
+        <property name="process-manifest-proprietary" location="build/lib-proprietary/process" />
+        <pathconvert property="process-manifest-cp-proprietary" dirsep="/" pathsep=" ">
+            <path>
+                <fileset dir="${process-manifest-proprietary}" includes="*.jar"/>
+            </path>
+            <map from="${process-manifest-proprietary}" to="../lib-proprietary"/>
+        </pathconvert>
+    </target>
+
+    <target name="single-process-start-jar" depends="process-lib-manifest,jetty-lib-manifest,database-lib-manifest">
         <mkdir dir="build/example"/>
         <manifest file="build/example/manifest">
             <attribute name="Main-Class" value="org.apache.manifoldcf.jettyrunner.ManifoldCFJettyRunner"/>
-            <attribute name="Class-Path" value="${manifest-cp}"/>
+            <attribute name="Class-Path" value="../lib/mcf-core.jar ../lib/mcf-agents.jar ../lib/mcf-pull-agent.jar ../lib/mcf-ui-core.jar ../lib/mcf-jetty-runner.jar ${database-manifest-cp} ${process-manifest-cp} ${jetty-manifest-cp}"/>
         </manifest>
         <jar destfile="dist/example/start.jar" manifest="build/example/manifest"/>
     </target>
@@ -1416,32 +1566,11 @@
 
     </target>
 
-    <target name="process-start-lib-proprietary" depends="lib-proprietary">
-        <mkdir dir="build/process-start/lib-proprietary"/>
-        <copy todir="build/process-start/lib-proprietary">
-            <fileset dir="../lib-proprietary">
-                <include name="mysql-connector-java*.jar"/>
-                <include name="ojdbc*.jar"/>
-                <include name="jtds*.jar"/>
-            </fileset>
-        </copy>
-    </target>
-
-    <target name="process-start-lib-proprietary-manifest" depends="process-start-lib-proprietary">
-        <property name="liblocation-proprietary" location="build/process-start/lib-proprietary" />
-        <pathconvert property="manifest-cp-proprietary" dirsep="/" pathsep=" ">
-            <path>
-                <fileset dir="${liblocation-proprietary}" includes="*.jar"/>
-            </path>
-            <map from="${liblocation-proprietary}" to="../lib-proprietary"/>
-        </pathconvert>
-    </target>
-
-    <target name="single-process-start-jar-proprietary" depends="process-start-lib-manifest,process-start-lib-proprietary-manifest">
+    <target name="single-process-start-jar-proprietary" depends="process-lib-manifest,jetty-lib-manifest,process-lib-proprietary-manifest,database-lib-manifest">
         <mkdir dir="build/example-proprietary"/>
         <manifest file="build/example-proprietary/manifest">
             <attribute name="Main-Class" value="org.apache.manifoldcf.jettyrunner.ManifoldCFJettyRunner"/>
-            <attribute name="Class-Path" value="${manifest-cp} ${manifest-cp-proprietary}"/>
+            <attribute name="Class-Path" value="../lib/mcf-core.jar ../lib/mcf-agents.jar ../lib/mcf-pull-agent.jar ../lib/mcf-ui-core.jar ../lib/mcf-jetty-runner.jar ${database-lib-manifest} ${process-manifest-cp} ${jetty-manifest-cp} ${process-manifest-cp-proprietary}"/>
         </manifest>
         <jar destfile="dist/example-proprietary/start.jar" manifest="build/example-proprietary/manifest"/>
     </target>
diff --git a/framework/example-multiprocess-common/start-database.bat b/framework/example-multiprocess-common/start-database.bat
deleted file mode 100644
index 88e36d0..0000000
--- a/framework/example-multiprocess-common/start-database.bat
+++ /dev/null
@@ -1,25 +0,0 @@
-@echo off

-rem Licensed to the Apache Software Foundation (ASF) under one or more

-rem contributor license agreements.  See the NOTICE file distributed with

-rem this work for additional information regarding copyright ownership.

-rem The ASF licenses this file to You under the Apache License, Version 2.0

-rem (the "License"); you may not use this file except in compliance with

-rem the License.  You may obtain a copy of the License at

-rem

-rem     http://www.apache.org/licenses/LICENSE-2.0

-rem

-rem Unless required by applicable law or agreed to in writing, software

-rem distributed under the License is distributed on an "AS IS" BASIS,

-rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.

-rem See the License for the specific language governing permissions and

-rem limitations under the License.

-

-rem check that JAVA_HOME is set, and that the current directory is correct

-if not exist "%JAVA_HOME%\bin\java.exe" goto nojavahome

-rem invoke java with the database class

-"%JAVA_HOME%\bin\java" -cp ..\lib\hsqldb.jar org.hsqldb.Server -database.0 file:extdb;hsqldb.tx=mvcc;hsqldb.cache_file_scale=512 -dbname.0 xdb

-goto done

-:nojavahome

-echo Environment variable JAVA_HOME is not set properly.

-goto done

-:done

diff --git a/framework/example-multiprocess-common/start-database.sh b/framework/example-multiprocess-common/start-database.sh
deleted file mode 100755
index f4bd01c..0000000
--- a/framework/example-multiprocess-common/start-database.sh
+++ /dev/null
@@ -1,26 +0,0 @@
-#!/bin/bash -e
-
-# 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.
-
-#Make sure environment variables are properly set
-if [ -e "$JAVA_HOME"/bin/java ] ; then
-    "$JAVA_HOME"/bin/java -cp ../lib/hsqldb.jar org.hsqldb.Server -database.0 "file:extdb;hsqldb.tx=mvcc;hsqldb.cache_file_scale=512" -dbname.0 xdb
-    exit $?
-        
-else
-    echo "Environment variable JAVA_HOME is not properly set." 1>&2
-    exit 1
-fi
diff --git a/framework/scripts-hsqldb/hsqldb-options.env.unix b/framework/scripts-hsqldb/hsqldb-options.env.unix
new file mode 100644
index 0000000..5f1a7c6
--- /dev/null
+++ b/framework/scripts-hsqldb/hsqldb-options.env.unix
@@ -0,0 +1,4 @@
+-Xms256m
+-Xmx256m
+-cp
+.:
diff --git a/framework/scripts-hsqldb/hsqldb-options.env.win b/framework/scripts-hsqldb/hsqldb-options.env.win
new file mode 100644
index 0000000..b90b890
--- /dev/null
+++ b/framework/scripts-hsqldb/hsqldb-options.env.win
@@ -0,0 +1,4 @@
+-Xms256m

+-Xmx256m

+-cp

+.;

diff --git a/framework/example-multiprocess-zk-common/runzookeeper.bat b/framework/scripts-hsqldb/start-database.bat
similarity index 80%
copy from framework/example-multiprocess-zk-common/runzookeeper.bat
copy to framework/scripts-hsqldb/start-database.bat
index 6f29218..a1b7a11 100644
--- a/framework/example-multiprocess-zk-common/runzookeeper.bat
+++ b/framework/scripts-hsqldb/start-database.bat
@@ -17,7 +17,10 @@
 rem check that JAVA_HOME is set, and that the current directory is correct

 if not exist "%JAVA_HOME%\bin\java.exe" goto nojavahome

 if not exist ".\properties.xml" goto nolcfhome

-cmd /c ".\executecommand.bat org.apache.zookeeper.server.quorum.QuorumPeerMain zookeeper.cfg"

+set JAVAOPTIONS=

+for /f "delims=" %%a in ('type hsqldb-options.env.win') do call setjavaoption.bat "%%a"

+rem invoke java with the jetty class

+"%JAVA_HOME%\bin\java" %JAVAOPTIONS% org.hsqldb.Server -database.0 file:extdb;hsqldb.tx=mvcc;hsqldb.cache_file_scale=512 -dbname.0 xdb

 goto done

 :nojavahome

 echo Environment variable JAVA_HOME is not set properly.

diff --git a/framework/example-multiprocess-zk-common/runzookeeper.sh b/framework/scripts-hsqldb/start-database.sh
old mode 100755
new mode 100644
similarity index 75%
copy from framework/example-multiprocess-zk-common/runzookeeper.sh
copy to framework/scripts-hsqldb/start-database.sh
index bd823ae..89d2fce
--- a/framework/example-multiprocess-zk-common/runzookeeper.sh
+++ b/framework/scripts-hsqldb/start-database.sh
@@ -15,17 +15,26 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
+if [[ $OSTYPE == "cygwin" ]] ; then
+    OPTIONSFILE="hsqldb-options.env.win"
+else
+    OPTIONSFILE="hsqldb-options.env.unix"
+fi
+
 #Make sure environment variables are properly set
 if [ -e "$JAVA_HOME"/bin/java ] ; then
     if [ -f ./properties.xml ] ; then
-        ./executecommand.sh org.apache.zookeeper.server.quorum.QuorumPeerMain zookeeper.cfg
+        # Build the global options
+        OPTIONS=$(cat "$OPTIONSFILE")
+        
+        "$JAVA_HOME/bin/java" $OPTIONS org.hsqldb.Server -database.0 "file:extdb;hsqldb.tx=mvcc;hsqldb.cache_file_scale=512" -dbname.0 xdb
         exit $?
         
     else
         echo "Working directory contains no properties.xml file." 1>&2
         exit 1
     fi
-    
+
 else
     echo "Environment variable JAVA_HOME is not properly set." 1>&2
     exit 1
diff --git a/framework/example-multiprocess-zk-common/runzookeeper.bat b/framework/scripts-zookeeper/runzookeeper.bat
similarity index 82%
rename from framework/example-multiprocess-zk-common/runzookeeper.bat
rename to framework/scripts-zookeeper/runzookeeper.bat
index 6f29218..d9fb8d1 100644
--- a/framework/example-multiprocess-zk-common/runzookeeper.bat
+++ b/framework/scripts-zookeeper/runzookeeper.bat
@@ -17,7 +17,10 @@
 rem check that JAVA_HOME is set, and that the current directory is correct

 if not exist "%JAVA_HOME%\bin\java.exe" goto nojavahome

 if not exist ".\properties.xml" goto nolcfhome

-cmd /c ".\executecommand.bat org.apache.zookeeper.server.quorum.QuorumPeerMain zookeeper.cfg"

+set JAVAOPTIONS=

+for /f "delims=" %%a in ('type zk-options.env.win') do call setjavaoption.bat "%%a"

+rem invoke java with the jetty class

+"%JAVA_HOME%\bin\java" %JAVAOPTIONS% org.apache.zookeeper.server.quorum.QuorumPeerMain zookeeper.cfg

 goto done

 :nojavahome

 echo Environment variable JAVA_HOME is not set properly.

diff --git a/framework/example-multiprocess-zk-common/runzookeeper.sh b/framework/scripts-zookeeper/runzookeeper.sh
old mode 100755
new mode 100644
similarity index 78%
rename from framework/example-multiprocess-zk-common/runzookeeper.sh
rename to framework/scripts-zookeeper/runzookeeper.sh
index bd823ae..60eecab
--- a/framework/example-multiprocess-zk-common/runzookeeper.sh
+++ b/framework/scripts-zookeeper/runzookeeper.sh
@@ -15,17 +15,26 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
+if [[ $OSTYPE == "cygwin" ]] ; then
+    OPTIONSFILE="zk-options.env.win"
+else
+    OPTIONSFILE="zk-options.env.unix"
+fi
+
 #Make sure environment variables are properly set
 if [ -e "$JAVA_HOME"/bin/java ] ; then
     if [ -f ./properties.xml ] ; then
-        ./executecommand.sh org.apache.zookeeper.server.quorum.QuorumPeerMain zookeeper.cfg
+        # Build the global options
+        OPTIONS=$(cat "$OPTIONSFILE")
+        
+        "$JAVA_HOME/bin/java" $OPTIONS org.apache.zookeeper.server.quorum.QuorumPeerMain zookeeper.cfg
         exit $?
         
     else
         echo "Working directory contains no properties.xml file." 1>&2
         exit 1
     fi
-    
+
 else
     echo "Environment variable JAVA_HOME is not properly set." 1>&2
     exit 1
diff --git a/framework/scripts-zookeeper/zk-options.env.unix b/framework/scripts-zookeeper/zk-options.env.unix
new file mode 100644
index 0000000..5f1a7c6
--- /dev/null
+++ b/framework/scripts-zookeeper/zk-options.env.unix
@@ -0,0 +1,4 @@
+-Xms256m
+-Xmx256m
+-cp
+.:
diff --git a/framework/scripts-zookeeper/zk-options.env.win b/framework/scripts-zookeeper/zk-options.env.win
new file mode 100644
index 0000000..b90b890
--- /dev/null
+++ b/framework/scripts-zookeeper/zk-options.env.win
@@ -0,0 +1,4 @@
+-Xms256m

+-Xmx256m

+-cp

+.;

diff --git a/site/src/documentation/content/xdocs/en_US/how-to-build-and-deploy.xml b/site/src/documentation/content/xdocs/en_US/how-to-build-and-deploy.xml
index fcbb488..71d5639 100644
--- a/site/src/documentation/content/xdocs/en_US/how-to-build-and-deploy.xml
+++ b/site/src/documentation/content/xdocs/en_US/how-to-build-and-deploy.xml
@@ -317,7 +317,7 @@
           <source>
 mvn clean install
           </source>
-          <p>This should generate all the necessary artifacts to run with, and also run the Apache Derby-based tests.</p>
+          <p>This should generate all the necessary artifacts to run with, and also run the Hsqldb-based tests.</p>
           <p>To build and skip only the integration tests, type:</p>
           <source>
 mvn clean install -DskipITs   
@@ -438,7 +438,7 @@
         <section>
           <title>Quick-start single process model</title>
           <p></p>
-          <p>You can run most of ManifoldCF in a single process, for evaluation and convenience.  This single-process version uses Jetty to handle its web applications, and Derby as
+          <p>You can run most of ManifoldCF in a single process, for evaluation and convenience.  This single-process version uses Jetty to handle its web applications, and Hsqldb as
             an embedded database.  All you need to do to run this version of ManifoldCF is to follow the Ant-based build instructions above, and then:</p>
           <p></p>
           <source>
@@ -452,8 +452,8 @@
           <p></p>
           <p>You can stop the quick-start ManifoldCF at any time using ^C.</p>
           <p></p>
-          <p>Bear in mind that Derby is not as full-featured a database as is PostgreSQL.  This means that any performance testing you may do against the quick start example may
-            not be applicable to a full installation.  Furthermore, Derby only permits one process at a time to be connected to its databases, so you <strong>cannot</strong> use any
+          <p>Bear in mind that Hsqldb is not as full-featured a database as is PostgreSQL.  This means that any performance testing you may do against the quick start example may
+            not be applicable to a full installation.  Furthermore, embedded Hsqldb only permits one process at a time to be connected to its databases, so you <strong>cannot</strong> use any
             of the ManifoldCF commands (as described below) while the quick-start ManifoldCF is running.</p>
           <p></p>
           <p>Another caveat that you will need to be aware of with the quick-start version of ManifoldCF is that it in no way removes the need for you to run any separate processes
@@ -478,7 +478,7 @@
           <p>The combined web service presents the crawler UI at the root path for the web application, which is <em>http://&#60;host&#62;:8345/mcf/</em>.  The authority
             service functionality can be found at <em>http://&#60;host&#62;:8345/mcf/UserACLs</em>, similar to the quick-start example.  However, the programmatic API service has a path
             other than the root: <em>http://&#60;host&#62;:8345/mcf/api/</em>.</p>
-          <p>The script that starts the combined-service web application uses the same database instance (Derby by default) as does the quick-start, and the same <em>properties.xml</em>
+          <p>The script that starts the combined-service web application uses the same database instance (Hsqldb by default) as does the quick-start, and the same <em>properties.xml</em>
             file.  The same caveats about required individual connector processes also apply as they do for the quick-start example.</p>
           <p></p>
 
@@ -828,7 +828,6 @@
           <li>PostgreSQL (preferred)</li>
           <li>MySQL (preferred)</li>
           <li>HSQLDB</li>
-          <li>Derby (not recommended for production)</li>
         </ul>
         <p>You can select the database of your choice by setting the approprate properties in the applicable <em>properties.xml</em> file.  The choice of database is largely orthogonal
           to the choice of deployment model.  The ManifoldCF deployment examples provided can thus be readily altered to use the database you desire.  The details and caveats of
@@ -916,16 +915,6 @@
             process.  See the <em>properties.xml</em> property descriptions for configuration details.</p>
         </section>
         
-        <section>
-          <title>Configuring an Apache Derby database</title>
-          <p></p>
-          <p>Apache Derby can be used with ManifoldCF only as an embedded database, working with single-process deployments.  Its performance currently seems limited by
-            issues related to its planner and to its handling of deadlock conditions, but this situation could change any time there is a new release of the Derby software.  Nevertheless, even
-            when operating without any apparent stalls due to the above issues, Derby is still only about 1/4 as fast as PostgreSQL.  At the moment this limits Derby's utility for
-            ManifoldCF to demonstration and testing.</p>
-        </section>
-        
-        
       </section>
         
       <section>
@@ -971,7 +960,7 @@
             <tr><td>org.apache.manifoldcf.dbsuperuserpassword</td><td>No</td><td>Database superuser password, for QuickStart, so ManifoldCF can create database instance.</td></tr>
             <tr><td>org.apache.manifoldcf.ui.maxstatuscount</td><td>No</td><td>The maximum number of documents ManifoldCF will try to count for the job status display.  Defaults to 500000.</td></tr>
             <tr><td>org.apache.manifoldcf.databaseimplementationclass</td><td>No</td><td>Specifies the class to use to implement database access.
-                Default is a built-in Derby implementation.  Supported choices are: org.apache.manifoldcf.core.database.DBInterfaceDerby,
+                Default is a built-in Hsqldb implementation.  Supported choices are:
                 org.apache.manifoldcf.core.database.DBInterfacePostgreSQL, 
                 org.apache.manifoldcf.core.database.DBInterfaceMySQL,
                 org.apache.manifoldcf.core.database.DBInterfaceHSQLDB</td></tr>
@@ -980,7 +969,6 @@
             <tr><td>org.apache.manifoldcf.postgresql.ssl</td><td>No</td><td>Set to "true" for ssl communication with PostgreSQL.</td></tr>
             <tr><td>org.apache.manifoldcf.mysql.server</td><td>No</td><td>The MySQL server name.  Defaults to 'localhost'.</td></tr>
             <tr><td>org.apache.manifoldcf.mysql.client</td><td>No</td><td>The MySQL client property.  Defaults to 'localhost'.  You may want to set this to '%' for a multi-machine setup.</td></tr>
-            <tr><td>org.apache.manifoldcf.derbydatabasepath</td><td>No</td><td>Absolute or relative path to Derby database; default is '.'.</td></tr>
             <tr><td>org.apache.manifoldcf.hsqldbdatabasepath</td><td>No</td><td>Absolute or relative path to HSQLDB database; default is '.'.</td></tr>
             <tr><td>org.apache.manifoldcf.hsqldbdatabaseprotocol</td><td>Yes, for remote HSQLDB connection</td><td>The HSQLDB JDBC protocol; choices are 'hsql', 'http', or 'https'. Default is blank (which means an embedded instance)</td></tr>
             <tr><td>org.apache.manifoldcf.hsqldbdatabaseserver</td><td>Yes, for remote HSQLDB connection</td><td>The HSQLDB remote server name.</td></tr>