<?xml version="1.0" encoding="UTF-8"?>
<!--
*** GENERATED FROM project.xml - DO NOT EDIT  ***
***         EDIT ../build.xml INSTEAD         ***

For the purpose of easier reading the script
is divided into following sections:

  - initialization
  - compilation
  - dist
  - execution
  - debugging
  - cleanup

-->
<project xmlns:ear2="http://www.netbeans.org/ns/j2ee-earproject/2" basedir=".." default="default" name="bank-impl">
    <import file="ant-deploy.xml"/>
    <fail message="Please build using Ant 1.7.1 or higher.">
        <condition>
            <not>
                <antversion atleast="1.7.1"/>
            </not>
        </condition>
    </fail>
    <target depends="dist" description="Build whole project." name="default"/>
    <!-- 
    INITIALIZATION SECTION 
    -->
    <target name="pre-init">
        <!-- Empty placeholder for easier customization. -->
        <!-- You can override this target in the ../build.xml file. -->
    </target>
    <target depends="pre-init" name="init-private">
        <property file="nbproject/private/private.properties"/>
    </target>
    <target depends="pre-init,init-private" name="init-userdir">
        <property location="${netbeans.user}/build.properties" name="user.properties.file"/>
    </target>
    <target depends="pre-init,init-private,init-userdir" name="init-user">
        <property file="${user.properties.file}"/>
    </target>
    <target depends="pre-init,init-private,init-userdir,init-user" name="init-project">
        <property file="nbproject/project.properties"/>
    </target>
    <target depends="pre-init,init-private,init-userdir,init-user,init-project" name="do-init">
        <!-- The two properties below are usually overridden -->
        <!-- by the active platform. Just a fallback. -->
        <property name="default.javac.source" value="1.4"/>
        <property name="default.javac.target" value="1.4"/>
        <condition property="do.compile.jsps">
            <istrue value="${compile.jsps}"/>
        </condition>
        <condition property="do.display.browser.old">
            <and>
                <istrue value="${display.browser}"/>
                <isset property="client.module.uri"/>
                <not>
                    <isset property="app.client"/>
                </not>
                <not>
                    <isset property="browser.context"/>
                </not>
            </and>
        </condition>
        <condition property="do.display.browser">
            <and>
                <istrue value="${display.browser}"/>
                <isset property="client.module.uri"/>
                <not>
                    <isset property="app.client"/>
                </not>
                <isset property="browser.context"/>
            </and>
        </condition>
        <available file="${meta.inf}/MANIFEST.MF" property="has.custom.manifest"/>
        <!--
                    Variables needed to support directory deployment.
                -->
        <condition property="do.package.with.custom.manifest.not.directory.deploy">
            <and>
                <isset property="has.custom.manifest"/>
                <isfalse value="${directory.deployment.supported}"/>
            </and>
        </condition>
        <condition property="do.package.without.custom.manifest.not.directory.deploy">
            <and>
                <not>
                    <isset property="has.custom.manifest"/>
                </not>
                <isfalse value="${directory.deployment.supported}"/>
            </and>
        </condition>
        <condition property="do.package.not.directory.deploy">
            <isfalse value="${directory.deployment.supported}"/>
        </condition>
        <!--End Variables needed to support directory deployment.-->
        <condition else="" property="j2ee.appclient.mainclass.tool.param" value="-mainclass ${main.class}">
            <and>
                <isset property="main.class"/>
                <not>
                    <equals arg1="${main.class}" arg2="" trim="true"/>
                </not>
            </and>
        </condition>
        <condition else="" property="j2ee.appclient.jvmoptions.param" value="${j2ee.appclient.jvmoptions}">
            <and>
                <isset property="j2ee.appclient.jvmoptions"/>
                <not>
                    <equals arg1="${j2ee.appclient.jvmoptions}" arg2="" trim="true"/>
                </not>
            </and>
        </condition>
        <condition else="" property="application.args.param" value="${application.args}">
            <and>
                <isset property="application.args"/>
                <not>
                    <equals arg1="${application.args}" arg2="" trim="true"/>
                </not>
            </and>
        </condition>
        <condition property="can.debug.appclient">
            <and>
                <isset property="netbeans.home"/>
                <isset property="app.client"/>
            </and>
        </condition>
        <path id="endorsed.classpath.path" path="${endorsed.classpath}"/>
        <condition else="" property="endorsed.classpath.cmd.line.arg" value="-Xbootclasspath/p:'${toString:endorsed.classpath.path}'">
            <and>
                <isset property="endorsed.classpath"/>
                <length length="0" string="${endorsed.classpath}" when="greater"/>
            </and>
        </condition>
    </target>
    <target depends="init" name="-init-cos">
        <condition else="false" property="build.deploy.on.save">
            <or>
                <istrue value="${j2ee.deploy.on.save}"/>
                <istrue value="${j2ee.compile.on.save}"/>
            </or>
        </condition>
    </target>
    <target name="post-init">
        <!-- Empty placeholder for easier customization. -->
        <!-- You can override this target in the ../build.xml file. -->
    </target>
    <target depends="pre-init,init-private,init-userdir,init-user,init-project,do-init" name="init-check">
        <fail unless="build.dir">Must set build.dir</fail>
        <fail unless="build.generated.dir">Must set build.generated.dir</fail>
        <fail unless="dist.dir">Must set dist.dir</fail>
        <fail unless="build.classes.excludes">Must set build.classes.excludes</fail>
        <fail unless="dist.jar">Must set dist.jar</fail>
    </target>
    <target name="-init-taskdefs">
        <fail unless="libs.CopyLibs.classpath">
