<?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"
    xmlns:sonar="antlib:org.sonar.ant:sonar">

    <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="pos.memory.max.param" value="-Xmx512M"/>
    <property name="memory.maxpermsize.param" value="-XX:MaxPermSize=512m"/>

    <available file="applications/build.xml" property="applications.present"/>
    <available file="specialpurpose/build.xml" property="specialpurpose.present"/>

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

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

    <target name="ivy-init">
        <taskdef resource="org/apache/ivy/ant/antlib.xml"
            uri="antlib:org.apache.ivy.ant">
            <classpath>
                <pathelement location="framework/base/lib/ivy-2.2.0.jar" />
            </classpath>
        </taskdef>
    </target>
    <target name="sonar-init">
        <taskdef uri="antlib:org.sonar.ant:sonar" resource="org/sonar/ant/antlib.xml">
            <classpath>
                <pathelement location="framework/base/lib/sonar-ant-task-1.3.jar" />
            </classpath>
        </taskdef>
    </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-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-lucene-index"/>
        <!-- FIXME: clean-downloads introduces some issues: with cobertura (on Windows can't be deleted, not sure why), 
                    but especially with postgresql drivers -->
        <!-- antcall target="clean-downloads"/ -->   
        <antcall target="clean"/>
    </target>

    <target name="clean-downloads"
          description="Clean all downloaded files">
        <delete>
            <fileset dir="framework/base/lib" includes="cobertura-*.jar"/>
            <fileset dir="framework/base/lib" includes="sonar-*.jar"/>
            <fileset dir="framework/entity/lib/jdbc" includes="postgresql-*.jar"/>
        </delete>
    </target>
    <target name="clean-data"
          description="Clean all DB data (Derby) under runtime/data">
        <subant target="clean-data">
            <filelist dir="." files="framework/build.xml"/>
        </subant>
        <delete file="runtime/data.zip"/>
        <delete file="runtime/test-list-build.xml"/>
    </target>

    <target name="clean-logs"
          description="Clean all logs in runtime/logs">
        <subant target="clean-logs">
            <filelist dir="." files="framework/build.xml"/>
        </subant>
    </target>

    <target name="clean-output"
          description="Clean runtime/output directory">
        <subant target="clean-output">
            <filelist dir="." files="framework/build.xml"/>
        </subant>
    </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">
        <subant target="clean-catalina">
            <filelist dir="." files="framework/build.xml"/>
        </subant>
    </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...)">
        <subant target="clean-tempfiles">
            <filelist dir="." files="framework/build.xml"/>
        </subant>
    </target>

    <target name="clean-lucene-index"
          description="Remove lucene indexes created in applications/content/index">
        <subant target="clean-lucene-index">
            <filelist dir="." files="applications/content/build.xml"/>
        </subant>
    </target>

    <target name="download-selenium"
          description="Download the selenium server v1.0.3 20.8 MB download">
        <subant target="install-seleniumxml">
            <filelist dir="." files="framework/testtools/build.xml"/>
        </subant>
    </target>

    <target name="tests" depends="ofbiz-init">
        <subant target="tests">
            <filelist dir="." files="framework/build.xml"/>
        </subant>
    </target>

    <target name="clean">
        <subant target="clean">
            <fileset dir="${basedir}/hot-deploy" casesensitive="no">
                <include name="*/build.xml"/>
            </fileset>
        </subant>

        <subant target="clean"  failonerror="${specialpurpose.present}"
          description="Use failonerror=false in case the specialpurpose directory is not there">
            <filelist dir="." files="specialpurpose/build.xml"/>
        </subant>
        <subant target="clean" failonerror="${applications.present}"
          description="Use failonerror=false in case the applications directory is not there">
            <filelist dir="." files="applications/build.xml"/>
        </subant>
        <subant target="clean">
            <filelist dir="." files="framework/build.xml"/>
        </subant>
        <delete file="ofbiz.jar"/>
        <echo message="[clean] ========== Done Cleaning =========="/>
    </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}"/>
        <echo message=" - Release-revision : ${releasePath}-${info.entry.commit(revision)}" 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>

    <!-- ================================================================== -->
    <!-- Build Components                                                   -->
    <!-- ================================================================== -->

    <target name="build" depends="ofbiz-init">
        <echo message="[build] ========== Start Building (Compile) =========="/>

        <subant inheritall="false">
            <filelist dir="." files="framework/build.xml"/>
        </subant>
        <subant inheritall="false" failonerror="${applications.present}">
            <filelist dir="." files="applications/build.xml"/>
        </subant>
        <subant inheritall="false" failonerror="${specialpurpose.present}">
            <filelist dir="." files="specialpurpose/build.xml"/>
        </subant>

        <!-- 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>
            <subant inheritall="false">
              <filelist dir="." files="hot-deploy/build.xml"/>
            </subant>
          </then>
          <else>
            <subant inheritall="false">
              <fileset dir="${basedir}/hot-deploy" casesensitive="no">
                <exclude name="disabled/**"/>
                <include name="*/build.xml"/>
              </fileset>
            </subant>
          </else>
        </if>
        <antcall target="clean-svninfo"/>

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

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

    <target name="docs" depends="ofbiz-init">
        <echo message="[docs] ========== Start Building (JavaDoc) =========="/>

        <subant target="docs">
            <filelist dir="." files="framework/build.xml"/>
        </subant>
        <subant target="docs" failonerror="${applications.present}">
            <filelist dir="." files="applications/build.xml"/>
        </subant>
        <subant target="docs" failonerror="${specialpurpose.present}">
            <filelist dir="." files="specialpurpose/build.xml"/>
        </subant>
        <subant target="docs">
            <fileset dir="${basedir}/hot-deploy" casesensitive="no">
                <include name="*/build.xml"/>
            </fileset>
        </subant>

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

    <target name="docs-all" depends="build,ofbiz-init"
            description="For committers : Build all javadoc into one tree for easier viewing by the community">

        <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/birt/lib" 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/jetty/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/ebaystore/lib" includes="*.jar"/>
          <fileset dir="${ofbiz.home.dir}/specialpurpose/googlecheckout/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="build-website"
            description="For committers : Update dtds from OFBiz instance to site">
        <antcall target="copy-dtds"/>
        <!-- now deprecated since Builbot creates and updates those automatically 
        <antcall target="docs"/>
        <antcall target="copy-apis"/-->
    </target>

    <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">
        <java jar="ofbiz.jar" fork="true">
            <jvmarg value="${memory.initial.param}"/>
            <jvmarg value="${memory.max.param}"/>
            <jvmarg value="${memory.maxpermsize.param}"/>
        </java>
    </target>
    <target name="start-batch"
            description="Start OFBiz as a separate process">
        <java jar="ofbiz.jar" fork="true" spawn="true">
            <jvmarg value="${memory.initial.param}"/>
            <jvmarg value="${memory.max.param}"/>
            <jvmarg value="${memory.maxpermsize.param}"/>
        </java>
    </target>
    <target name="start-debug"
            description="Start OFBiz in debugging mode">
        <java jar="ofbiz.jar" fork="true">
            <jvmarg value="${memory.initial.param}"/>
            <jvmarg value="${memory.max.param}"/>
            <jvmarg value="${memory.maxpermsize.param}"/>
            <jvmarg value="-Xnoagent"/>
            <jvmarg value="-Djava.compiler=NONE"/>
            <jvmarg value="-Xdebug"/>
            <jvmarg value="-Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=8091"/>
        </java>
    </target>
    <target name="start-pos"
            description="Start OFBiz POS (Point of sale)">
        <java jar="ofbiz.jar" fork="true">
            <jvmarg value="${memory.initial.param}"/>
            <jvmarg value="${memory.max.param}"/>
            <jvmarg value="${memory.maxpermsize.param}"/>
            <arg value="pos"/>
        </java>
    </target>
    <target name="stop"
            description="Stop OFBiz">
        <java jar="ofbiz.jar" fork="true">
            <arg value="-shutdown"/>
        </java>
    </target>
    <target name="status"
            description="Display status of OFBiz">
        <java jar="ofbiz.jar" fork="true">
            <arg value="-status"/>
        </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}"/>
            <jvmarg value="${memory.maxpermsize.param}"/>
            <arg value="install"/>
        </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}"/>
            <jvmarg value="${memory.maxpermsize.param}"/>
            <arg value="install"/>
        </java>
        <java jar="ofbiz.jar" fork="true">
            <jvmarg value="${memory.initial.param}"/>
            <jvmarg value="${memory.max.param}"/>
            <jvmarg value="${memory.maxpermsize.param}"/>
            <arg value="install"/>
            <arg value="delegator=default#DEMO1"/>
        </java>
        <java jar="ofbiz.jar" fork="true">
            <jvmarg value="${memory.initial.param}"/>
            <jvmarg value="${memory.max.param}"/>
            <jvmarg value="${memory.maxpermsize.param}"/>
            <arg value="install"/>
            <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}"/>
            <jvmarg value="${memory.maxpermsize.param}"/>
            <arg value="install"/>
            <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}"/>
            <jvmarg value="${memory.maxpermsize.param}"/>
            <arg value="install"/>
            <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}"/>
            <jvmarg value="${memory.maxpermsize.param}"/>
            <arg value="install"/>
            <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}"/>
            <jvmarg value="${memory.maxpermsize.param}"/>
            <arg value="install"/>
            <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}"/>
            <jvmarg value="${memory.maxpermsize.param}"/>
            <arg value="install"/>
            <arg value="delegator=${delegator}"/>
            <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}"/>
            <jvmarg value="${memory.maxpermsize.param}"/>
            <arg value="install"/>
            <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}"/>
            <jvmarg value="${memory.maxpermsize.param}"/>
            <arg value="install"/>
            <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}"/>
            <jvmarg value="${memory.maxpermsize.param}"/>
            <arg value="install"/>
            <arg value="delegator=default#${tenantId}"/>
            <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}"/>
            <jvmarg value="${memory.maxpermsize.param}"/>
            <arg value="install"/>
            <arg value="delegator=default#${tenantId}"/>
            <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}"/>
            <jvmarg value="${memory.maxpermsize.param}"/>
            <arg value="install"/>
            <arg value="delegator=default#${tenantId}"/>
            <arg value="readers=${data-readers}"/>
            <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}"/>
            <jvmarg value="${memory.maxpermsize.param}"/>
            <arg value="install"/>
            <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}"/>
            <jvmarg value="${memory.maxpermsize.param}"/>
            <arg value="install"/>
            <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}"/>
            <jvmarg value="${memory.maxpermsize.param}"/>
            <arg value="install"/>
            <arg value="readers=${data-readers}"/>
            <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="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"/>
        <copy file="${basedir}/framework/resources/templates/AdminNewTenantData-Derby.xml" tofile="runtime/tmp/tmpTenantData.xml">
            <filterset>
                <filter token="tenantId" value="${tenantId}"/>
                <filter token="tenantName" value="${tenantName}"/>
            </filterset>
        </copy>
        <antcall target="load-file">
            <param name="data-file" value="runtime/tmp/tmpTenantData.xml"/>
        </antcall>
        <delete file="runtime/tmp/tmpTenantData.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"/>
        <copy file="${basedir}/framework/resources/templates/AdminNewTenantData-MySQL.xml" tofile="runtime/tmp/tmpTenantData.xml">
            <filterset>
                <filter token="tenantId" value="${tenantId}"/>
                <filter token="tenantName" value="${tenantName}"/>
                <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/tmpTenantData.xml"/>
        </antcall>
        <delete file="runtime/tmp/tmpTenantData.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"/>
        <copy file="${basedir}/framework/resources/templates/AdminNewTenantData-Oracle.xml" tofile="runtime/tmp/tmpTenantData.xml">
            <filterset>
                <filter token="tenantId" value="${tenantId}"/>
                <filter token="tenantName" value="${tenantName}"/>
                <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/tmpTenantData.xml"/>
        </antcall>
        <delete file="runtime/tmp/tmpTenantData.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"/>
        <copy file="${basedir}/framework/resources/templates/AdminNewTenantData-PostgreSQL.xml" tofile="runtime/tmp/tmpTenantData.xml">
            <filterset>
                <filter token="tenantId" value="${tenantId}"/>
                <filter token="tenantName" value="${tenantName}"/>
                <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/tmpTenantData.xml"/>
        </antcall>
        <delete file="runtime/tmp/tmpTenantData.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>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"
        description="Create the admin login for the tenant with admin privileges, and a temporay password equal to 'ofbiz'. Password must be changed on first 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">
        <echo>------------------------------------</echo>
        <echo message="Loading selected data-readers in tenant databaset"/>
        <echo message="Delegator = default#${tenantId}"/>
        <echo message="Data-readers = ${data-readers}"/>
        <echo>------------------------------------</echo>
        <input addproperty="continueYN" message="Continue Y or N" validargs="N,n,Y,y"/>
        <java jar="ofbiz.jar" fork="true">
            <jvmarg value="${memory.initial.param}"/>
            <jvmarg value="${memory.max.param}"/>
            <jvmarg value="${memory.maxpermsize.param}"/>
            <arg value="install"/>
            <arg value="readers=${data-readers}"/>
            <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.">
        <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" depends="build"
          description="Run OFBiz default tests; you have to manually execute 'ant load-demo' before and see results in runtime/logs/test-results/html/all-tests.html.">
        <java jar="ofbiz.jar" fork="true" resultproperty="test.result">
            <jvmarg value="${memory.initial.param}"/>
            <jvmarg value="${memory.max.param}"/>
            <jvmarg value="${memory.maxpermsize.param}"/>
            <arg value="test"/>
            <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="run-tests-with-cobertura" depends="download-cobertura, run-tests"
        description="Download Cobertura and perform code coverage (same as run-tests). You will need a valid Internet connection to download cobertura"/>

    <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}"/>
            <jvmarg value="${memory.maxpermsize.param}"/>
            <arg value="testlist"/>
            <arg file="runtime/test-list-build.xml"/>
            <arg value="-ant"/>
            <env key="LC_ALL" value="C"/>
        </java>
    </target>
    <target name="run-test" depends="build"
          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="${memory.maxpermsize.param}"/>
            <arg value="test"/>
            <arg value="-component=${test.component}"/>
            <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" depends="build"
            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}"/>
            <jvmarg value="${memory.maxpermsize.param}"/>
            <arg value="test"/>
            <arg value="-component=${test.component}"/>
            <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>

    <target name="cobertura-report"
            description="Generate a HTML code coverage report with cobertura, can be found in runtime/logs/cobertura-report">
        <delete dir="runtime/logs/cobertura-report"/>
        <mkdir dir="runtime/logs/cobertura-report"/>
        <taskdef resource="tasks.properties">
            <classpath>
                <fileset dir="framework/base/lib">
                    <include name="cobertura-1.9.4.1.jar" />
                    <include name="log4j-1.2.16.jar" />
                    <include name="scripting/asm*.jar" />
                </fileset>
            </classpath>
        </taskdef>
        <cobertura-merge datafile="runtime/logs/cobertura.dat">
            <fileset dir="runtime/logs">
                <include name="cobertura-base.dat"/>
                <include name="cobertura-components.dat"/>
            </fileset>
        </cobertura-merge>
        <cobertura-report datafile="runtime/logs/cobertura.dat" destdir="runtime/logs/cobertura-report">
            <dirset dir=".">
                <include name="*/*/src"/>
            </dirset>

            <include name="**/*.java"/>
        </cobertura-report>
    </target>

    <target name="cobertura-report-xml"
            description="Generate a XML file from the cobertura report, this will be use by sonar">
        <delete dir="runtime/logs/cobertura-report"/>
        <mkdir dir="runtime/logs/cobertura-report"/>
        <taskdef resource="tasks.properties">
            <classpath>
                <fileset dir="framework/base/lib">
                    <include name="cobertura-1.9.4.1.jar" />
                    <include name="log4j-1.2.16.jar" />
                    <include name="scripting/asm*.jar" />
                </fileset>
            </classpath>
        </taskdef>
        <cobertura-merge datafile="runtime/logs/cobertura.dat">
            <fileset dir="runtime/logs">
                <include name="cobertura-base.dat"/>
                <include name="cobertura-components.dat"/>
            </fileset>
        </cobertura-merge>
        <cobertura-report format="xml" datafile="runtime/logs/cobertura.dat" destdir="runtime/logs/cobertura-report">
            <dirset dir=".">
                <include name="*/*/src"/>
            </dirset>
            <include name="**/*.java"/>
        </cobertura-report>
    </target>

    <target name="sonar" depends="download-sonar-ant-task, sonar-init"
            description="Sonar code analysis. You need a Sonar instance running to use it. More info on http://www.sonarsource.org/">
        <exec executable="svn" dir="." output="runtime/svninfo_tmp.xml">
            <arg value="info"/>
            <arg value="--xml"/>
        </exec>
        <xmlproperty file="runtime/svninfo_tmp.xml"/>

        <property name="sonar.sources" value="framework/appserver/src, framework/base/src, framework/bi/src, framework/birt/src,
            framework/catalina/src, framework/common/src, framework/datafile/src, framework/entity/src, framework/entityext/src,
            framework/example/src, framework/geronimo/src, framework/jetty/src,
            framework/minilang/src, framework/security/src, framework/service/src, framework/sql/src, framework/start/src,
            framework/testtools/src, framework/webapp/src, framework/webtools/src, framework/widget/src,
            applications/accounting/src, applications/commonext/src, applications/content/src, applications/humanres/src,
            applications/manufacturing/src, applications/marketing/src, applications/order/src, applications/party/src,
            applications/product/src, applications/securityext/src, applications/workeffort/src, specialpurpose/assetmaint/src,
            specialpurpose/ebay/src, specialpurpose/ebaystore/src, specialpurpose/ecommerce/src, specialpurpose/googlebase/src,
            specialpurpose/googlecheckout/src, specialpurpose/hhfacility/src, specialpurpose/oagis/src, specialpurpose/pos/src,
            specialpurpose/scrum/src" />
        <property name="sonar.tests" value="framework/base/src/org/ofbiz/base/test, framework/entity/src/org/ofbiz/entity/test,
            framework/service/src/org/ofbiz/service/test, framework/sql/src/org/ofbiz/sql/test,
            applications/accounting/src/org/ofbiz/accounting/test, applications/content/src/org/ofbiz/content/test,
            applications/product/src/org/ofbiz/product/test, applications/product/src/org/ofbiz/shipment/test,
            applications/securityext/src/org/ofbiz/securityext/test" />

        <!-- list of optional Sonar properties -->
        <property name="sonar.projectName" value="Apache OFBiz" />
        <sonar:sonar key="org.apache:ofbiz" version="${info.entry.commit(revision)}" xmlns:sonar="antlib:org.sonar.ant:sonar"/>
        <property name="sonar.dynamicAnalysis" value="reuseReports" />
        <property name="sonar.cobertura.reportPath" value="runtime/logs/cobertura-report/coverage.xml"/>
        <property name="sonar.java.source" value="1.6" />
        <property name="sonar.java.target" value="1.6" />
        <!-- default for jdbc url: jdbc:mysql://localhost:3306/sonar?useUnicode=true&amp;characterEncoding=utf8-->
        <property name="sonar.jdbc.url" value="${sonar.jdbc.url}"/>
        <property name="sonar.jdbc.driverClassName" value="com.mysql.jdbc.Driver" />
        <property name="sonar.jdbc.username" value="${sonar.jdbc.username}" />
        <property name="sonar.jdbc.password" value="${sonar.jdbc.password}" />

        <!-- SERVER ON A REMOTE HOST -->
        <property name="sonar.host.url" value="${sonar.host.url}" />
    </target>

    <target name="full-sonar">
        <antcall target="clean-all"/>
        <antcall target="load-demo"/>
        <antcall target="run-tests"/>
        <antcall target="cobertura-report-xml"/>
        <antcall target="sonar"/>
    </target>

    <!-- ================================================================== -->
    <!--    Ivy targets, more info at  http://ant.apache.org/ivy/  -->
    <!-- ================================================================== -->

    <target name="download-cobertura" depends="ivy-init">
        <ivy:retrieve pattern="framework/base/lib/[artifact]-[revision].[ext]" conf="cobertura"/>
    </target>

    <target name="download-PG-JDBC" depends="ivy-init" description="Download postgres jdbc driver">
        <ivy:retrieve pattern="framework/entity/lib/jdbc/[artifact]-[revision].[ext]" conf="postgres"/>
    </target>

    <target name="download-sonar-ant-task" depends="ivy-init">
        <ivy:retrieve pattern="framework/base/lib/[artifact]-[revision].[ext]" conf="sonar-ant-task"/>
    </target>

    <target name="download-mySQL-JDBC" depends="ivy-init" description="Download mySQL jdbc driver">
        <ivy:retrieve pattern="framework/entity/lib/jdbc/[artifact]-[revision].[ext]" conf="mysql"/>
    </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/staging"/>
        <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/SecurityData.xml" tofile="${basedir}/hot-deploy/${component-name}/data/${component-resource-name}SecurityData.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: http://localhost:8080/${webapp-name}
        </echo>
    </target>

    <!-- ================================================================== -->
    <!-- Minify js and css files target.                                    -->
    <!-- ================================================================== -->

    <target name="minifyJsCss" description="Creates a minified version of JS/CSS files">
        <!-- Needs more work (more files, use of them) just used as an example -->
        <!--yuicompressor inFile="themes/tomahawk/webapp/tomahawk/css/style.css" outFile="themes/tomahawk/webapp/tomahawk/css/style-min.css"/-->
    </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>
