<?xml version="1.0" encoding="UTF-8"?>
<!--
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="OFBiz Main Build" default="build" basedir="."
    xmlns:ivy="antlib:org.apache.ivy.ant">

    <taskdef uri="antlib:org.apache.ivy.ant" resource="org/apache/ivy/ant/antlib.xml">
        <classpath>
            <pathelement location="framework/base/lib/ivy-2.2.0.jar"/>
        </classpath>
    </taskdef> 

    <import file="macros.xml"/>
    <property name="site.dir" value="../site"/>
    <property name="memory.initial.param" value="-Xms128M"/>
    <property name="memory.max.param" value="-Xmx512M"/>
    <property name="portoffset" value="0"/>

    <import file="framework/build.xml" optional="false"/>
    <available file="applications/build.xml" property="applications.present"/>
    <import file="applications/build.xml" optional="true"/>
    <available file="specialpurpose/build.xml" property="specialpurpose.present"/>
    <import file="specialpurpose/build.xml" optional="true"/>

    <!-- ================================================================== -->
    <!-- Initialization of all property settings                            -->
    <!-- ================================================================== -->

    <target name="ofbiz-init" depends="dir-init">
        <property environment="env"/>
    </target>

    <target name="dir-init">
        <mkdir dir="runtime"/>
        <mkdir dir="runtime/output"/>
        <mkdir dir="runtime/logs"/>
        <mkdir dir="runtime/logs/test-results"/>
        <mkdir dir="runtime/data"/>
        <mkdir dir="runtime/data/derby"/>

        <condition property="isMac">
            <os family="mac"/>
        </condition>
        <antcall target="copy-derby-props" inheritall="true"/>
    </target>

    <target name="copy-derby-props" if="isMac">
        <copy file="runtime/data/derby.properties" todir="runtime/data/derby"/>
    </target>

    <!-- ================================================================== -->
    <!-- Removes all created files and directories                          -->
    <!-- ================================================================== -->

    <target name="refresh"
          description="Clean all and rebuild">
        <antcall target="clean-all"/>
        <antcall target="build"/>
    </target>

    <target name="clean-all"
          description="Clean all DB, Catalina and caches data, logs, and runtime subdirectories and all specific files like .rej, .orig">
        <antcall target="clean-ivy"/>
        <antcall target="clean-data"/>
        <antcall target="clean-logs"/>
        <antcall target="clean-output"/>
        <antcall target="clean-xtra"/>
        <antcall target="clean-catalina"/>
        <antcall target="clean-cache"/>
        <antcall target="clean-tempfiles"/>
        <antcall target="clean-search-indexes"/>
        <antcall target="clean-downloads"/>
        <antcall target="clean-uploads"/>        
        <antcall target="clean"/>
    </target>

    <target name="clean-downloads"
          description="Clean all downloaded files">
        <delete verbose="true" deleteonexit="true">
            <fileset dir="framework/base/lib" includes="activemq-*.jar"/>
            <fileset dir="framework/entity/lib/jdbc" includes="postgresql-*.jar"/>
            <fileset dir="framework/entity/lib/jdbc" includes="mysql-*.jar"/>
        </delete>
        <antcall target="clean-ivy"/>
    </target>
    <target name="clean-data"
          description="Clean all DB data (Derby) under runtime/data">
        <delete verbose="on" includeemptydirs="true">
            <fileset dir="runtime/data" includes="**/*">
                <exclude name="README"/>
                <exclude name="derby.properties"/>
            </fileset>
        </delete>
        <delete file="runtime/data.zip"/>
        <delete file="runtime/test-list-build.xml"/>
    </target>

    <target name="clean-logs"
          description="Clean all logs in runtime/logs">
        <delete verbose="on" includeemptydirs="true">
            <fileset dir="runtime/logs" includes="**/*">
                <exclude name="README"/>
            </fileset>
        </delete>
    </target>

    <target name="clean-output"
          description="Clean runtime/output directory">
        <delete verbose="on" includeemptydirs="true">
            <fileset dir="runtime/output" includes="**/*">
                <exclude name="README"/>
            </fileset>
        </delete>
    </target>

    <target name="clean-xtra"
          description="Clean all other files like .rej, .orig, etc.">
        <delete verbose="on">
            <fileset dir="." includes="**/.nbattrs,**/*~,**/.#*,**/.DS_Store,**/*.rej,**/*.orig"/>
        </delete>
    </target>

    <target name="clean-catalina"
          description="Clean Catalina data in runtime/catalina/work">
        <delete dir="runtime/catalina/work"/>
    </target>

   <target name="clean-cache"
           description="Clean the UtilCache file if errors found with old objects in the cache (Java runtime error something like 'local class incompatible')">
        <property file="framework/base/config/cache.properties"/>
        <echo message="NOTICE: deleting ${cache.file.store}.db"/>
        <delete file="${cache.file.store}.db" verbose="true"/>
    </target>

    <target name="clean-tempfiles"
          description="Remove files located in runtime/tempfiles (captcha, etc...)">
        <delete includeemptydirs="true">
            <fileset dir="./runtime/tempfiles" includes="**/*">
                <exclude name="README"/>
            </fileset>
        </delete>
    </target>

    <target name="clean-search-indexes"
        description="Remove search indexes (e.g. Lucene indexes) created under runtime/indexes">
        <delete includeemptydirs="true">
            <fileset dir="./runtime/indexes" includes="**/*" erroronmissingdir="false" >
                <exclude name="README"/>
                <exclude name="index.properties"/>
            </fileset>
        </delete>
    </target>
    
    <target name="clean-uploads"
        description="Remove uploaded files">
        <delete includeemptydirs="true">
            <fileset dir="./runtime/uploads" includes="**/*" erroronmissingdir="false" />
        </delete>
    </target>
    
    <target name="tests" depends="ofbiz-init">
        <iterate target="tests" filelist="test-builds"/>
    </target>

    <target name="clean">
        <hotdeployant target="clean"/>
        <antcall target="clean-specialpurpose"/>
        <antcall target="clean-applications"/>
        <antcall target="clean-framework"/>
        <delete file="ofbiz.jar"/>
        <echo message="[clean] ========== Done Cleaning =========="/>
    </target>

    <target name="clean-framework">
        <iterate target="clean" filelist="framework-builds"/>
    </target>
    <target name="clean-applications" if="${applications.present}">
        <iterate target="clean" filelist="application-builds"/>
    </target>
    <target name="clean-specialpurpose" if="${specialpurpose.present}">
        <iterate target="clean" filelist="specialpurpose-builds"/>
    </target>

    <target name="svninfo"
        description="Update the Release-revision info in the footer. Note that you need a valid Internet connection and Subversion connected to the OFBiz repository for that ">
        <echo message="Creating svninfo..."/>
        <exec executable="svn" dir="." output="runtime/svninfo_tmp.xml">
            <arg value="info"/>
            <arg value="--xml"/>
        </exec>
        <xmlproperty file="runtime/svninfo_tmp.xml"/>
        <echo message="Rev:${info.entry.commit(revision)}"/>
        <basename property="releasePath" file="${info.entry.url}"/>
        <tstamp>
            <format property="dateTime" pattern="yyyy-MM-dd HH:mm:ss"/>
        </tstamp>
        <echo message=" - Release-revision : ${releasePath}-r${info.entry.commit(revision)},  ${uiLabelMap.CommonBuiltOn} ${dateTime} ${uiLabelMap.CommonWith} Java ${java.version}" file="runtime/SvnInfo.ftl"/>
        <delete file="runtime/svninfo_tmp.xml"/>
        <echo message="Done!"/>
    </target>

    <target name="clean-svninfo">
        <echo message="Resetting svninfo..."/>
        <echo message=" " file="runtime/SvnInfo.ftl"/>
        <echo message="Done!"/>
    </target>
    
    <target name="gitinfo"
        description="Update the Git Branch-revision info in the footer.">
        <echo message="Creating gitinfo..."/>
        <exec executable="git" outputproperty="branch">
            <arg value="rev-parse"/>
            <arg value="--abbrev-ref"/>
            <arg value="HEAD"/>
        </exec>
        <exec executable="git" outputproperty="revision">
            <arg value="rev-parse"/>
            <arg value="HEAD"/>
        </exec>
        <tstamp>
            <format property="dateTime" pattern="yyyy-MM-dd HH:mm:ss"/>
        </tstamp>        
        <echo message="Found Branch-revision: ${branch}-${revision}"/>
        <echo message=" - Branch-revision: ${branch}-${revision}, ${uiLabelMap.CommonBuiltOn} ${dateTime} ${uiLabelMap.CommonWith} Java ${java.version}" file="runtime/GitInfo.ftl"/>
        <echo message="Done!"/>
    </target>

    <target name="clean-gitinfo">
        <echo message="Resetting gitinfo..."/>
        <echo message=" " file="runtime/GitInfo.ftl"/>
        <echo message="Done!"/>
    </target>

    <!-- ================================================================== -->
    <!-- Apply patches where needed                                         -->
    <!-- ================================================================== -->

    <target name="build-dev"
      description="Patch sources in a dev environment if patch files are present in runtime/patches.">
      <!-- Ant patch task can't handle a fileset => create a global patch -->
      <concat destfile="${basedir}/runtime/patches/dev.patch" encoding="UTF-8" outputencoding="UTF-8">
        <fileset dir="${basedir}/runtime/patches" casesensitive="no">
          <exclude name="dev.patch"/> <!-- exclude the patch itself in case it's still there -->
          <include name="*.patch"/>
        </fileset>
      </concat>
      <if>
        <available file="${basedir}/runtime/patches/dev.patch"/>
        <then>
            <antcall target="patch">
                <param name="dir-name" value="${basedir}"/>
                <param name="diff-file" value="${basedir}/runtime/patches/dev.patch"/>
            </antcall>
            <delete file="${basedir}/runtime/patches/dev.patch"/>
        </then>
      </if>
    </target>
    
    <!-- Following allow to use "svn patch" and fallback on "patch" if necessary -->
    <target name="calculate-svn-patch-available">
        <mkdir dir="build/svn-check"/>
        <exec dir="build/svn-check" output="build/svn-check/svn.output" executable="svn" failonerror="true">
            <arg value="--version" />
        </exec>
        <loadfile property="svn-output" srcFile="build/svn-check/svn.output"/>
        <condition property="svn-version-ok">
        <!-- On Linux prefer patch because "svn patch" needs "ant" exec and you can't check patching errors -->
          <and>
            <os family="windows"/>
            <or>
                <!-- This might also depend on the format of the working copy -->
                <contains string="${svn-output}" substring="1.7."/>
                <contains string="${svn-output}" substring="1.8."/>
                <contains string="${svn-output}" substring="1.9."/>
                <contains string="${svn-output}" substring="1.10."/>
                <contains string="${svn-output}" substring="1.11."/>
            </or>
          </and>
        </condition>
        <delete dir="build/svn-check"/>
    </target>
    
    <target name="calculate-patch-available" depends="calculate-svn-patch-available" unless="svn-version-ok">
        <condition property="patch-ok">
            <os family="unix"/>
        </condition>
    </target>
    
    <target name="check-svn-patch-available" depends="calculate-svn-patch-available" unless="svn-version-ok">
        <echo message="You need svn version 1.7 or higher - attempting patch instead."/>
    </target>
    
    <target name="check-patch-available" depends="calculate-patch-available" unless="patch-ok"/>
    
    <target name="patch-via-svn" depends="check-svn-patch-available" if="svn-version-ok">
        <exec dir="${basedir}" executable="svn" failonerror="true">
            <arg value="patch" />
            <arg value="${diff-file}" />
            <arg value="${dir-name}" />
        </exec>
    </target>
    
    <target name="patch-via-patch" depends="check-patch-available" if="patch-ok">
        <exec dir="${basedir}" executable="patch" input="${diff-file}" failonerror="true">
            <arg value="--binary" /><!-- To prevent EOL issues which comes when using mixed development platforms (ie Unix and Win) -->
            <arg value="-p0" />
        </exec>
    </target>
    
    <target name="patch" depends="patch-via-svn,patch-via-patch"/>

    <target name="revert-dev"
      description="Revert patch files present in runtime/patches applied by build-dev.">
      <!-- Ant patch task can't handle a fileset => create a global patch -->
      <concat destfile="${basedir}/runtime/patches/dev.patch" encoding="UTF-8" outputencoding="UTF-8">
        <fileset dir="${basedir}/runtime/patches" casesensitive="no">
          <exclude name="dev.patch"/> <!-- exclude the patch itself in case it's still there -->
          <include name="*.patch"/>
        </fileset>
      </concat>
      <if>
        <available file="${basedir}/runtime/patches/dev.patch"/>
        <then>
            <antcall target="revert-patch">
                <param name="dir-name" value="${basedir}"/>
                <param name="diff-file" value="${basedir}/runtime/patches/dev.patch"/>
            </antcall>
            <delete file="${basedir}/runtime/patches/dev.patch"/>
        </then>
      </if>
    </target>

    <target name="revert-via-svn" depends="check-svn-patch-available" if="svn-version-ok">
        <exec dir="${basedir}" executable="svn" failonerror="true">
            <arg value="patch" />
            <arg value="${diff-file}" />
            <arg value="${dir-name}" />
            <arg value="--reverse-diff" />
        </exec>
    </target>
    
    <target name="revert-via-patch" depends="check-patch-available" if="patch-ok">
        <exec dir="${basedir}" executable="patch" input="${diff-file}" failonerror="true">
            <arg value="--binary" /><!-- To prevent EOL issues which comes when using mixed development platforms (ie Unix and Win) -->
            <arg value="-p0" />
            <arg value="-R" />
        </exec>
    </target>
    
    <target name="revert-patch" depends="revert-via-svn,revert-via-patch"/>

    <target name="build-test" 
        description="Patch and build all sources for use in a test environment. On Windows you need to have patch.exe in the path and patch files must all be in dos format (CR+LF)">
        <subant inheritall="false" target="prepare-to-build-test" failonerror="true">
            <fileset dir="${basedir}/hot-deploy" casesensitive="no">
                <exclude name="disabled/**"/>
                <include name="*/build.xml"/>
            </fileset>
        </subant>
        <!--antcall target="build"/--><!-- you can chain the main target (build in this file) if you don't use build-dev -->
    </target>
    
    <target name="build-qa" 
        description="Patch and build all sources for use in a qa environment. On Windows you need to have patch.exe in the path and patch files must all be in dos format (CR+LF)">
        <subant inheritall="false" target="prepare-to-build-qa" failonerror="true">
            <fileset dir="${basedir}/hot-deploy" casesensitive="no">
                <exclude name="disabled/**"/>
                <include name="*/build.xml"/>
            </fileset>
        </subant>
      <!--antcall target="build"/--><!-- you can chain the main target (build in this file) if you don't use build-dev -->
    </target>

    <target name="build-production" 
        description="Patch and build all sources for use in a live environment. On Windows you need to have patch.exe in the path and patch files must all be in dos format (CR+LF)">
        <subant inheritall="false" target="prepare-to-build-production" failonerror="true">
            <fileset dir="${basedir}/hot-deploy" casesensitive="no">
                <exclude name="disabled/**"/>
                <include name="*/build.xml"/>
            </fileset>
        </subant>
      <!--antcall target="build"/--><!-- you can chain the main target (build in this file) if you don't use build-dev -->
    </target>    
    
    <!-- ================================================================== -->
    <!-- Build Components                                                   -->
    <!-- ================================================================== -->
    
    <target name="build" depends="ofbiz-init">
        <echo message="[build] ========== Start Building (Compile) =========="/>
        <antcall target="build-dev"/>

        <antcall target="build-framework"/>
        <antcall target="build-applications"/>
        <antcall target="build-specialpurpose"/>
        <externalsubant>
            <fileset dir="${basedir}/themes">
                <include name="*/build.xml" />
            </fileset>
        </externalsubant>

        <hotdeployant/>
        <antcall target="clean-svninfo"/>
        <antcall target="clean-gitinfo"/>

        <echo message="[build] ========== Done Building (Compile) =========="/>
    </target>

    <target name="build-framework">
        <iterate target="jar" filelist="framework-builds"/>
    </target>

    <target name="build-applications" if="${applications.present}">
        <iterate target="jar" filelist="application-builds"/>
    </target>

    <target name="build-specialpurpose" if="${specialpurpose.present}">
        <iterate target="jar" filelist="specialpurpose-builds"/>
    </target>

    <macrodef name="hotdeployant">
      <attribute name="target" default=""/>
      <sequential>
        <!-- a check is done, if no build.xml file is present in hot-deploy dir,
            then the build.xml files - if present - in hot-deploy sub-dirs will be used.
            So the previous, simpler, behaviour is kept as long as you don't need
            to build hot-deploy components in a specific order. -->
        <if>
          <available file="hot-deploy/build.xml" property="useHotDeployBuild"/>
          <then>
            <externalsubant target="@{target}">
              <filelist dir="." files="hot-deploy/build.xml"/>
            </externalsubant>
          </then>
          <else>
            <externalsubant target="@{target}">
              <fileset dir="${basedir}/hot-deploy" casesensitive="no">
                <exclude name="disabled/**"/>
                <include name="*/build.xml"/>
              </fileset>
            </externalsubant>
          </else>
        </if>
      </sequential>
    </macrodef>

    <!-- ================================================================== -->
    <!-- Build JavaDocs                                                     -->
    <!-- ================================================================== -->

    <target name="docs-framework">
        <iterate target="docs" filelist="framework-builds"/>
    </target>

    <target name="docs-applications" if="${applications.present}">
        <iterate target="docs" filelist="application-builds"/>
    </target>

    <target name="docs-specialpurpose" if="${specialpurpose.present}">
        <iterate target="docs" filelist="specialpurpose-builds"/>
    </target>

    <target name="docs-all" depends="build,ofbiz-init"><!--description="For committers : Build all javadoc into one tree for easier viewing by the community"  Note: this is now done automatically by Buildbot at the ASF-->

        <echo message="[docs-all] ========== Start Building (JavaDoc) =========="/>

        <mkdir dir="${site.dir}/javadocs"/>

        <path id="local.class.path">
          <fileset dir="${ofbiz.home.dir}/framework/base/lib" includes="*.jar"/>
          <fileset dir="${ofbiz.home.dir}/framework/base/lib/commons" includes="*.jar"/>
          <fileset dir="${ofbiz.home.dir}/framework/base/lib/j2eespecs" includes="*.jar"/>
          <fileset dir="${ofbiz.home.dir}/framework/base/lib/scripting" includes="*.jar"/>
          <fileset dir="${ofbiz.home.dir}/framework/catalina/lib" includes="*.jar"/>
          <fileset dir="${ofbiz.home.dir}/framework/entity/lib" includes="*.jar"/>
          <fileset dir="${ofbiz.home.dir}/framework/geronimo/lib" includes="*.jar"/>
          <fileset dir="${ofbiz.home.dir}/framework/service/lib" includes="*.jar"/>
          <fileset dir="${ofbiz.home.dir}/framework/testtools/lib" includes="*.jar"/>
          <fileset dir="${ofbiz.home.dir}/framework/webapp/lib" includes="*.jar"/>
          <fileset dir="${ofbiz.home.dir}/framework/webapp/build/lib" includes="*.jar"/>
          <fileset dir="${ofbiz.home.dir}/specialpurpose/birt/lib" includes="*.jar"/>
          <fileset dir="${ofbiz.home.dir}/specialpurpose/ebaystore/lib" includes="*.jar"/>
          <fileset dir="${ofbiz.home.dir}/specialpurpose/ldap/lib" includes="*.jar"/>
          <fileset dir="${ofbiz.home.dir}/specialpurpose/pos/lib" includes="*.jar"/>
          <fileset dir="${ofbiz.home.dir}/applications/content/lib" includes="*.jar"/>
          <fileset dir="${ofbiz.home.dir}/applications/product/lib" includes="*.jar"/>
        </path>

        <property name="desc" value="API"/>
        <property name="build.dir" value="${site.dir}"/>

        <default-javadoc/>

        <echo message="[docs-all] ========== Done Building (JavaDocs) =========="/>
   </target>

    <!-- ================================================================== -->
    <!-- Contrib Targets                                                    -->
    <!-- ================================================================== -->

    <target name="copy-contrib">
        <copy todir="${basedir}" overwrite="true" verbose="true">
            <fileset dir="${basedir}/contrib" excludes="contrib/**,**/*.class"/>
        </copy>
    </target>

    <target name="build-contrib" depends="copy-contrib,refresh"/>

    <!-- ================================================================== -->
    <!-- WebSite Targets                                                    -->
    <!-- ================================================================== -->

    <target name="copy-apis">
        <mkdir dir="${site.dir}/api"/>
        <mkdir dir="${site.dir}/api/framework"/>
        <mkdir dir="${site.dir}/api/applications"/>
        <mkdir dir="${site.dir}/api/specialpurpose"/>
        <copy todir="${site.dir}/api/framework">
            <fileset dir="${basedir}/framework" includes="*/build/javadocs/**"/>
        </copy>
        <copy todir="${site.dir}/api/applications">
            <fileset dir="${basedir}/applications" includes="*/build/javadocs/**"/>
        </copy>
        <copy todir="${site.dir}/api/specialpurpose">
            <fileset dir="${basedir}/specialpurpose" includes="*/build/javadocs/**"/>
        </copy>
    </target>

    <target name="copy-dtds"
            description="For committers : Copy all dtds from OFBiz instance to website">
        <mkdir dir="${site.dir}/dtds"/>
        <copy todir="${site.dir}/dtds" flatten="true" overwrite="true">
            <fileset dir="${basedir}" includes="**/*.dtd"/>
            <fileset dir="${basedir}" defaultexcludes="yes"> <!-- all but oagis and external in general -->
                <include name="**/*.xsd"/>
                <exclude name="**/002*.xsd"/>
                <exclude name="**/068*.xsd"/>
                <exclude name="**/161*.xsd"/>
                <exclude name="**/196*.xsd"/>
                <exclude name="**/197*.xsd"/>
            </fileset>
        </copy>
    </target>

    <!-- ================================================================== -->
    <!-- Script Targets                                                     -->
    <!-- ================================================================== -->

    <target name="scriptfix">
        <fixcrlf srcdir="${basedir}" eol="lf" eof="remove" includes="**/*.sh"/>
        <fixcrlf srcdir="${basedir}" eol="crlf" includes="**/*.bat"/>
    </target>

    <!-- ================================================================== -->
    <!-- Start and Stop OFBiz                                                        -->
    <!-- ================================================================== -->

    <target name="start"
            description="Start OFBiz (use -Dportoffset=portNumber to shift all ports with the portNumber value)">
        <java jar="ofbiz.jar" fork="true">
            <jvmarg value="${memory.initial.param}"/>
            <jvmarg value="${memory.max.param}"/>
            <jvmarg value="-server"/>
            <arg value="--start"/>
            <arg value="--portoffset=${portoffset}"/>
        </java>
    </target>
    <target name="start-secure"
            description="Same than start but pre-loading the notsoserial Java agent (from tools/security/notsoserial) to protect OFBiz from the Java deserialization vulnerability">
        <java jar="ofbiz.jar" fork="true">
            <jvmarg value="${memory.initial.param}"/>
            <jvmarg value="${memory.max.param}"/>
            <jvmarg value="-server"/>
            <jvmarg value="-javaagent:${ofbiz.home.dir}/tools/security/notsoserial/notsoserial-1.0-SNAPSHOT.jar"/>
            <jvmarg value="-Dnotsoserial.whitelist=${ofbiz.home.dir}/tools/security/notsoserial/empty.txt"/>
            <jvmarg value="-Dnotsoserial.dryrun=${ofbiz.home.dir}/tools/security/notsoserial/is-deserialized.txt"/>
            <jvmarg value="-Dnotsoserial.trace=${ofbiz.home.dir}/tools/security/notsoserial/deserialize-trace.txt"/>
            <arg value="--start"/>
            <arg value="--portoffset=${portoffset}"/>
        </java>
    </target>
    <target name="start-batch"
            description="Start OFBiz as a separate process. Use -Dportoffset=portNumber to shift all ports with the portNumber value.">
        <java jar="ofbiz.jar" fork="true" spawn="true">
            <jvmarg value="${memory.initial.param}"/>
            <jvmarg value="${memory.max.param}"/>
            <jvmarg value="-server"/>
            <arg value="--start"/>
            <arg value="--portoffset=${portoffset}"/>
        </java>
    </target>
    <target name="start-batch-secure"
        description="Same than start-batch but pre-loading the notsoserial Java agent (from tools/security/notsoserial) to protect OFBiz from the Java deserialization vulnerability">
        <java jar="ofbiz.jar" fork="true" spawn="true">
            <jvmarg value="${memory.initial.param}"/>
            <jvmarg value="${memory.max.param}"/>
            <jvmarg value="-server"/>
            <jvmarg value="-javaagent:${ofbiz.home.dir}/tools/security/notsoserial/notsoserial-1.0-SNAPSHOT.jar"/>
            <jvmarg value="-Dnotsoserial.whitelist=${ofbiz.home.dir}/tools/security/notsoserial/empty.txt"/>
            <jvmarg value="-Dnotsoserial.dryrun=${ofbiz.home.dir}/tools/security/notsoserial/is-deserialized.txt"/>
            <jvmarg value="-Dnotsoserial.trace=${ofbiz.home.dir}/tools/security/notsoserial/deserialize-trace.txt"/>
            <arg value="--start"/>
            <arg value="--portoffset=${portoffset}"/>
        </java>
    </target>
    <target name="start-debug"
            description="Start OFBiz in debugging mode. It uses the 8091 port by default. Use -Dportoffset=portNumber to shift all ports with the portNumber value.">
        <java jar="ofbiz.jar" fork="true">
            <jvmarg value="${memory.initial.param}"/>
            <jvmarg value="${memory.max.param}"/>
            <jvmarg value="-server"/>
            <jvmarg value="-Xnoagent"/>
            <jvmarg value="-Djava.compiler=NONE"/>
            <jvmarg value="-Xdebug"/>
            <jvmarg value="-Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=8091"/>
            <arg value="--start"/>
            <arg value="--portoffset=${portoffset}"/>
        </java>
    </target>
    <target name="start-pos"
            description="Start OFBiz POS (Point of sale). Use -Dportoffset=portNumber to shift all ports with the portNumber value.">
        <java jar="ofbiz.jar" fork="true">
            <jvmarg value="${memory.initial.param}"/>
            <jvmarg value="${memory.max.param}"/>
            <arg value="--pos"/>
            <arg value="--portoffset=${portoffset}"/><!-- Not sure this makes sense and is useful at all -->
        </java>
    </target>
    <target name="start-pos-secure"
        description="Same than start-pos but pre-loading the notsoserial Java agent (from tools/security/notsoserial) to protect OFBiz from the Java deserialization vulnerability">
        <java jar="ofbiz.jar" fork="true">
            <jvmarg value="${memory.initial.param}"/>
            <jvmarg value="${memory.max.param}"/>
            <jvmarg value="-javaagent:${ofbiz.home.dir}/tools/security/notsoserial/notsoserial-1.0-SNAPSHOT.jar"/>
            <jvmarg value="-Dnotsoserial.whitelist=${ofbiz.home.dir}/tools/security/notsoserial/empty.txt"/>
            <jvmarg value="-Dnotsoserial.dryrun=${ofbiz.home.dir}/tools/security/notsoserial/is-deserialized.txt"/>
            <jvmarg value="-Dnotsoserial.trace=${ofbiz.home.dir}/tools/security/notsoserial/deserialize-trace.txt"/>
            <arg value="--pos"/>
            <arg value="--portoffset=${portoffset}"/><!-- Not sure this makes sense and is useful at all -->
        </java>
    </target>
    <target name="start-both"
            description="Start OFBiz in both Web and POS (Point of sale) modes. Use -Dportoffset=portNumber to shift all ports with the portNumber value.">
        <java jar="ofbiz.jar" fork="true">
            <jvmarg value="${memory.initial.param}"/>
            <jvmarg value="${memory.max.param}"/>
            <arg value="--both"/>
            <arg value="--portoffset=${portoffset}"/>
        </java>
    </target>
    <target name="start-both-secure"
        description="Same than start-both but pre-loading the notsoserial Java agent (from tools/security/notsoserial) to protect OFBiz from the Java deserialization vulnerability">
        <java jar="ofbiz.jar" fork="true">
            <jvmarg value="${memory.initial.param}"/>
            <jvmarg value="${memory.max.param}"/>
            <jvmarg value="-javaagent:${ofbiz.home.dir}/tools/security/notsoserial/notsoserial-1.0-SNAPSHOT.jar"/>
            <jvmarg value="-Dnotsoserial.whitelist=${ofbiz.home.dir}/tools/security/notsoserial/empty.txt"/>
            <jvmarg value="-Dnotsoserial.dryrun=${ofbiz.home.dir}/tools/security/notsoserial/is-deserialized.txt"/>
            <jvmarg value="-Dnotsoserial.trace=${ofbiz.home.dir}/tools/security/notsoserial/deserialize-trace.txt"/>
            <arg value="--both"/>
            <arg value="--portoffset=${portoffset}"/>
        </java>
    </target>
    <target name="stop"
            description="Stop OFBiz. Use -Dportoffset=portNumber to shift all ports with the portNumber value.">
        <java jar="ofbiz.jar" fork="true">
            <arg value="--shutdown"/>
            <arg value="--portoffset=${portoffset}"/>
        </java>
    </target>
    <target name="status"
            description="Display status of OFBiz. Use -Dportoffset=portNumber to shift all ports with the portNumber value.">
        <java jar="ofbiz.jar" fork="true">
            <arg value="--status"/>
            <arg value="--portoffset=${portoffset}"/>
        </java>
    </target>

    <!-- ================================================================== -->
    <!-- Setup OFBiz Data                                                   -->
    <!-- ================================================================== -->

    <target name="load-demo" depends="build"
            description="Load all data; meant for generic OFBiz development, testing, demonstration, etc purposes">
        <java jar="ofbiz.jar" fork="true">
            <jvmarg value="${memory.initial.param}"/>
            <jvmarg value="${memory.max.param}"/>
            <arg value="--load-data"/>
        </java>
    </target>
    <target name="load-demo-multitenant" depends="build"
            description="Load all data needed for the multi-tenancy demonstration. Caution: this creates three databases, with each one loaded with all demo data.">
        <java jar="ofbiz.jar" fork="true">
            <jvmarg value="${memory.initial.param}"/>
            <jvmarg value="${memory.max.param}"/>
            <arg value="--load-data"/>
        </java>
        <java jar="ofbiz.jar" fork="true">
            <jvmarg value="${memory.initial.param}"/>
            <jvmarg value="${memory.max.param}"/>
            <arg value="--load-data"/>
            <arg value="delegator=default#DEMO1"/>
        </java>
        <java jar="ofbiz.jar" fork="true">
            <jvmarg value="${memory.initial.param}"/>
            <jvmarg value="${memory.max.param}"/>
            <arg value="--load-data"/>
            <arg value="delegator=default#DEMO2"/>
        </java>
    </target>
    <target name="load-seed" depends="build"
            description="Load ONLY the seed data (not seed-initial, demo, ext* or anything else); meant for use after an update of the code to reload the seed data as it is generally maintained along with the code and needs to be in sync for operation">
        <java jar="ofbiz.jar" fork="true">
            <jvmarg value="${memory.initial.param}"/>
            <jvmarg value="${memory.max.param}"/>
            <arg value="--load-data"/>
            <arg value="readers=seed"/>
        </java>
    </target>
    <target name="load-extseed" depends="build"
            description="Load seed, seed-initial and ext data; meant for manual/generic testing, development, or going into production with a derived system based on stock OFBiz where the ext data basically replaces the demo data">
        <java jar="ofbiz.jar" fork="true">
            <jvmarg value="${memory.initial.param}"/>
            <jvmarg value="${memory.max.param}"/>
            <arg value="--load-data"/>
            <arg value="readers=seed,seed-initial,ext"/>
        </java>
    </target>
    <target name="load-exttest" depends="build"
            description="Load seed, seed-initial, ext and ext-test data; meant for automated testing with a derived system based on stock OFBiz">
        <java jar="ofbiz.jar" fork="true">
            <jvmarg value="${memory.initial.param}"/>
            <jvmarg value="${memory.max.param}"/>
            <arg value="--load-data"/>
            <arg value="readers=seed,seed-initial,ext,ext-test"/>
        </java>
    </target>
    <target name="load-readers" depends="build"
            description='Load data using the command line argument data-readers that takes a comma separated list of readers (seed, seed-initial, demo, ext, ext-test, ext-demo). On Windows XP (at least) you need top wrap the parameters in double-quotes. For instance: ant load-readers "-Ddata-readers=seed,seed-initial,ext"'>
        <java jar="ofbiz.jar" fork="true" >
            <jvmarg value="${memory.initial.param}"/>
            <jvmarg value="${memory.max.param}"/>
            <arg value="--load-data"/>
            <arg value="readers=${data-readers}"/>
        </java>
    </target>
    <target name="load-file" depends="build"
            description="Load data using the command line argument 'data-file' to load data from a given file using the 'default' delegator or a delegator specified in the command line argument 'delegator'">
        <property name="delegator" value="default" />
        <java jar="ofbiz.jar" fork="true">
            <jvmarg value="${memory.initial.param}"/>
            <jvmarg value="${memory.max.param}"/>
            <arg value="--load-data"/>
            <arg value="delegator=${delegator}"/>
            <arg value="--load-data"/>
            <arg value="file=${data-file}"/>
        </java>
    </target>
    <!-- =================================
          target: load-tenant
         ================================= -->
    <target name="load-tenant" depends="build,load-tenant-all,load-tenant-reader,load-tenant-component-all,load-tenant-component-reader"
            description="Load data using tenantId, syntax eg: ant load-tenant -DtenantId=DEMO1 (needs multitenant=Y in general.properties)">
    </target>
    <target name="check-tenant-id">
        <java jar="ofbiz.jar" fork="true">
            <jvmarg value="${memory.initial.param}"/>
            <jvmarg value="${memory.max.param}"/>
            <arg value="--load-data"/>
            <arg value="readers=tenant"/>
        </java>
        <condition property="hasTenant">
            <and>
                <length string="${tenantId}" trim="true" when="greater" length="0"/>
                <not><contains string="${tenantId}" substring="tenantId"/></not>
                <or>
                    <length string="${component}" trim="true" when="equal" length="0"/>
                    <contains string="${component}" substring="component"/>
                </or>
            </and>
        </condition>
        <condition property="hasTenantComponent">
            <and>
                <length string="${tenantId}" trim="true" when="greater" length="0"/>
                <not><contains string="${tenantId}" substring="tenantId"/></not>
                <length string="${component}" trim="true" when="greater" length="0"/>
                <not><contains string="${component}" substring="component"/></not>
            </and>
        </condition>
    </target>
    <target name="check-tenant-reader" depends="check-tenant-id" if="hasTenant">
        <condition property="hasReader">
            <and>
                <length string="${data-readers}" trim="true" when="greater" length="0"/>
                <not><contains string="${data-readers}" substring="data-readers"/></not>
            </and>
        </condition>
        <condition property="noReader">
            <or>
                <length string="${data-readers}" trim="true" when="equal" length="0"/>
                <contains string="${data-readers}" substring="data-readers"/>
            </or>
        </condition>
    </target>
    <target name="load-tenant-all" depends="check-tenant-reader" if="noReader">
        <java jar="ofbiz.jar" fork="true">
            <jvmarg value="${memory.initial.param}"/>
            <jvmarg value="${memory.max.param}"/>
            <arg value="--load-data"/>
            <arg value="delegator=default#${tenantId}"/>
        </java>
    </target>
    <target name="load-tenant-reader" depends="check-tenant-reader" if="hasReader">
        <java jar="ofbiz.jar" fork="true">
            <jvmarg value="${memory.initial.param}"/>
            <jvmarg value="${memory.max.param}"/>
            <arg value="--load-data"/>
            <arg value="delegator=default#${tenantId}"/>
            <arg value="--load-data"/>
            <arg value="readers=${data-readers}"/>
        </java>
    </target>
    <!-- load-tenant-component -->
    <target name="load-tenant-component" if="hasTenantComponent" depends="check-tenant-id">
        <condition property="hasComponentReader">
            <and>
                <length string="${data-readers}" trim="true" when="greater" length="0"/>
                <not><contains string="${data-readers}" substring="data-readers"/></not>
            </and>
        </condition>
        <condition property="noComponentReader">
            <or>
                <length string="${data-readers}" trim="true" when="equal" length="0"/>
                <contains string="${data-readers}" substring="data-readers"/>
            </or>
        </condition>
    </target>
    <target name="load-tenant-component-all" depends="load-tenant-component" if="noComponentReader">
        <java jar="ofbiz.jar" fork="true">
            <jvmarg value="${memory.initial.param}"/>
            <jvmarg value="${memory.max.param}"/>
            <arg value="--load-data"/>
            <arg value="delegator=default#${tenantId}"/>
            <arg value="--load-data"/>
            <arg value="component=${component}"/>
        </java>
    </target>
    <target name="load-tenant-component-reader" depends="load-tenant-component" if="hasComponentReader">
        <java jar="ofbiz.jar" fork="true">
            <jvmarg value="${memory.initial.param}"/>
            <jvmarg value="${memory.max.param}"/>
            <arg value="--load-data"/>
            <arg value="delegator=default#${tenantId}"/>
            <arg value="--load-data"/>
            <arg value="readers=${data-readers}"/>
            <arg value="--load-data"/>
            <arg value="component=${component}"/>
        </java>
    </target>
    <!-- =================================
          target: load-all-tenants
         ================================= -->
    <target name="load-all-tenants" depends="build,load-tenants-all,load-tenants-reader"
           description="Load data for all tenants, syntax eg: ant load-all-tenants (needs multitenant=Y in general.properties)">
    </target>
    <target name="check-tenants-reader">
        <property name="delegator" value="all-tenants"/>
        <java jar="ofbiz.jar" fork="true">
            <jvmarg value="${memory.initial.param}"/>
            <jvmarg value="${memory.max.param}"/>
            <arg value="--load-data"/>
            <arg value="readers=tenant"/>
        </java>
        <condition property="hasReader">
            <and>
                <length string="${data-readers}" trim="true" when="greater" length="0"/>
                <not><contains string="${data-readers}" substring="data-readers"/></not>
            </and>
        </condition>
        <condition property="noReader">
            <or>
                <length string="${data-readers}" trim="true" when="equal" length="0"/>
                <contains string="${data-readers}" substring="data-readers"/>
            </or>
        </condition>
    </target>
    <target name="load-tenants-all" depends="check-tenants-reader" if="noReader">
        <java jar="ofbiz.jar" fork="true">
            <jvmarg value="${memory.initial.param}"/>
            <jvmarg value="${memory.max.param}"/>
            <arg value="--load-data"/>
            <arg value="delegator=${delegator}"/>
        </java>
    </target>
    <target name="load-tenants-reader" depends="check-tenants-reader" if="hasReader">
        <java jar="ofbiz.jar" fork="true">
            <jvmarg value="${memory.initial.param}"/>
            <jvmarg value="${memory.max.param}"/>
            <arg value="--load-data"/>
            <arg value="readers=${data-readers}"/>
            <arg value="--load-data"/>
            <arg value="delegator=${delegator}"/>
        </java>
    </target>
    <!-- =================================
          target: create-tenant
         ================================= -->
    <target name="create-tenant"
        depends="create-tenant-on-Derby,create-tenant-on-MySQL,create-tenant-on-Oracle,create-tenant-on-PostgreSQL"
        description="Create a new tenant in your environment, create the delegator, load initial data with admin-user and password (needs multitenant=Y in general.properties)">
        <tstamp/>
    </target>

    <!-- description="This creates entity Tenant and TenantDataSource in default, installs data in the delegator and creates the admin-user and password for the tenant"
        sub-target of create-tenant, can't used alone => no description, to not clutter "ant -p" -->
    <target name="get-tenant-data">
        <input addproperty="tenantId" message="Enter Id for the tenant: "/>
        <input addproperty="tenantName" message="Enter name for tenant: "/>
        <input addproperty="domainName" message="Enter domain name for tenant (Optional): "/>
        <input addproperty="data-readers" message="Enter data to install.
        Choices are e.g. seed,seed-initial,ext,demo.
        Multipe datasets must be separated with a comma: "/>
        <input addproperty="db-Platform" message="Select your default database platform, D = Derby,M = MySQL, O = Oracle, P = PostgreSQL"
            validargs="D,M,O,P"/>
        <echo message="Please make sure that the driver of the platform is installed and that the databases have been created (in function of the entityengine.xml datasource-names)"/>
        <input addproperty="db-IP" message="Enter IP address of the database server (you may add a port number)"/>
        <input addproperty="db-User" message="Enter userID of database user: "/>
        <input addproperty="db-Password" message="Enter password of database user: "/>
        <condition property="isDerby">
            <equals arg1="${db-Platform}" arg2="D"/>
        </condition>
        <condition property="isMySQL">
            <equals arg1="${db-Platform}" arg2="M"/>
        </condition>
        <condition property="isOracle">
            <equals arg1="${db-Platform}" arg2="O"/>
        </condition>
        <condition property="isPostgreSQL">
            <equals arg1="${db-Platform}" arg2="P"/>
        </condition>
        <antcall target="tenant-data-entry"/>
    </target>
    <!-- description="Creates tenant data and instance"
        sub-target of create-tenant, can't used alone => no description, to not clutter "ant -p" -->
    <target name="create-tenant-on-Derby" depends="get-tenant-data" if="isDerby">
        <echo message="Installing on Derby"/>
        <!-- Below code will handle the case of optional domain name. It will remove the TenantDomainName entry from tmpTenantData.xml file
            if domain name is empty, so that record would not get created. -->
        <copy file="${basedir}/framework/resources/templates/AdminNewTenantData-Derby.xml" tofile="runtime/tmp/tmpTenantData.xml"/>
        <if>
          <equals arg1="${domainName}" arg2="" />
          <then>
            <replace file="runtime/tmp/tmpTenantData.xml">
               <replacetoken><![CDATA[<TenantDomainName tenantId="@tenantId@" domainName="@domainName@" />]]></replacetoken>
               <replacevalue><![CDATA[]]></replacevalue>
            </replace>
          </then>
        </if>
        <copy file="runtime/tmp/tmpTenantData.xml" tofile="runtime/tmp/tmpFilteredTenantData.xml">
            <filterset>
                <filter token="tenantId" value="${tenantId}"/>
                <filter token="tenantName" value="${tenantName}"/>
                <filter token="domainName" value="${domainName}"/>
            </filterset>
        </copy>
        <antcall target="load-file">
            <param name="data-file" value="runtime/tmp/tmpFilteredTenantData.xml"/>
        </antcall>
        <delete file="runtime/tmp/tmpTenantData.xml"/>
        <delete file="runtime/tmp/tmpFilteredTenantData.xml"/>
        <antcall target="load-tenant-data-readers"/>
        <antcall target="load-tenant-admin-user-login">
            <param name="userLoginId" value="${tenantId}-admin"/>
            <param name="delegatorId" value="default#${tenantId}"/>
        </antcall>
    </target>
    <!-- description="Creates tenant data and instance. Don't forget db driver(s) and already created DBs in function of the entityengine.xml datasource-names"
        sub-target of create-tenant, can't used alone => no description, to not clutter "ant -p" -->
    <target name="create-tenant-on-MySQL" depends="get-tenant-data" if="isMySQL">
        <echo message="Installing on MySQL"/>
        <!-- Below code will handle the case of optional domain name. It will remove the TenantDomainName entry from tmpTenantData.xml file
            if domain name is empty, so that record would not get created. -->
        <copy file="${basedir}/framework/resources/templates/AdminNewTenantData-MySQL.xml" tofile="runtime/tmp/tmpTenantData.xml"/>
        <if>
          <equals arg1="${domainName}" arg2="" />
          <then>
            <replace file="runtime/tmp/tmpTenantData.xml">
               <replacetoken><![CDATA[<TenantDomainName tenantId="@tenantId@" domainName="@domainName@" />]]></replacetoken>
               <replacevalue><![CDATA[]]></replacevalue>
            </replace>
          </then>
        </if>
        <copy file="runtime/tmp/tmpTenantData.xml" tofile="runtime/tmp/tmpFilteredTenantData.xml">
            <filterset>
                <filter token="tenantId" value="${tenantId}"/>
                <filter token="tenantName" value="${tenantName}"/>
                <filter token="domainName" value="${domainName}"/>
                <filter token="db-IP" value="${db-IP}"/>
                <filter token="db-User" value="${db-User}"/>
                <filter token="db-Password" value="${db-Password}"/>
            </filterset>
        </copy>
        <antcall target="load-file">
            <param name="data-file" value="runtime/tmp/tmpFilteredTenantData.xml"/>
        </antcall>
        <delete file="runtime/tmp/tmpTenantData.xml"/>
        <delete file="runtime/tmp/tmpFilteredTenantData.xml"/>
        <antcall target="load-tenant-data-readers"/>
        <antcall target="load-tenant-admin-user-login">
            <param name="userLoginId" value="${tenantId}-admin"/>
            <param name="delegatorId" value="default#${tenantId}"/>
        </antcall>
    </target>
    <!-- description="Creates tenant data and instance. Don't forget db driver(s) and already created DBs in function of the entityengine.xml datasource-names"
        sub-target of create-tenant, can't used alone => no description, to not clutter "ant -p" -->
    <target name="create-tenant-on-Oracle" depends="get-tenant-data" if="isOracle">
        <echo message="Installing on Oracle"/>
        <!-- Below code will handle the case of optional domain name. It will remove the TenantDomainName entry from tmpTenantData.xml file
            if domain name is empty, so that record would not get created. -->
        <copy file="${basedir}/framework/resources/templates/AdminNewTenantData-Oracle.xml" tofile="runtime/tmp/tmpTenantData.xml"/>
        <if>
          <equals arg1="${domainName}" arg2="" />
          <then>
            <replace file="runtime/tmp/tmpTenantData.xml">
               <replacetoken><![CDATA[<TenantDomainName tenantId="@tenantId@" domainName="@domainName@" />]]></replacetoken>
               <replacevalue><![CDATA[]]></replacevalue>
            </replace>
          </then>
        </if>
        <copy file="runtime/tmp/tmpTenantData.xml" tofile="runtime/tmp/tmpFilteredTenantData.xml">
            <filterset>
                <filter token="tenantId" value="${tenantId}"/>
                <filter token="tenantName" value="${tenantName}"/>
                <filter token="domainName" value="${domainName}"/>
                <filter token="db-IP" value="${db-IP}"/>
                <filter token="db-User" value="${db-User}"/>
                <filter token="db-Password" value="${db-Password}"/>
            </filterset>
        </copy>
        <antcall target="load-file">
            <param name="data-file" value="runtime/tmp/tmpFilteredTenantData.xml"/>
        </antcall>
        <delete file="runtime/tmp/tmpTenantData.xml"/>
        <delete file="runtime/tmp/tmpFilteredTenantData.xml"/>
        <antcall target="load-tenant-data-readers"/>
        <antcall target="load-tenant-admin-user-login">
            <param name="userLoginId" value="${tenantId}-admin"/>
            <param name="delegatorId" value="default#${tenantId}"/>
        </antcall>
    </target>
    <!-- description="Creates tenant data and instance. Don't forget db driver(s) and already created DBs in function of the entityengine.xml datasource-names"
        sub-target of create-tenant, can't used alone => no description, to not clutter "ant -p" -->
    <target name="create-tenant-on-PostgreSQL" depends="get-tenant-data" if="isPostgreSQL">
        <echo message="Installing on PostgreSQL"/>
        <!-- Below code will handle the case of optional domain name. It will remove the TenantDomainName entry from tmpTenantData.xml file
            if domain name is empty, so that record would not get created. -->
        <copy file="${basedir}/framework/resources/templates/AdminNewTenantData-PostgreSQL.xml" tofile="runtime/tmp/tmpTenantData.xml"/>
        <if>
          <equals arg1="${domainName}" arg2="" />
          <then>
            <replace file="runtime/tmp/tmpTenantData.xml">
               <replacetoken><![CDATA[<TenantDomainName tenantId="@tenantId@" domainName="@domainName@" />]]></replacetoken>
               <replacevalue><![CDATA[]]></replacevalue>
            </replace>
          </then>
        </if>
        <copy file="runtime/tmp/tmpTenantData.xml" tofile="runtime/tmp/tmpFilteredTenantData.xml">
            <filterset>
                <filter token="tenantId" value="${tenantId}"/>
                <filter token="tenantName" value="${tenantName}"/>
                <filter token="domainName" value="${domainName}"/>
                <filter token="db-IP" value="${db-IP}"/>
                <filter token="db-User" value="${db-User}"/>
                <filter token="db-Password" value="${db-Password}"/>
            </filterset>
        </copy>
        <antcall target="load-file">
            <param name="data-file" value="runtime/tmp/tmpFilteredTenantData.xml"/>
        </antcall>
        <delete file="runtime/tmp/tmpTenantData.xml"/>
        <delete file="runtime/tmp/tmpFilteredTenantData.xml"/>
        <antcall target="load-tenant-data-readers"/>
        <antcall target="load-tenant-admin-user-login">
            <param name="userLoginId" value="${tenantId}-admin"/>
            <param name="delegatorId" value="default#${tenantId}"/>
        </antcall>
    </target>
    <!-- description="displays tenant data"  sub-target of get-tenant-data, can't used alone => no description, to not clutter "ant -p" -->
    <target name="tenant-data-entry">
        <echo>------------------------------------</echo>
        <echo message="tenantId = ${tenantId}"/>
        <echo>tenantName = ${tenantName}</echo>
        <echo>domainName = ${domainName}</echo>
        <echo>db-Platform = ${db-Platform}</echo>
        <echo>db-IP = ${db-IP}</echo>
        <echo>db-User = ${db-User}</echo>
        <echo>db-Password = ${db-Password}</echo>
        <echo>------------------------------------</echo>
        <echo>database for tenant data will be 'ofbiz_${tenantId}'</echo>
        <echo>database for tenant olap data will be 'ofbizolap_${tenantId}</echo>
        <echo message="Please make sure that the driver of the platform is installed and that the databases have been created (Check names just above)"/>
        <echo>------------------------------------</echo>
        <input addproperty="continueYN" message="Continue Y or N" validargs="N,n,Y,y"/>

    </target>
    <target name="load-tenant-admin-user-login">
        <echo>------------------------------------</echo>
        <echo message="Installing the admin for the tenant"/>
        <echo message="Delegator = ${delegatorId}"/>
        <echo message="Tenant admin = '${userLoginId}'"/>
        <echo message="Password for tenant admin is 'ofbiz' must change on first login"/>
        <echo>------------------------------------</echo>
        <input addproperty="continueYN" message="Continue Y or N" validargs="N,n,Y,y"/>
        <copy file="${basedir}/framework/resources/templates/AdminUserLoginData.xml" tofile="runtime/tmp/tmpUserLogin.xml">
            <filterset>
                <filter token="userLoginId" value="${userLoginId}"/>
            </filterset>
        </copy>
        <antcall target="load-file">
            <param name="data-file" value="runtime/tmp/tmpUserLogin.xml"/>
            <param name="delegator" value="${delegatorId}"/>
        </antcall>
        <delete file="runtime/tmp/tmpUserLogin.xml"/>
    </target>
    <target name="load-tenant-data-readers"
        description="Load data of given data-readers in the tenant database. Example: ./ant load-tenant-data-readers -Ddata-readers=seed,seed-initial -DtenantId=demo">
        <echo>------------------------------------</echo>
        <echo message="Loading selected data-readers in tenant database"/>
        <echo message="Delegator = default#${tenantId}"/>
        <echo message="Data-readers = ${data-readers}"/>
        <echo>------------------------------------</echo>
        <java jar="ofbiz.jar" fork="true">
            <jvmarg value="${memory.initial.param}"/>
            <jvmarg value="${memory.max.param}"/>
            <arg value="--load-data"/>
            <arg value="readers=${data-readers}"/>
            <arg value="--load-data"/>
            <arg value="delegator=default#${tenantId}"/>
        </java>
    </target>
    <target name="load-admin-user-login"
            description="Create a user login with admin privileges and a temporary password equal to 'ofbiz'; after a successful login the user will be prompted for a new password. Example command for the userLogin 'admin': ./ant load-admin-user-login -DuserLoginId=admin">
        <fail message="userLoginId parameter is required. To add the parameter to the command for user admin: -DuserLoginId=admin">
            <condition>
                <not><isset property="userLoginId"/></not>
            </condition>
        </fail>
        <copy file="${basedir}/framework/resources/templates/AdminUserLoginData.xml" tofile="runtime/tmp/tmpUserLogin.xml">
            <filterset>
                <filter token="userLoginId" value="${userLoginId}"/>
            </filterset>
        </copy>
        <antcall target="load-file">
            <param name="data-file" value="runtime/tmp/tmpUserLogin.xml"/>
        </antcall>
        <delete file="runtime/tmp/tmpUserLogin.xml"/>
    </target>
    <target name="create-admin-user-login"
            description="Prompt for a user name, then create a user login with admin privileges and a temporary password equal to 'ofbiz'. After a successful login the user will be prompted for a new password. Note: this uses load-admin-user-login target">
        <input addproperty="userLoginId" message="Enter user name (log in with the temporary password 'ofbiz'):"/>
        <antcall target="load-admin-user-login"/>
    </target>

    <target name="run-tests"
        description="Run OFBiz default tests; you have to manually execute 'ant load-demo' before (and if needed even clear your data before) and see results in runtime/logs/test-results/html/all-tests.html. Use -Dportoffset=portNumber to shift all ports with the portNumber value.">
        <java jar="ofbiz.jar" fork="true" resultproperty="test.result">
            <jvmarg value="${memory.initial.param}"/>
            <jvmarg value="${memory.max.param}"/>
            <arg value="--test"/>
            <arg value="--portoffset=${portoffset}"/>
            <env key="LC_ALL" value="C"/>
        </java>
        <mkdir dir="runtime/logs/test-results/html"/>
        <junitreport todir="runtime/logs/test-results">
            <fileset dir="runtime/logs/test-results/">
                <include name="*.xml"/>
            </fileset>
            <report format="frames" todir="runtime/logs/test-results/html"/>
        </junitreport>
        <fail message="Test run was unsuccessful">
            <condition>
                <not>
                    <equals arg1="${test.result}" arg2="0"/>
                </not>
            </condition>
        </fail>
    </target>

    <target name="_check-separated-tests-already-setup">
        <available file="runtime/test-list-build.xml" property="_separated-tests-already-setup"/>
    </target>
    <target name="_setup-separated-test-run" depends="_check-separated-tests-already-setup" unless="_separated-tests-already-setup">
        <java jar="ofbiz.jar" fork="true">
            <jvmarg value="${memory.initial.param}"/>
            <jvmarg value="${memory.max.param}"/>
            <arg value="--testlist"/>
            <arg value="file=runtime/test-list-build.xml"/>
            <arg value="--testlist"/>
            <arg value="mode=ant"/>
            <env key="LC_ALL" value="C"/>
        </java>
    </target>
    <target name="run-test"
          description="Run a single test, syntax eg: ant run-test -Dtest.component=service -Dtest.case=service-soap-tests">
        <fail unless="test.component">test.component is a required parameter: -Dtest.component=componentname</fail>
        <fail unless="test.case">test.case is a required parameter: -Dtest.case=testcasename</fail>
        <java jar="ofbiz.jar" fork="true" resultproperty="test.result">
            <jvmarg value="${memory.initial.param}"/>
            <jvmarg value="${memory.max.param}"/>
            <jvmarg value="-server"/>
            <arg value="--test"/>
            <arg value="component=${test.component}"/>
            <arg value="--test"/>
            <arg value="case=${test.case}"/>
            <env key="LC_ALL" value="C"/>
        </java>
        <delete dir="runtime/logs/test-results/${test.component}-${test.case}"/>
        <mkdir dir="runtime/logs/test-results/${test.component}-${test.case}"/>
        <move todir="runtime/logs/test-results/${test.component}-${test.case}">
            <fileset dir="runtime/logs/test-results" includes="*.xml"/>
        </move>
        <fail message="Test run was unsuccessful">
            <condition>
                <not>
                    <equals arg1="${test.result}" arg2="0"/>
                </not>
            </condition>
        </fail>
    </target>
    <target name="run-test-debug"
            description="Run a single test in debug mode, syntax eg: ant run-test-debug -Dtest.component=service -Dtest.case=service-soap-tests">
      <fail unless="test.component">test.component is a required parameter: -Dtest.component=componentname</fail>
      <fail unless="test.case">test.case is a required parameter: -Dtest.case=testcasename</fail>
      <java jar="ofbiz.jar" fork="true" resultproperty="test.result">
        <jvmarg value="${memory.initial.param}"/>
        <jvmarg value="${memory.max.param}"/>
        <jvmarg value="-Xnoagent"/>
        <jvmarg value="-Djava.compiler=NONE"/>
        <jvmarg value="-Xdebug"/>
        <jvmarg value="-Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8091"/>
        <arg value="--test"/>
        <arg value="component=${test.component}"/>
        <arg value="--test"/>
        <arg value="case=${test.case}"/>
        <env key="LC_ALL" value="C"/>
      </java>
      <delete dir="runtime/logs/test-results/${test.component}-${test.case}"/>
      <mkdir dir="runtime/logs/test-results/${test.component}-${test.case}"/>
      <move todir="runtime/logs/test-results/${test.component}-${test.case}">
        <fileset dir="runtime/logs/test-results" includes="*.xml"/>
      </move>
      <fail message="Test run was unsuccessful">
        <condition>
          <not>
            <equals arg1="${test.result}" arg2="0"/>
          </not>
        </condition>
      </fail>
    </target>
    <target name="run-test-suite"
            description="Run a single test suite, syntax eg: ant run-test-suite -Dtest.component=mycomponent -Dtest.suiteName=mytests">
        <fail unless="test.component">test.component is a required parameter: -Dtest.component=componentname</fail>
        <fail unless="test.suiteName">test.suiteName is a required parameter: -Dtest.suiteName=testsuitename</fail>
        <java jar="ofbiz.jar" fork="true" resultproperty="test.result">
            <jvmarg value="${memory.initial.param}"/>
            <jvmarg value="${memory.max.param}"/>
            <arg value="--test"/>
            <arg value="component=${test.component}"/>
            <arg value="--test"/>
            <arg value="suitename=${test.suiteName}"/>
            <env key="LC_ALL" value="C"/>
        </java>
        <fail message="Test run was unsuccessful">
            <condition>
                <not>
                    <equals arg1="${test.result}" arg2="0"/>
                </not>
            </condition>
        </fail>
    </target>
    <target name="run-test-list" depends="_setup-separated-test-run"
            description="Run all configured tests, stopping/starting ofbiz between each test">
        <delete dir="runtime/logs/test-results"/>
        <ant antfile="runtime/test-list-build.xml" target="all-tests"/>
    </target>

    <!-- ================================================================== -->
    <!--    Ivy targets, more info at  http://ant.apache.org/ivy/  -->
    <!-- ================================================================== -->
    <target name="clean-ivy" description="Clean Ivy local cache">
        <ivy:cleancache/>
    </target>

    <target name="download-activemq" description="Download activemq for DCC (Distributed Cache Clearing">
        <ivy:retrieve pattern="framework/base/lib/[artifact]-[revision].[ext]" conf="activemq"/>
        <echo> </echo>        
        <echo>======================================================</echo>        
        <echo>Please check that this version is appropriate for you!</echo>
    </target>

    <target name="download-PG-JDBC" description="Download postgres jdbc driver">        
        <ivy:retrieve pattern="framework/entity/lib/jdbc/[artifact]-[revision].[ext]" conf="postgres"/>
        <echo> </echo>        
        <echo>======================================================</echo>        
        <echo>Please check that this version is appropriate for you!</echo>        
    </target>

    <target name="download-mySQL-JDBC" description="Download mySQL jdbc driver">
        <ivy:retrieve pattern="framework/entity/lib/jdbc/[artifact]-[revision].[ext]" conf="mysql"/>
        <echo> </echo>        
        <echo>======================================================</echo>        
        <echo>Please check that this version is appropriate for you!</echo>
    </target>

    <!-- ================================================================== -->
    <!-- Create New Component. This target will create basic directory structure for an OFBiz component in hot-deploy directory. -->
    <!-- ================================================================== -->

    <target name="create-component"
            description="Create the layout of an OFBiz component in the hot-deploy folder.">
        <input addproperty="component-name" message="Component name: (e.g. mycomponent) [Mandatory]"/>
        <input addproperty="component-resource-name" message="Component resource name: (e.g. MyComponent) [Mandatory]"/>
        <input addproperty="webapp-name" message="Webapp name: (e.g. mycomponent) [Mandatory]"/>
        <input addproperty="base-permission" message="Base permission: (e.g. MYCOMPONENT) [Mandatory]"/>
        <echo>The following hot-deploy component will be created:
              Name: ${component-name}
              Resource Name: ${component-resource-name}
              Webapp Name: ${webapp-name}
              Base permission: ${base-permission}
              Folder: ${basedir}/hot-deploy/${component-name}
        </echo>
        <input addproperty="confirm-component-creation" message="Confirm: " defaultvalue="N" validargs="Y,N,y,n"/>
        <fail message="Component creation cancelled by the user.">
            <condition>
                <equals arg1="${confirm-component-creation}" arg2="N" casesensitive="false"/>
            </condition>
        </fail>
        <fail message="Component name is mandatory">
            <condition>
                <equals arg1="${component-name}" arg2="" casesensitive="false" trim="yes"/>
            </condition>
        </fail>
      <fail message="Resource name is mandatory">
            <condition>
                <equals arg1="${component-resource-name}" arg2="" casesensitive="false" trim="yes"/>
            </condition>
        </fail>
        <fail message="Webapp name is mandatory">
            <condition>
                <equals arg1="${webapp-name}" arg2="" casesensitive="false" trim="yes"/>
            </condition>
        </fail>
        <fail message="Base permission is mandatory">
            <condition>
                <equals arg1="${base-permission}" arg2="" casesensitive="false" trim="yes"/>
            </condition>
        </fail>
      <filterset id="replacePlaceholders">
            <filter token="component-name" value="${component-name}"/>
            <filter token="component-resource-name" value="${component-resource-name}"/>
            <filter token="base-permission" value="${base-permission}"/>
            <filter token="webapp-name" value="${webapp-name}"/>
        </filterset>
        <mkdir dir="${basedir}/hot-deploy/${component-name}"/>
        <mkdir dir="${basedir}/hot-deploy/${component-name}/config"/>
        <mkdir dir="${basedir}/hot-deploy/${component-name}/data"/>
        <mkdir dir="${basedir}/hot-deploy/${component-name}/data/helpdata"/>
        <mkdir dir="${basedir}/hot-deploy/${component-name}/dtd"/>
        <mkdir dir="${basedir}/hot-deploy/${component-name}/documents"/>
        <mkdir dir="${basedir}/hot-deploy/${component-name}/entitydef"/>
        <mkdir dir="${basedir}/hot-deploy/${component-name}/lib"/>
        <mkdir dir="${basedir}/hot-deploy/${component-name}/patches"/>
        <mkdir dir="${basedir}/hot-deploy/${component-name}/patches/test"/>
        <mkdir dir="${basedir}/hot-deploy/${component-name}/patches/qa"/>
        <mkdir dir="${basedir}/hot-deploy/${component-name}/patches/production"/>
        <mkdir dir="${basedir}/hot-deploy/${component-name}/script"/>
        <mkdir dir="${basedir}/hot-deploy/${component-name}/servicedef"/>
        <mkdir dir="${basedir}/hot-deploy/${component-name}/src"/>
        <mkdir dir="${basedir}/hot-deploy/${component-name}/testdef"/>
        <mkdir dir="${basedir}/hot-deploy/${component-name}/webapp"/>
        <mkdir dir="${basedir}/hot-deploy/${component-name}/webapp/${webapp-name}"/>
        <mkdir dir="${basedir}/hot-deploy/${component-name}/webapp/${webapp-name}/error"/>
        <mkdir dir="${basedir}/hot-deploy/${component-name}/webapp/${webapp-name}/WEB-INF"/>
        <mkdir dir="${basedir}/hot-deploy/${component-name}/webapp/${webapp-name}/WEB-INF/actions"/>
        <mkdir dir="${basedir}/hot-deploy/${component-name}/widget/"/>
        <copy file="${basedir}/framework/resources/templates/ofbiz-component.xml" tofile="${basedir}/hot-deploy/${component-name}/ofbiz-component.xml" encoding="utf-8">
            <filterset refid="replacePlaceholders"/>
        </copy>
        <copy file="${basedir}/framework/resources/templates/build.xml" tofile="${basedir}/hot-deploy/${component-name}/build.xml" encoding="utf-8">
            <filterset refid="replacePlaceholders"/>
        </copy>
        <copy file="${basedir}/framework/resources/templates/TypeData.xml" tofile="${basedir}/hot-deploy/${component-name}/data/${component-resource-name}TypeData.xml" encoding="utf-8">
            <filterset refid="replacePlaceholders"/>
        </copy>
        <copy file="${basedir}/framework/resources/templates/SecurityPermissionSeedData.xml" tofile="${basedir}/hot-deploy/${component-name}/data/${component-resource-name}SecurityPermissionSeedData.xml" encoding="utf-8">
            <filterset refid="replacePlaceholders"/>
        </copy>
        <copy file="${basedir}/framework/resources/templates/SecurityGroupDemoData.xml" tofile="${basedir}/hot-deploy/${component-name}/data/${component-resource-name}SecurityGroupDemoData.xml" encoding="utf-8">
            <filterset refid="replacePlaceholders"/>
        </copy>
        <copy file="${basedir}/framework/resources/templates/DemoData.xml" tofile="${basedir}/hot-deploy/${component-name}/data/${component-resource-name}DemoData.xml" encoding="utf-8">
            <filterset refid="replacePlaceholders"/>
        </copy>
        <copy file="${basedir}/framework/resources/templates/HELP.xml" tofile="${basedir}/hot-deploy/${component-name}/data/helpdata/HELP_${component-resource-name}.xml" encoding="utf-8">
            <filterset refid="replacePlaceholders"/>
        </copy>
        <copy file="${basedir}/framework/resources/templates/document.xml" tofile="${basedir}/hot-deploy/${component-name}/documents/${component-resource-name}.xml" encoding="utf-8">
            <filterset refid="replacePlaceholders"/>
        </copy>
        <copy file="${basedir}/framework/resources/templates/entitymodel.xml" tofile="${basedir}/hot-deploy/${component-name}/entitydef/entitymodel.xml" encoding="utf-8">
            <filterset refid="replacePlaceholders"/>
        </copy>
        <copy file="${basedir}/framework/resources/templates/services.xml" tofile="${basedir}/hot-deploy/${component-name}/servicedef/services.xml" encoding="utf-8">
            <filterset refid="replacePlaceholders"/>
        </copy>
        <copy file="${basedir}/framework/resources/templates/Tests.xml" tofile="${basedir}/hot-deploy/${component-name}/testdef/${component-resource-name}Tests.xml" encoding="utf-8">
            <filterset refid="replacePlaceholders"/>
        </copy>
        <copy file="${basedir}/framework/resources/templates/UiLabels.xml" tofile="${basedir}/hot-deploy/${component-name}/config/${component-resource-name}UiLabels.xml" encoding="utf-8">
            <filterset refid="replacePlaceholders"/>
        </copy>
        <copy file="${basedir}/framework/resources/templates/index.jsp" tofile="${basedir}/hot-deploy/${component-name}/webapp/${webapp-name}/index.jsp" encoding="iso-8859-1">
            <filterset refid="replacePlaceholders"/>
        </copy>
        <copy file="${basedir}/framework/resources/templates/error.jsp" tofile="${basedir}/hot-deploy/${component-name}/webapp/${webapp-name}/error/error.jsp" encoding="iso-8859-1">
            <filterset refid="replacePlaceholders"/>
        </copy>
        <copy file="${basedir}/framework/resources/templates/controller.xml" tofile="${basedir}/hot-deploy/${component-name}/webapp/${webapp-name}/WEB-INF/controller.xml" encoding="utf-8">
            <filterset refid="replacePlaceholders"/>
        </copy>
        <copy file="${basedir}/framework/resources/templates/web.xml" tofile="${basedir}/hot-deploy/${component-name}/webapp/${webapp-name}/WEB-INF/web.xml" encoding="utf-8">
            <filterset refid="replacePlaceholders"/>
        </copy>
        <copy file="${basedir}/framework/resources/templates/CommonScreens.xml" tofile="${basedir}/hot-deploy/${component-name}/widget/CommonScreens.xml" encoding="utf-8">
            <filterset refid="replacePlaceholders"/>
        </copy>
        <copy file="${basedir}/framework/resources/templates/Screens.xml" tofile="${basedir}/hot-deploy/${component-name}/widget/${component-resource-name}Screens.xml" encoding="utf-8">
            <filterset refid="replacePlaceholders"/>
        </copy>
        <copy file="${basedir}/framework/resources/templates/Menus.xml" tofile="${basedir}/hot-deploy/${component-name}/widget/${component-resource-name}Menus.xml" encoding="utf-8">
            <filterset refid="replacePlaceholders"/>
        </copy>
        <copy file="${basedir}/framework/resources/templates/Forms.xml" tofile="${basedir}/hot-deploy/${component-name}/widget/${component-resource-name}Forms.xml" encoding="utf-8">
            <filterset refid="replacePlaceholders"/>
        </copy>
        <echo>Component successfully created in folder ${basedir}/hot-deploy/${component-name}.
            Restart OFBiz and then visit the URL: https://localhost:8443/${webapp-name}
        </echo>
    </target>

    <!-- ================================================================== -->
    <!-- kek helper                                                         -->
    <!-- ================================================================== -->

    <target name="gen-kek"
            description="Generate a new key-encrypting-key for use in entityengine.xml">
        <java classname="org.ofbiz.base.crypto.Main" fork="false">
            <arg value="-kek"/>
            <classpath>
                <path location="framework/base/build/lib/ofbiz-base.jar"/>
                <path location="framework/base/lib/commons/commons-codec-1.10.jar"/>
                <path location="framework/base/lib/shiro-core-1.2.5.jar"/>
                <path location="framework/base/lib/slf4j-api-1.6.4.jar"/>
            </classpath>
        </java>
    </target>

    <!-- ================================================================== -->
    <!-- Old tasks.                                                         -->
    <!-- ================================================================== -->
    <target name="run">
        <echo message="The 'run' command has been renamed 'start'; please use 'ant start' to start OFBiz."/>
    </target>
    <target name="run-debug">
        <echo message="The 'run-debug' command has been renamed 'start-debug'; please use 'ant start-debug' to start OFBiz in debug mode."/>
    </target>
    <target name="run-pos">
        <echo message="The 'run-pos' command has been renamed 'start-pos'; please use 'ant start-pos' to start the OFBiz POS."/>
    </target>
    <target name="run-install">
        <echo message="The 'run-install' command has been renamed 'load-demo'; please use 'ant load-demo' to load seed and demo data."/>
    </target>
    <target name="run-install-multitenant">
        <echo message="The 'run-install-multitenant' command has been renamed 'load-demo-multitenant'; please use 'ant load-demo-multitenant' to load seed and demo data for multi-tenancy."/>
    </target>
    <target name="run-install-seed">
        <echo message="The 'run-install-seed' command has been renamed 'load-seed'; please use 'ant load-seed' to load seed data."/>
    </target>
    <target name="run-install-extseed">
        <echo message="The 'run-install-extseed' command has been renamed 'load-extseed'; please use 'ant load-extseed' to load seed, seed-initial and ext data."/>
    </target>
    <target name="run-install-exttest">
        <echo message="The 'run-install-exttest' command has been renamed 'load-exttest'; please use 'ant load-exttest' to load seed, seed-initial, ext and ext-test data."/>
    </target>
    <target name="run-install-readers">
        <echo message="The 'run-install-readers' command has been renamed 'load-readers'; please use 'ant load-readers' to load data using the command line argument data-readers."/>
    </target>
    <target name="run-install-file">
        <echo message="The 'run-install-file' command has been renamed 'load-file'; please use 'ant load-file' to load data from a given file."/>
    </target>
    <target name="run-install-file-in-delegator">
        <echo message="The 'run-install-file-in-delegator' command has been renamed 'load-file'; please use 'ant load-file' to load data from a given file."/>
    </target>
</project>