The libs.CopyLibs.classpath property is not set up.
This property must point to 
org-netbeans-modules-java-j2seproject-copylibstask.jar file which is part
of NetBeans IDE installation and is usually located at 
&lt;netbeans_installation&gt;/java&lt;version&gt;/ant/extra folder.
Either open the project in the IDE and make sure CopyLibs library
exists or setup the property manually. For example like this:
 ant -Dlibs.CopyLibs.classpath=a/path/to/org-netbeans-modules-java-j2seproject-copylibstask.jar
                </fail>
        <taskdef classpath="${libs.CopyLibs.classpath}" resource="org/netbeans/modules/java/j2seproject/copylibstask/antlib.xml"/>
    </target>
    <!--
                pre NB7.2 profiling section; consider it deprecated
            -->
    <target depends="-profile-pre-init, init, -profile-post-init, -profile-init-check" if="profiler.info.jvmargs.agent" name="profile-init"/>
    <target if="profiler.info.jvmargs.agent" name="-profile-pre-init">
        <!-- Empty placeholder for easier customization. -->
        <!-- You can override this target in the ../build.xml file. -->
    </target>
    <target if="profiler.info.jvmargs.agent" name="-profile-post-init">
        <!-- Empty placeholder for easier customization. -->
        <!-- You can override this target in the ../build.xml file. -->
    </target>
    <target depends="-profile-pre-init, init, -profile-post-init" if="profiler.info.jvmargs.agent" name="-profile-init-check">
        <fail unless="profiler.info.jvm">Must set JVM to use for profiling in profiler.info.jvm</fail>
        <fail unless="profiler.info.jvmargs.agent">Must set profiler agent JVM arguments in profiler.info.jvmargs.agent</fail>
    </target>
    <!--
                end of pre NB7.2 profiling section
            -->
    <target depends="pre-init,init-private,init-userdir,init-user,init-project,do-init,post-init,init-check,-init-taskdefs" name="init"/>
    <!--
    COMPILATION SECTION
    -->
    <target depends="init" name="deps-jar" unless="no.deps">
        <condition property="build.deploy.on.save" value="false">
            <not>
                <isset property="build.deploy.on.save"/>
            </not>
        </condition>
    </target>
    <target depends="init" name="deps-j2ee-archive" unless="no.deps">
        <condition property="build.deploy.on.save" value="false">
            <not>
                <isset property="build.deploy.on.save"/>
            </not>
        </condition>
        <ant antfile="${project.bank-ejb}/build.xml" inheritall="false" target="dist-ear">
            <property location="${build.dir}" name="dist.ear.dir"/>
            <property name="deploy.on.save" value="${build.deploy.on.save}"/>
        </ant>
        <ant antfile="${project.bank-war}/build.xml" inheritall="false" target="dist-ear">
            <property location="${build.dir}" name="dist.ear.dir"/>
            <property name="deploy.on.save" value="${build.deploy.on.save}"/>
        </ant>
    </target>
    <target depends="init,deps-jar,deps-j2ee-archive" name="pre-pre-compile"/>
    <target name="pre-compile">
        <!-- Empty placeholder for easier customization. -->
        <!-- You can override this target in the ../build.xml file. -->
    </target>
    <target depends="init,deps-jar,pre-pre-compile,pre-compile,-do-compile-deps" name="do-compile">
        <copy todir="${build.dir}/META-INF">
            <fileset dir="${meta.inf}"/>
        </copy>
    </target>
    <target depends="init,deps-jar,pre-pre-compile,pre-compile" name="-do-compile-deps">
        <copyfiles files="${reference.bank-war.dist-ear}" todir="${build.dir}//"/>
        <copyfiles files="${reference.bank-ejb.dist-ear}" todir="${build.dir}//"/>
    </target>
    <target name="post-compile">
        <!-- Empty placeholder for easier customization. -->
        <!-- You can override this target in the ../build.xml file. -->
    </target>
    <target depends="init,deps-jar,pre-pre-compile,pre-compile,do-compile,post-compile" description="Compile project." name="compile"/>
    <!--
                DIST BUILDING SECTION
            -->
    <target name="pre-dist">
        <!-- Empty placeholder for easier customization. -->
        <!-- You can override this target in the ../build.xml file. -->
    </target>
    <target depends="init,compile,pre-dist" name="do-dist-without-manifest" unless="has.custom.manifest">
        <dirname file="${dist.jar}" property="dist.jar.dir"/>
        <mkdir dir="${dist.jar.dir}"/>
        <jar compress="${jar.compress}" jarfile="${dist.jar}">
            <fileset dir="${build.dir}"/>
        </jar>
    </target>
    <target depends="init,compile,pre-dist" if="has.custom.manifest" name="do-dist-with-manifest">
        <dirname file="${dist.jar}" property="dist.jar.dir"/>
        <mkdir dir="${dist.jar.dir}"/>
        <jar compress="${jar.compress}" jarfile="${dist.jar}" manifest="${meta.inf}/MANIFEST.MF">
            <fileset dir="${build.dir}"/>
        </jar>
    </target>
    <!--
                TARGETS NEEDED TO SUPPORT DIRECTORY DEPLOYMENT
            -->
    <target depends="init,compile,pre-dist" if="do.package.without.custom.manifest.not.directory.deploy" name="-do-tmp-dist-without-manifest">
        <dirname file="${dist.jar}" property="dist.jar.dir"/>
        <mkdir dir="${dist.jar.dir}"/>
        <jar compress="${jar.compress}" jarfile="${dist.jar}">
            <fileset dir="${build.dir}"/>
        </jar>
    </target>
    <target depends="init,compile,pre-dist" if="do.package.with.custom.manifest.not.directory.deploy" name="-do-tmp-dist-with-manifest">
        <dirname file="${dist.jar}" property="dist.jar.dir"/>
        <mkdir dir="${dist.jar.dir}"/>
        <jar compress="${jar.compress}" jarfile="${dist.jar}" manifest="${meta.inf}/MANIFEST.MF">
            <fileset dir="${build.dir}"/>
        </jar>
    </target>
    <target depends="init,compile,pre-dist,-do-tmp-dist-without-manifest,-do-tmp-dist-with-manifest" name="-do-dist-directory-deploy"/>
    <target depends="init,compile,pre-dist,-do-dist-directory-deploy,post-dist" description="Build distribution (JAR) - if directory deployment is not supported." name="dist-directory-deploy"/>
    <!--
                END TARGETS NEEDED TO SUPPORT DIRECTORY DEPLOYMENT
            -->
    <target name="post-dist">
        <!-- Empty placeholder for easier customization. -->
        <!-- You can override this target in the ../build.xml file. -->
    </target>
    <target depends="init,compile,pre-dist,do-dist-without-manifest,do-dist-with-manifest,post-dist" description="Build distribution (JAR)." name="dist"/>
    <!--
    EXECUTION SECTION
    -->
    <target depends="run-deploy,run-display-browser,run-ac" description="Deploy to server." name="run"/>
    <target name="pre-run-deploy">
        <!-- Empty placeholder for easier customization. -->
        <!-- You can override this target in the ../build.xml file. -->
    </target>
    <target name="post-run-deploy">
        <!-- Empty placeholder for easier customization. -->
        <!-- You can override this target in the ../build.xml file. -->
    </target>
    <target name="-pre-nbmodule-run-deploy">
        <!-- Empty placeholder for easier customization. -->
        <!-- This target can be overriden by NetBeans modules. Don't override it directly, use -pre-run-deploy task instead. -->
    </target>
    <target name="-post-nbmodule-run-deploy">
        <!-- Empty placeholder for easier customization. -->
        <!-- This target can be overriden by NetBeans modules. Don't override it directly, use -post-run-deploy task instead. -->
    </target>
    <target name="-run-deploy-am" unless="no.deps">
        <!-- Task to deploy to the Access Manager runtime. -->
        <ant antfile="${project.bank-ejb}/build.xml" inheritall="false" target="-run-deploy-am"/>
        <ant antfile="${project.bank-war}/build.xml" inheritall="false" target="-run-deploy-am"/>
    </target>
    <target depends="-init-cos,dist-directory-deploy,pre-run-deploy,-pre-nbmodule-run-deploy,-run-deploy-nb,-init-deploy-ant,-deploy-ant,-run-deploy-am,-post-nbmodule-run-deploy,post-run-deploy" name="run-deploy"/>
    <target if="netbeans.home" name="-run-deploy-nb">
        <nbdeploy clientModuleUri="${client.module.uri}" clientUrlPart="${client.urlPart}" debugmode="false" forceRedeploy="${forceRedeploy}"/>
    </target>
    <target name="-init-deploy-ant" unless="netbeans.home">
        <property name="deploy.ant.archive" value="${dist.jar}"/>
        <property name="deploy.ant.resource.dir" value="${resource.dir}"/>
        <property name="deploy.ant.enabled" value="true"/>
    </target>
    <target depends="dist,-run-undeploy-nb,-init-deploy-ant,-undeploy-ant" name="run-undeploy"/>
    <target if="netbeans.home" name="-run-undeploy-nb">
        <fail message="Undeploy is not supported from within the IDE"/>
    </target>
    <target depends="dist" name="verify">
        <nbverify file="${dist.jar}"/>
    </target>
    <target depends="run-deploy,-init-display-browser,-display-browser-nb-old,-display-browser-nb,-display-browser-cl" name="run-display-browser"/>
    <target if="do.display.browser" name="-init-display-browser">
        <condition property="do.display.browser.nb.old">
            <and>
                <isset property="netbeans.home"/>
                <not>
                    <isset property="browser.context"/>
                </not>
            </and>
        </condition>
        <condition property="do.display.browser.nb">
            <and>
                <isset property="netbeans.home"/>
                <isset property="browser.context"/>
            </and>
        </condition>
        <condition property="do.display.browser.cl">
            <and>
                <isset property="deploy.ant.enabled"/>
                <isset property="deploy.ant.client.url"/>
            </and>
        </condition>
    </target>
    <target if="do.display.browser.nb.old" name="-display-browser-nb-old">
        <nbbrowse url="${client.url}"/>
    </target>
    <target if="do.display.browser.nb" name="-display-browser-nb">
        <nbbrowse context="${browser.context}" url="${client.url}" urlPath="${client.urlPart}"/>
    </target>
    <target if="do.display.browser.cl" name="-get-browser" unless="browser">
        <condition property="browser" value="rundll32">
            <os family="windows"/>
        </condition>
        <condition else="" property="browser.args" value="url.dll,FileProtocolHandler">
            <os family="windows"/>
        </condition>
        <condition property="browser" value="/usr/bin/open">
            <os family="mac"/>
        </condition>
        <property environment="env"/>
        <condition property="browser" value="${env.BROWSER}">
            <isset property="env.BROWSER"/>
        </condition>
        <condition property="browser" value="/usr/bin/firefox">
            <available file="/usr/bin/firefox"/>
        </condition>
        <condition property="browser" value="/usr/local/firefox/firefox">
            <available file="/usr/local/firefox/firefox"/>
        </condition>
        <condition property="browser" value="/usr/bin/mozilla">
            <available file="/usr/bin/mozilla"/>
        </condition>
        <condition property="browser" value="/usr/local/mozilla/mozilla">
            <available file="/usr/local/mozilla/mozilla"/>
        </condition>
        <condition property="browser" value="/usr/sfw/lib/firefox/firefox">
            <available file="/usr/sfw/lib/firefox/firefox"/>
        </condition>
        <condition property="browser" value="/opt/csw/bin/firefox">
            <available file="/opt/csw/bin/firefox"/>
        </condition>
        <condition property="browser" value="/usr/sfw/lib/mozilla/mozilla">
            <available file="/usr/sfw/lib/mozilla/mozilla"/>
        </condition>
        <condition property="browser" value="/opt/csw/bin/mozilla">
            <available file="/opt/csw/bin/mozilla"/>
        </condition>
    </target>
    <target depends="-get-browser" if="do.display.browser.cl" name="-display-browser-cl">
        <fail unless="browser">
            Browser not found, cannot launch the deployed application. Try to set the BROWSER environment variable.
        </fail>
        <property name="browse.url" value="${deploy.ant.client.url}${client.urlPart}"/>
        <echo>Launching ${browse.url}</echo>
        <exec executable="${browser}" spawn="true">
            <arg line="${browser.args} ${browse.url}"/>
        </exec>
    </target>
    <target if="app.client" name="run-ac">
        <antcall target="-run-ac"/>
    </target>
    <target depends="init,-as-retrieve-option-workaround,-init-run-macros,-run-appclient-pregfv3,-run-appclient" name="-run-ac"/>
    <target if="j2ee.appclient.tool.args" name="-run-appclient-pregfv3">
        <ear2:run-appclient-pregfv3/>
    </target>
    <target name="-run-appclient" unless="j2ee.appclient.tool.args">
        <ear2:run-appclient subprojectname="${app.client}"/>
    </target>
    <target if="j2ee.appclient.mainclass.args" name="-as-retrieve-option-workaround" unless="j2ee.clientName">
        <property name="client.jar" value="${dist.dir}/bankClient.jar"/>
        <sleep seconds="3"/>
        <copy failonerror="false" file="${wa.copy.client.jar.from}/bank/bankClient.jar" todir="${dist.dir}"/>
        <copy failonerror="false" flatten="true" todir="${dist.dir}/">
            <fileset dir="${wa.copy.client.jar.from}/bank" includes="**/bankClient.jar"/>
        </copy>
        <copy flatten="true" todir="${dist.dir}/bankClient">
            <fileset dir="${wa.copy.client.jar.from}/bank" includes="**/*.*ar"/>
        </copy>
        <copy failonerror="false" flatten="false" todir="${dist.dir}/bankClient">
            <fileset dir="${dist.dir}/gfdeploy/bank" includes="**/*.jar"/>
        </copy>
    </target>
    <target depends="init" name="-init-run-macros">
        <macrodef name="run-appclient" uri="http://www.netbeans.org/ns/j2ee-earproject/2">
            <attribute name="subprojectname"/>
            <attribute default="${application.args.param}" name="args"/>
            <element name="customize" optional="true"/>
            <sequential>
                <java dir="${basedir}" fork="true" jar="${client.jar}">
                    <jvmarg line="${endorsed.classpath.cmd.line.arg}"/>
                    <jvmarg line="${j2ee.appclient.tool.jvmoptions}${client.jar},arg=-name,arg=@{subprojectname}"/>
                    <jvmarg line="${j2ee.appclient.jvmoptions.param}"/>
                    <arg line="@{args}"/>
                    <syspropertyset>
                        <propertyref prefix="run-sys-prop."/>
                        <mapper from="run-sys-prop.*" to="*" type="glob"/>
                    </syspropertyset>
                    <customize/>
                </java>
            </sequential>
        </macrodef>
        <macrodef name="run-appclient-pregfv3" uri="http://www.netbeans.org/ns/j2ee-earproject/2">
            <element name="customize" optional="true"/>
            <sequential>
                <java classname="${j2ee.appclient.tool.mainclass}" fork="true">
                    <jvmarg line="${endorsed.classpath.cmd.line.arg}"/>
                    <jvmarg line="${j2ee.appclient.tool.jvmoptions}"/>
                    <jvmarg line="${j2ee.appclient.jvmoptions.param}"/>
                    <arg line="${j2ee.appclient.tool.args}"/>
                    <arg line="-client ${client.jar}"/>
                    <arg line="${j2ee.appclient.mainclass.tool.param}"/>
                    <arg line="${application.args.param}"/>
                    <classpath>
                        <path path="${j2ee.platform.classpath}:${j2ee.appclient.tool.runtime}"/>
                    </classpath>
                    <syspropertyset>
                        <propertyref prefix="run-sys-prop."/>
                        <mapper from="run-sys-prop.*" to="*" type="glob"/>
                    </syspropertyset>
                    <customize/>
                </java>
            </sequential>
        </macrodef>
    </target>
    <!--
    DEBUGGING SECTION
    -->
    <target depends="run-debug,run-debug-appclient" description="Deploy to server." name="debug"/>
    <target depends="dist" description="Debug project in IDE." if="netbeans.home" name="run-debug" unless="app.client">
        <nbdeploy clientModuleUri="${client.module.uri}" clientUrlPart="${client.urlPart}" debugmode="true"/>
        <antcall target="connect-debugger"/>
        <antcall target="debug-display-browser-old"/>
        <antcall target="debug-display-browser"/>
    </target>
    <target name="connect-debugger" unless="is.debugged">
        <condition property="listeningcp" value="sourcepath">
            <istrue value="${j2ee.compile.on.save}"/>
        </condition>
        <nbjpdaconnect address="${jpda.address}" host="${jpda.host}" listeningcp="${listeningcp}" name="${jpda.host}:${jpda.address}" transport="${jpda.transport}">
            <classpath>
                <path path="${debug.classpath}"/>
                <fileset dir="${build.dir}" includes="lib/*.jar"/>
            </classpath>
            <sourcepath>
                <path path="${ear.docbase.dirs}"/>
            </sourcepath>
        </nbjpdaconnect>
    </target>
    <target if="do.display.browser.old" name="debug-display-browser-old">
        <nbbrowse url="${client.url}"/>
    </target>
    <target if="do.display.browser" name="debug-display-browser">
        <nbbrowse context="${browser.context}" url="${client.url}" urlPath="${client.urlPart}"/>
    </target>
    <target if="can.debug.appclient" name="run-debug-appclient">
        <antcall target="-run-debug-appclient"/>
    </target>
    <target depends="init,-init-debug-args,-debug-appclient-deploy,-as-retrieve-option-workaround,-init-debug-macros,-debug-appclient-start-nbjpda,-debug-appclient-pregfv3,-debug-appclient,connect-debugger" name="-run-debug-appclient"/>
    <target name="-init-debug-args">
        <property name="version-output" value="java version &quot;${ant.java.version}"/>
        <condition property="have-jdk-older-than-1.4">
            <or>
                <contains string="${version-output}" substring="java version &quot;1.0"/>
                <contains string="${version-output}" substring="java version &quot;1.1"/>
                <contains string="${version-output}" substring="java version &quot;1.2"/>
                <contains string="${version-output}" substring="java version &quot;1.3"/>
            </or>
        </condition>
        <condition else="-Xdebug" property="debug-args-line" value="-Xdebug -Xnoagent -Djava.compiler=none">
            <istrue value="${have-jdk-older-than-1.4}"/>
        </condition>
    </target>
    <target depends="init,-init-debug-args,-as-retrieve-option-workaround,-init-run-macros" name="-init-debug-macros">
        <condition else="dt_socket" property="debug-transport-by-os" value="dt_shmem">
            <os family="windows"/>
        </condition>
        <condition else="${debug-transport-by-os}" property="debug-transport-appclient" value="${debug.transport}">
            <isset property="debug.transport"/>
        </condition>
        <macrodef name="nbjpdastart" uri="http://www.netbeans.org/ns/j2ee-earproject/2">
            <attribute default="${main.class}" name="name"/>
            <attribute default="${debug.classpath}" name="classpath"/>
            <attribute default="" name="stopclassname"/>
            <sequential>
                <nbjpdastart addressproperty="jpda.address.appclient" name="@{name}" stopclassname="@{stopclassname}" transport="${debug-transport-appclient}">
                    <classpath>
                        <path path="@{classpath}"/>
                    </classpath>
                </nbjpdastart>
            </sequential>
        </macrodef>
        <macrodef name="debug-appclient" uri="http://www.netbeans.org/ns/j2ee-earproject/2">
            <attribute name="subprojectname"/>
            <sequential>
                <ear2:run-appclient subprojectname="@{subprojectname}">
                    <customize>
                        <jvmarg value="-Xrunjdwp:transport=${debug-transport-appclient},address=${jpda.address.appclient}"/>
                        <jvmarg line="${debug-args-line}"/>
                    </customize>
                </ear2:run-appclient>
            </sequential>
        </macrodef>
        <macrodef name="debug-appclient-pregfv3" uri="http://www.netbeans.org/ns/j2ee-earproject/2">
            <sequential>
                <ear2:run-appclient-pregfv3>
                    <customize>
                        <jvmarg value="-Xrunjdwp:transport=${debug-transport-appclient},address=${jpda.address.appclient}"/>
                        <jvmarg line="${debug-args-line}"/>
                    </customize>
                </ear2:run-appclient-pregfv3>
            </sequential>
        </macrodef>
    </target>
    <target name="-debug-appclient-deploy">
        <nbstartserver debugmode="true"/>
        <nbdeploy clientModuleUri="${client.module.uri}" clientUrlPart="${client.urlPart}" debugmode="true"/>
    </target>
    <target name="-debug-appclient-start-nbjpda">
        <ear2:nbjpdastart classpath="" name="${app.client}"/>
    </target>
    <target if="j2ee.appclient.tool.args" name="-debug-appclient-pregfv3">
        <ear2:debug-appclient-pregfv3/>
    </target>
    <target name="-debug-appclient" unless="j2ee.appclient.tool.args">
        <ear2:debug-appclient subprojectname="${app.client}"/>
    </target>
    <!--
    =================
    PROFILING SECTION
    =================
    -->
    <!--
        pre NB7.2 profiling section; consider it deprecated
    -->
    <target description="Profile a J2EE project in the IDE." if="profiler.info.jvmargs.agent" name="-profile-pre72">
        <condition else="start-profiled-server" property="profiler.startserver.target" value="start-profiled-server-extraargs">
            <isset property="profiler.info.jvmargs.extra"/>
        </condition>
        <antcall target="${profiler.startserver.target}"/>
        <antcall target="run"/>
        <antcall target="-profile-start-loadgen"/>
    </target>
    <target name="start-profiled-server">
        <nbstartprofiledserver forceRestart="${profiler.j2ee.serverForceRestart}" javaPlatform="${profiler.info.javaPlatform}" startupTimeout="${profiler.j2ee.serverStartupTimeout}">
            <jvmarg value="${profiler.info.jvmargs.agent}"/>
            <jvmarg value="${profiler.j2ee.agentID}"/>
        </nbstartprofiledserver>
    </target>
    <target name="start-profiled-server-extraargs">
        <nbstartprofiledserver forceRestart="${profiler.j2ee.serverForceRestart}" javaPlatform="${profiler.info.javaPlatform}" startupTimeout="${profiler.j2ee.serverStartupTimeout}">
            <jvmarg value="${profiler.info.jvmargs.extra}"/>
            <jvmarg value="${profiler.info.jvmargs.agent}"/>
            <jvmarg value="${profiler.j2ee.agentID}"/>
        </nbstartprofiledserver>
    </target>
    <!--
        end of pre NB7.2 profiling section
    -->
    <target if="netbeans.home" name="-profile-check">
        <condition property="profiler.configured">
            <or>
                <contains casesensitive="true" string="${run.jvmargs.ide}" substring="-agentpath:"/>
                <contains casesensitive="true" string="${run.jvmargs.ide}" substring="-javaagent:"/>
            </or>
        </condition>
    </target>
    <target depends="dist" name="-do-profile">
        <startprofiler/>
        <nbstartserver profilemode="true"/>
        <nbdeploy clientUrlPart="${client.urlPart}" forceRedeploy="true" profilemode="true"/>
        <antcall target="-profile-start-loadgen"/>
    </target>
    <target depends="-profile-check,-profile-pre72" description="Profile a J2EE project in the IDE." if="profiler.configured" name="profile">
        <antcall target="-do-profile"/>
    </target>
    <target if="profiler.loadgen.path" name="-profile-start-loadgen">
        <loadgenstart path="${profiler.loadgen.path}"/>
    </target>
    <!--
    CLEANUP SECTION
    -->
    <target depends="init" name="deps-clean" unless="no.deps">
        <condition property="build.deploy.on.save" value="false">
            <not>
                <isset property="build.deploy.on.save"/>
            </not>
        </condition>
        <ant antfile="${project.bank-ejb}/build.xml" inheritall="false" target="clean-ear">
            <property location="${build.dir}" name="dist.ear.dir"/>
            <property name="deploy.on.save" value="${build.deploy.on.save}"/>
        </ant>
        <ant antfile="${project.bank-war}/build.xml" inheritall="false" target="clean-ear">
            <property location="${build.dir}" name="dist.ear.dir"/>
            <property name="deploy.on.save" value="${build.deploy.on.save}"/>
        </ant>
    </target>
    <target depends="init" name="do-clean">
        <delete dir="${build.dir}"/>
        <delete dir="${dist.dir}"/>
        <delete dir="${build.dir}"/>
    </target>
    <target depends="init" if="netbeans.home" name="undeploy-clean">
        <nbundeploy failOnError="false" startServer="false"/>
    </target>
    <target name="post-clean">
        <!-- Empty placeholder for easier customization. -->
        <!-- You can override this target in the ../build.xml file. -->
    </target>
    <target depends="init,undeploy-clean,deps-clean,do-clean,post-clean" description="Clean build products." name="clean"/>
</project>
