<?xml version="1.0" encoding="UTF-8"?>
<!--

    DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.

    Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved.

    The contents of this file are subject to the terms of either the GNU
    General Public License Version 2 only ("GPL") or the Common Development
    and Distribution License("CDDL") (collectively, the "License").  You
    may not use this file except in compliance with the License.  You can
    obtain a copy of the License at
    https://glassfish.dev.java.net/public/CDDL+GPL_1_1.html
    or packager/legal/LICENSE.txt.  See the License for the specific
    language governing permissions and limitations under the License.

    When distributing the software, include this License Header Notice in each
    file and include the License file at packager/legal/LICENSE.txt.

    GPL Classpath Exception:
    Oracle designates this particular file as subject to the "Classpath"
    exception as provided by Oracle in the GPL Version 2 section of the License
    file that accompanied this code.

    Modifications:
    If applicable, add the following below the License Header, with the fields
    enclosed by brackets [] replaced by your own identifying information:
    "Portions Copyright [year] [name of copyright owner]"

    Contributor(s):
    If you wish your version of this file to be governed by only the CDDL or
    only the GPL Version 2, indicate your decision by adding "[Contributor]
    elects to include this software in this distribution under the [CDDL or GPL
    Version 2] license."  If you don't indicate a single choice of license, a
    recipient has the option to distribute your version of this file under
    either the CDDL, the GPL Version 2 or to extend the choice of license to
    its licensees as provided above.  However, if you add GPL Version 2 code
    and therefore, elected the GPL Version 2 license, then the option applies
    only if the new code is made subject to such option by the copyright
    holder.

-->

<!--
        *** 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
        - javadoc
        - junit compilation
        - junit execution
        - junit debugging
        - cleanup

        -->
<project name="sts-impl" default="build" basedir=".." xmlns:webproject3="http://www.netbeans.org/ns/web-project/3" xmlns:webproject2="http://www.netbeans.org/ns/web-project/2" xmlns:jaxws="http://www.netbeans.org/ns/jax-ws/1" xmlns:webproject1="http://www.netbeans.org/ns/web-project/1">
    <import file="ant-deploy.xml"/>
    <target name="default" depends="dist,javadoc" description="Build whole project."/>
    <!--
                INITIALIZATION SECTION
            -->
    <target name="-pre-init">
        <!-- Empty placeholder for easier customization. -->
        <!-- You can override this target in the ../build.xml file. -->
    </target>
    <target name="-init-private" depends="-pre-init">
        <property file="nbproject/private/private.properties"/>
    </target>
    <target name="-init-user" depends="-pre-init,-init-private">
        <property file="${user.properties.file}"/>
        <!-- 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"/>
    </target>
    <target name="-init-project" depends="-pre-init,-init-private,-init-user">
        <property file="nbproject/project.properties"/>
    </target>
    <target name="-do-ear-init" depends="-pre-init,-init-private,-init-user,-init-project,-init-macrodef-property" if="dist.ear.dir">
        <property value="${build.ear.web.dir}/META-INF" name="build.meta.inf.dir"/>
        <property name="build.classes.dir.real" value="${build.ear.classes.dir}"/>
        <property name="build.web.dir.real" value="${build.ear.web.dir}"/>
    </target>
    <target name="-do-init" depends="-pre-init,-init-private,-init-user,-init-project,-init-macrodef-property, -do-ear-init">
        <condition property="have.tests">
            <or>
                <available file="${test.src.dir}"/>
            </or>
        </condition>
        <condition property="have.sources">
            <or>
                <available file="${src.dir}"/>
            </or>
        </condition>
        <condition property="netbeans.home+have.tests">
            <and>
                <isset property="netbeans.home"/>
                <isset property="have.tests"/>
            </and>
        </condition>
        <condition property="no.javadoc.preview">
            <isfalse value="${javadoc.preview}"/>
        </condition>
        <property name="javac.compilerargs" value=""/>
        <condition property="no.deps">
            <and>
                <istrue value="${no.dependencies}"/>
            </and>
        </condition>
        <condition property="no.dist.ear.dir">
            <not>
                <isset property="dist.ear.dir"/>
            </not>
        </condition>
        <property name="build.web.excludes" value="${build.classes.excludes}"/>
        <condition property="do.compile.jsps">
            <istrue value="${compile.jsps}"/>
        </condition>
        <condition property="do.display.browser">
            <istrue value="${display.browser}"/>
        </condition>
        <available file="${conf.dir}/MANIFEST.MF" property="has.custom.manifest"/>
        <available file="${conf.dir}/persistence.xml" property="has.persistence.xml"/>
        <condition property="do.war.package.with.custom.manifest">
            <and>
                <istrue value="${war.package}"/>
                <isset property="has.custom.manifest"/>
            </and>
        </condition>
        <condition property="do.war.package.without.custom.manifest">
            <and>
                <istrue value="${war.package}"/>
                <not>
                    <isset property="has.custom.manifest"/>
                </not>
            </and>
        </condition>
        <property value="${build.web.dir}/META-INF" name="build.meta.inf.dir"/>
        <property name="build.classes.dir.real" value="${build.classes.dir}"/>
        <property name="build.web.dir.real" value="${build.web.dir}"/>
        <condition property="application.args.param" value="${application.args}" else="">
            <and>
                <isset property="application.args"/>
                <not>
                    <equals arg1="${application.args}" arg2="" trim="true"/>
                </not>
            </and>
        </condition>
    </target>
    <target name="-post-init">
        <!-- Empty placeholder for easier customization. -->
        <!-- You can override this target in the ../build.xml file. -->
    </target>
    <target name="-init-check" depends="-pre-init,-init-private,-init-user,-init-project,-do-init">
        <fail unless="src.dir">Must set src.dir</fail>
        <fail unless="test.src.dir">Must set test.src.dir</fail>
        <fail unless="build.dir">Must set build.dir</fail>
        <fail unless="build.web.dir">Must set build.web.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.dir">Must set build.classes.dir</fail>
        <fail unless="dist.javadoc.dir">Must set dist.javadoc.dir</fail>
        <fail unless="build.test.classes.dir">Must set build.test.classes.dir</fail>
        <fail unless="build.test.results.dir">Must set build.test.results.dir</fail>
        <fail unless="build.classes.excludes">Must set build.classes.excludes</fail>
        <fail unless="dist.war">Must set dist.war</fail>
    </target>
    <target name="-init-macrodef-property">
        <macrodef name="property" uri="http://www.netbeans.org/ns/web-project/1">
            <attribute name="name"/>
            <attribute name="value"/>
            <sequential>
                <property name="@{name}" value="${@{value}}"/>
            </sequential>
        </macrodef>
    </target>
    <target name="-init-macrodef-javac">
        <macrodef name="javac" uri="http://www.netbeans.org/ns/web-project/2">
            <attribute name="srcdir" default="${src.dir}"/>
            <attribute name="destdir" default="${build.classes.dir.real}"/>
            <attribute name="classpath" default="${javac.classpath}:${j2ee.platform.classpath}"/>
            <attribute name="debug" default="${javac.debug}"/>
            <element name="customize" optional="true"/>
            <sequential>
                <javac srcdir="@{srcdir}" destdir="@{destdir}" debug="@{debug}" deprecation="${javac.deprecation}" source="${javac.source}" target="${javac.target}" includeantruntime="false">
                    <classpath>
                        <path path="@{classpath}"/>
                    </classpath>
                    <compilerarg line="${javac.compilerargs}"/>
                    <customize/>
                </javac>
            </sequential>
        </macrodef>
    </target>
    <target name="-init-macrodef-junit">
        <macrodef name="junit" uri="http://www.netbeans.org/ns/web-project/2">
            <attribute name="includes" default="**/*Test.java"/>
            <sequential>
                <junit showoutput="true" fork="true" dir="${basedir}" failureproperty="tests.failed" errorproperty="tests.failed">
                    <batchtest todir="${build.test.results.dir}">
                        <fileset dir="${test.src.dir}" includes="@{includes}"/>
                    </batchtest>
                    <classpath>
                        <path path="${run.test.classpath}"/>
                    </classpath>
                    <syspropertyset>
                        <propertyref prefix="test-sys-prop."/>
                        <mapper type="glob" from="test-sys-prop.*" to="*"/>
                    </syspropertyset>
                    <formatter type="brief" usefile="false"/>
                    <formatter type="xml"/>
                </junit>
            </sequential>
        </macrodef>
    </target>
    <target name="-init-macrodef-java">
        <macrodef name="java" uri="http://www.netbeans.org/ns/web-project/1">
            <attribute name="classname" default="${main.class}"/>
            <element name="customize" optional="true"/>
            <sequential>
                <java fork="true" classname="@{classname}">
                    <jvmarg line="${runmain.jvmargs}"/>
                    <classpath>
                        <path path="${build.classes.dir.real}:${javac.classpath}:${j2ee.platform.classpath}"/>
                    </classpath>
                    <syspropertyset>
                        <propertyref prefix="run-sys-prop."/>
                        <mapper type="glob" from="run-sys-prop.*" to="*"/>
                    </syspropertyset>
                    <customize/>
                </java>
            </sequential>
        </macrodef>
    </target>
    <target name="-init-macrodef-nbjpda">
        <macrodef name="nbjpdastart" uri="http://www.netbeans.org/ns/web-project/1">
            <attribute name="name" default="${main.class}"/>
            <attribute name="classpath" default="${debug.classpath}"/>
            <sequential>
                <nbjpdastart transport="dt_socket" addressproperty="jpda.address" name="@{name}">
                    <classpath>
                        <path path="@{classpath}"/>
                    </classpath>
                </nbjpdastart>
            </sequential>
        </macrodef>
        <macrodef name="nbjpdareload" uri="http://www.netbeans.org/ns/web-project/1">
            <attribute name="dir" default="${build.classes.dir.real}"/>
            <sequential>
                <nbjpdareload>
                    <fileset includes="${fix.includes}*.class" dir="@{dir}"/>
                </nbjpdareload>
            </sequential>
        </macrodef>
    </target>
    <target name="-init-macrodef-debug">
        <macrodef name="debug" uri="http://www.netbeans.org/ns/web-project/1">
            <attribute name="classname" default="${main.class}"/>
            <attribute name="classpath" default="${debug.classpath}"/>
            <attribute name="args" default="${application.args.param}"/>
            <sequential>
                <java fork="true" classname="@{classname}">
                    <jvmarg value="-Xdebug"/>
                    <jvmarg value="-Xnoagent"/>
                    <jvmarg value="-Djava.compiler=none"/>
                    <jvmarg value="-Xrunjdwp:transport=dt_socket,address=${jpda.address}"/>
                    <jvmarg line="${runmain.jvmargs}"/>
                    <classpath>
                        <path path="@{classpath}"/>
                    </classpath>
                    <syspropertyset>
                        <propertyref prefix="run-sys-prop."/>
                        <mapper type="glob" from="run-sys-prop.*" to="*"/>
                    </syspropertyset>
                    <arg line="@{args}"/>
                </java>
            </sequential>
        </macrodef>
    </target>
    <target name="-init-macrodef-copy-ear-war">
        <macrodef name="copy-ear-war">
            <attribute name="file"/>
            <attribute name="propname"/>
            <sequential>
                <basename property="base_@{propname}" file="@{file}"/>
                <zipfileset id="tld.files_@{propname}" src="@{file}" includes="META-INF/*.tld META-INF/tlds/*.tld"/>
                <pathconvert property="tld.files.path_@{propname}" refid="tld.files_@{propname}"/>
                <condition value="yes" property="hastlds_@{propname}">
                    <contains string="${tld.files.path_@{propname}}" substring=".tld" casesensitive="false"/>
                </condition>
                <condition value="${build.web.dir.real}/WEB-INF/lib" property="copy.to.dir_@{propname}">
                    <isset property="hastlds_@{propname}"/>
                </condition>
                <condition value="${dist.ear.dir}" property="copy.to.dir_@{propname}">
                    <not>
                        <isset property="hastlds_@{propname}"/>
                    </not>
                </condition>
                <copy file="@{file}" todir="${copy.to.dir_@{propname}}"/>
                <condition value="${base_@{propname}}" property="@{propname}">
                    <not>
                        <isset property="hastlds_@{propname}"/>
                    </not>
                </condition>
                <condition value="" property="@{propname}">
                    <isset property="hastlds_@{propname}"/>
                </condition>
            </sequential>
        </macrodef>
    </target>
    <target name="init" depends="-pre-init,-init-private,-init-user,-init-project,-do-init,-post-init,-init-check,-init-macrodef-property,-init-macrodef-javac,-init-macrodef-junit,-init-macrodef-java,-init-macrodef-nbjpda,-init-macrodef-debug,-init-macrodef-copy-ear-war"/>
    <!--
                COMPILATION SECTION
            -->
    <target name="deps-module-jar" depends="init" if="no.dist.ear.dir" unless="no.deps"/>
    <target name="deps-ear-jar" depends="init" if="dist.ear.dir" unless="no.deps"/>
    <target name="deps-jar" depends="init, deps-module-jar, deps-ear-jar" unless="no.deps"/>
    <target name="-pre-pre-compile" depends="init,deps-jar">
        <mkdir dir="${build.classes.dir.real}"/>
    </target>
    <target name="-pre-compile">
        <!-- Empty placeholder for easier customization. -->
        <!-- You can override this target in the ../build.xml file. -->
    </target>
    <target name="-copy-webdir">
        <copy todir="${build.web.dir.real}">
            <fileset excludes="${build.web.excludes}" dir="${web.docbase.dir}"/>
        </copy>
    </target>
    <target name="-do-compile" depends="init, deps-jar, -pre-pre-compile, -pre-compile, -copy-manifest, -copy-persistence-xml, -copy-webdir, library-inclusion-in-archive,library-inclusion-in-manifest" if="have.sources">
        <webproject2:javac destdir="${build.classes.dir.real}"/>
        <copy todir="${build.classes.dir.real}">
            <fileset dir="${src.dir}" excludes="${build.classes.excludes}"/>
        </copy>
    </target>
    <target name="-copy-manifest" if="has.custom.manifest">
        <mkdir dir="${build.meta.inf.dir}"/>
        <copy todir="${build.meta.inf.dir}">
            <fileset dir="${conf.dir}" includes="MANIFEST.MF"/>
        </copy>
    </target>
    <target name="-copy-persistence-xml" if="has.persistence.xml">
        <mkdir dir="${build.web.dir.real}/WEB-INF/classes/META-INF"/>
        <copy todir="${build.web.dir.real}/WEB-INF/classes/META-INF">
            <fileset dir="${conf.dir}" includes="persistence.xml"/>
        </copy>
    </target>
    <target name="-post-compile">
        <!-- Empty placeholder for easier customization. -->
        <!-- You can override this target in the ../build.xml file. -->
    </target>
    <target name="compile" depends="init,deps-jar,-pre-pre-compile,-pre-compile,-do-compile,-post-compile" description="Compile project."/>
    <target name="-pre-compile-single">
        <!-- Empty placeholder for easier customization. -->
        <!-- You can override this target in the ../build.xml file. -->
    </target>
    <target name="-do-compile-single" depends="init,deps-jar,-pre-pre-compile">
        <fail unless="javac.includes">Must select some files in the IDE or set javac.includes</fail>
        <webproject2:javac>
            <customize>
                <patternset includes="${javac.includes}"/>
            </customize>
        </webproject2:javac>
        <copy todir="${build.classes.dir.real}">
            <fileset dir="${src.dir}" excludes="${build.classes.excludes}"/>
        </copy>
    </target>
    <target name="-post-compile-single">
        <!-- Empty placeholder for easier customization. -->
        <!-- You can override this target in the ../build.xml file. -->
    </target>
    <target name="compile-single" depends="init,deps-jar,-pre-pre-compile,-pre-compile-single,-do-compile-single,-post-compile-single"/>
    <target name="compile-jsps" depends="compile" if="do.compile.jsps" description="Test compile JSP pages to expose compilation errors.">
        <mkdir dir="${build.generated.dir}/src"/>
        <java classname="org.netbeans.modules.web.project.ant.JspC" fork="true" failonerror="true">
            <arg value="-uriroot"/>
            <arg file="${basedir}/${build.web.dir.real}"/>
            <arg value="-d"/>
            <arg file="${basedir}/${build.generated.dir}/src"/>
            <arg value="-die1"/>
            <classpath path="${java.home}/../lib/tools.jar:${copyfiles.classpath}:${jspcompilation.classpath}"/>
        </java>
        <mkdir dir="${build.generated.dir}/classes"/>
        <webproject2:javac srcdir="${build.generated.dir}/src" destdir="${build.generated.dir}/classes" classpath="${j2ee.platform.classpath}:${build.classes.dir.real}:${jspcompilation.classpath}"/>
    </target>
    <target name="-do-compile-single-jsp" depends="compile" if="jsp.includes">
        <fail unless="javac.jsp.includes">Must select some files in the IDE or set javac.jsp.includes</fail>
        <mkdir dir="${build.generated.dir}/src"/>
        <java classname="org.netbeans.modules.web.project.ant.JspCSingle" fork="true" failonerror="true">
            <arg value="-uriroot"/>
            <arg file="${basedir}/${build.web.dir.real}"/>
            <arg value="-d"/>
            <arg file="${basedir}/${build.generated.dir}/src"/>
            <arg value="-die1"/>
            <arg value="-jspc.files"/>
            <arg path="${jsp.includes}"/>
            <classpath path="${java.home}/../lib/tools.jar:${copyfiles.classpath}:${jspcompilation.classpath}"/>
        </java>
        <mkdir dir="${build.generated.dir}/classes"/>
        <webproject2:javac srcdir="${build.generated.dir}/src" destdir="${build.generated.dir}/classes" classpath="${j2ee.platform.classpath}:${build.classes.dir.real}:${jspcompilation.classpath}">
            <customize>
                <patternset includes="${javac.jsp.includes}"/>
            </customize>
        </webproject2:javac>
    </target>
    <target name="compile-single-jsp">
        <fail unless="jsp.includes">Must select a file in the IDE or set jsp.includes</fail>
        <antcall target="-do-compile-single-jsp"/>
    </target>
    <!--
                DIST BUILDING SECTION
            -->
    <target name="-pre-dist">
        <!-- Empty placeholder for easier customization. -->
        <!-- You can override this target in the ../build.xml file. -->
    </target>
    <target name="-do-dist-without-manifest" if="do.war.package.without.custom.manifest" depends="init,compile,compile-jsps,-pre-dist">
        <dirname property="dist.jar.dir" file="${dist.war}"/>
        <mkdir dir="${dist.jar.dir}"/>
        <jar jarfile="${dist.war}" compress="${jar.compress}">
            <fileset dir="${build.web.dir.real}"/>
        </jar>
    </target>
    <target name="-do-dist-with-manifest" if="do.war.package.with.custom.manifest" depends="init,compile,compile-jsps,-pre-dist">
        <dirname property="dist.jar.dir" file="${dist.war}"/>
        <mkdir dir="${dist.jar.dir}"/>
        <jar manifest="${build.meta.inf.dir}/MANIFEST.MF" jarfile="${dist.war}" compress="${jar.compress}">
            <fileset dir="${build.web.dir.real}"/>
        </jar>
    </target>
    <target name="do-dist" depends="init,compile,compile-jsps,-pre-dist,-do-dist-with-manifest,-do-dist-without-manifest"/>
    <target name="library-inclusion-in-manifest" depends="init" if="dist.ear.dir">
        <mkdir dir="${build.web.dir.real}/META-INF"/>
        <manifest file="${build.web.dir.real}/META-INF/MANIFEST.MF" mode="update"/>
        <delete dir="${dist.ear.dir}/temp"/>
    </target>
    <target name="library-inclusion-in-archive" depends="init" unless="dist.ear.dir"/>
    <target name="do-ear-dist" depends="init,compile,compile-jsps,-pre-dist,library-inclusion-in-manifest">
        <dirname property="dist.jar.dir" file="${dist.ear.war}"/>
        <mkdir dir="${dist.jar.dir}"/>
        <jar jarfile="${dist.ear.war}" compress="${jar.compress}" manifest="${build.web.dir.real}/META-INF/MANIFEST.MF">
            <fileset dir="${build.web.dir.real}"/>
        </jar>
    </target>
    <target name="-post-dist">
        <!-- Empty placeholder for easier customization. -->
        <!-- You can override this target in the ../build.xml file. -->
    </target>
    <target name="dist" depends="init,compile,-pre-dist,do-dist,-post-dist" description="Build distribution (WAR)."/>
    <target name="dist-ear" depends="init,compile,-pre-dist,do-ear-dist,-post-dist" description="Build distribution (WAR) to be packaged into an EAR."/>
    <!--
                EXECUTION SECTION
            -->
    <target name="run" depends="run-deploy,run-display-browser" description="Deploy to server and show in browser."/>
    <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">
        <!-- Task to deploy to the Access Manager runtime. -->
    </target>
    <target name="run-deploy" depends="init,compile,compile-jsps,-do-compile-single-jsp,dist,-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"/>
    <target name="-run-deploy-nb" if="netbeans.home">
        <nbdeploy debugmode="false" clientUrlPart="${client.urlPart}" forceRedeploy="${forceRedeploy}"/>
    </target>
    <target name="-init-deploy-ant" unless="netbeans.home">
        <property name="deploy.ant.archive" value="${dist.war}"/>
        <property name="deploy.ant.docbase.dir" value="${web.docbase.dir}"/>
        <property name="deploy.ant.resource.dir" value="${resource.dir}"/>
        <property name="deploy.ant.enabled" value="true"/>
    </target>
    <target name="run-undeploy" depends="dist,-run-undeploy-nb,-init-deploy-ant,-undeploy-ant"/>
    <target name="-run-undeploy-nb" if="netbeans.home">
        <fail message="Undeploy is not supported from within the IDE"/>
    </target>
    <target name="verify" depends="init,dist">
        <nbverify file="${dist.war}"/>
    </target>
    <target name="run-display-browser" depends="run-deploy,-init-display-browser,-display-browser-nb,-display-browser-cl"/>
    <target name="-init-display-browser" if="do.display.browser">
        <condition property="do.display.browser.nb">
            <isset property="netbeans.home"/>
        </condition>
        <condition property="do.display.browser.cl">
            <isset property="deploy.ant.enabled"/>
        </condition>
    </target>
    <target name="-display-browser-nb" if="do.display.browser.nb">
        <nbbrowse url="${client.url}"/>
    </target>
    <target name="-get-browser" if="do.display.browser.cl" unless="browser">
        <condition property="browser" value="rundll32">
            <os family="windows"/>
        </condition>
        <condition property="browser.args" value="url.dll,FileProtocolHandler" else="">
            <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 name="-display-browser-cl" depends="-get-browser" if="do.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 name="run-main" depends="init,compile-single">
        <fail unless="run.class">Must select one file in the IDE or set run.class</fail>
        <webproject1:java classname="${run.class}"/>
    </target>
    <!--
                DEBUGGING SECTION
            -->
    <target name="debug" description="Debug project in IDE." depends="init,compile,compile-jsps,-do-compile-single-jsp,dist" if="netbeans.home">
        <nbdeploy debugmode="true" clientUrlPart="${client.urlPart}"/>
        <antcall target="connect-debugger"/>
        <antcall target="debug-display-browser"/>
    </target>
    <target name="connect-debugger" unless="is.debugged">
        <nbjpdaconnect name="${name}" host="${jpda.host}" address="${jpda.address}" transport="${jpda.transport}">
            <classpath>
                <path path="${debug.classpath}:${ws.debug.classpaths}"/>
            </classpath>
            <sourcepath>
                <path path="${web.docbase.dir}:${ws.web.docbase.dirs}"/>
            </sourcepath>
        </nbjpdaconnect>
    </target>
    <target name="debug-display-browser" if="do.display.browser">
        <nbbrowse url="${client.url}"/>
    </target>
    <target name="debug-single" if="netbeans.home" depends="init,compile,compile-jsps,-do-compile-single-jsp,debug"/>
    <target name="-debug-start-debugger" if="netbeans.home" depends="init">
        <webproject1:nbjpdastart name="${debug.class}"/>
    </target>
    <target name="-debug-start-debuggee-single" if="netbeans.home" depends="init,compile-single">
        <fail unless="debug.class">Must select one file in the IDE or set debug.class</fail>
        <webproject1:debug classname="${debug.class}"/>
    </target>
    <target name="debug-single-main" if="netbeans.home" depends="init,compile-single,-debug-start-debugger,-debug-start-debuggee-single"/>
    <target name="-pre-debug-fix" depends="init">
        <fail unless="fix.includes">Must set fix.includes</fail>
        <property name="javac.includes" value="${fix.includes}.java"/>
    </target>
    <target name="-do-debug-fix" if="netbeans.home" depends="init,-pre-debug-fix,compile-single">
        <webproject1:nbjpdareload/>
    </target>
    <target name="debug-fix" if="netbeans.home" depends="init,-pre-debug-fix,-do-debug-fix"/>
    <!--
                JAVADOC SECTION
            -->
    <target name="javadoc-build" depends="init">
        <mkdir dir="${dist.javadoc.dir}"/>
        <javadoc destdir="${dist.javadoc.dir}" source="${javac.source}" notree="${javadoc.notree}" use="${javadoc.use}" nonavbar="${javadoc.nonavbar}" noindex="${javadoc.noindex}" splitindex="${javadoc.splitindex}" author="${javadoc.author}" version="${javadoc.version}" windowtitle="${javadoc.windowtitle}" private="${javadoc.private}" additionalparam="${javadoc.additionalparam}" failonerror="true" useexternalfile="true">
            <classpath>
                <path path="${javac.classpath}:${j2ee.platform.classpath}"/>
            </classpath>
            <sourcepath>
                <pathelement location="${src.dir}"/>
            </sourcepath>
            <packageset dir="${src.dir}" includes="*/**"/>
            <fileset dir="${src.dir}" includes="*.java"/>
        </javadoc>
    </target>
    <target name="javadoc-browse" if="netbeans.home" unless="no.javadoc.preview" depends="init,javadoc-build">
        <nbbrowse file="${dist.javadoc.dir}/index.html"/>
    </target>
    <target name="javadoc" depends="init,javadoc-build,javadoc-browse" description="Build Javadoc."/>
    <!--
                
                JUNIT COMPILATION SECTION
            -->
    <target name="-pre-pre-compile-test" if="have.tests" depends="init,compile">
        <mkdir dir="${build.test.classes.dir}"/>
    </target>
    <target name="-pre-compile-test">
        <!-- Empty placeholder for easier customization. -->
        <!-- You can override this target in the ../build.xml file. -->
    </target>
    <target name="-do-compile-test" if="have.tests" depends="init,compile,-pre-pre-compile-test,-pre-compile-test">
        <webproject2:javac srcdir="${test.src.dir}" destdir="${build.test.classes.dir}" debug="true" classpath="${javac.test.classpath}:${j2ee.platform.classpath}"/>
        <copy todir="${build.test.classes.dir}">
            <fileset dir="${test.src.dir}" excludes="**/*.java"/>
        </copy>
    </target>
    <target name="-post-compile-test">
        <!-- Empty placeholder for easier customization. -->
        <!-- You can override this target in the ../build.xml file. -->
    </target>
    <target name="compile-test" depends="init,compile,-pre-pre-compile-test,-pre-compile-test,-do-compile-test,-post-compile-test"/>
    <target name="-pre-compile-test-single">
        <!-- Empty placeholder for easier customization. -->
        <!-- You can override this target in the ../build.xml file. -->
    </target>
    <target name="-do-compile-test-single" if="have.tests" depends="init,compile,-pre-pre-compile-test,-pre-compile-test-single">
        <fail unless="javac.includes">Must select some files in the IDE or set javac.includes</fail>
        <webproject2:javac srcdir="${test.src.dir}" destdir="${build.test.classes.dir}" debug="true" classpath="${javac.test.classpath}:${j2ee.platform.classpath}">
            <customize>
                <patternset includes="${javac.includes}"/>
            </customize>
        </webproject2:javac>
        <copy todir="${build.test.classes.dir}">
            <fileset dir="${test.src.dir}" excludes="**/*.java"/>
        </copy>
    </target>
    <target name="-post-compile-test-single">
        <!-- Empty placeholder for easier customization. -->
        <!-- You can override this target in the ../build.xml file. -->
    </target>
    <target name="compile-test-single" depends="init,compile,-pre-pre-compile-test,-pre-compile-test-single,-do-compile-test-single,-post-compile-test-single"/>
    <!--
                
                JUNIT EXECUTION SECTION
            -->
    <target name="-pre-test-run" if="have.tests" depends="init">
        <mkdir dir="${build.test.results.dir}"/>
    </target>
    <target name="-do-test-run" if="have.tests" depends="init,compile-test,-pre-test-run">
        <webproject2:junit/>
    </target>
    <target name="-post-test-run" if="have.tests" depends="init,compile-test,-pre-test-run,-do-test-run">
        <fail if="tests.failed">Some tests failed; see details above.</fail>
    </target>
    <target name="test-report" if="have.tests" depends="init"/>
    <target name="-test-browse" if="netbeans.home+have.tests" depends="init"/>
    <target name="test" depends="init,compile-test,-pre-test-run,-do-test-run,test-report,-post-test-run,-test-browse" description="Run unit tests."/>
    <target name="-pre-test-run-single" if="have.tests" depends="init">
        <mkdir dir="${build.test.results.dir}"/>
    </target>
    <target name="-do-test-run-single" if="have.tests" depends="init,compile-test-single,-pre-test-run-single">
        <fail unless="test.includes">Must select some files in the IDE or set test.includes</fail>
        <webproject2:junit includes="${test.includes}"/>
    </target>
    <target name="-post-test-run-single" if="have.tests" depends="init,compile-test-single,-pre-test-run-single,-do-test-run-single">
        <fail if="tests.failed">Some tests failed; see details above.</fail>
    </target>
    <target name="test-single" depends="init,compile-test-single,-pre-test-run-single,-do-test-run-single,-post-test-run-single" description="Run single unit test."/>
    <!--
                
                JUNIT DEBUGGING SECTION
            -->
    <target name="-debug-start-debuggee-test" if="have.tests" depends="init,compile-test">
        <fail unless="test.class">Must select one file in the IDE or set test.class</fail>
        <webproject1:debug classname="junit.textui.TestRunner" classpath="${debug.test.classpath}" args="${test.class}"/>
    </target>
    <target name="-debug-start-debugger-test" if="netbeans.home+have.tests" depends="init,compile-test">
        <webproject1:nbjpdastart name="${test.class}" classpath="${debug.test.classpath}"/>
    </target>
    <target name="debug-test" depends="init,compile-test,-debug-start-debugger-test,-debug-start-debuggee-test"/>
    <target name="-do-debug-fix-test" if="netbeans.home" depends="init,-pre-debug-fix,compile-test-single">
        <webproject1:nbjpdareload dir="${build.test.classes.dir}"/>
    </target>
    <target name="debug-fix-test" if="netbeans.home" depends="init,-pre-debug-fix,-do-debug-fix-test"/>
    <!--
                
                CLEANUP SECTION
            -->
    <target name="deps-clean" depends="init" if="no.dist.ear.dir" unless="no.deps"/>
    <target name="do-clean" depends="init">
        <condition value="${build.web.dir.real}" property="build.dir.to.clean">
            <isset property="dist.ear.dir"/>
        </condition>
        <property value="${build.web.dir.real}" name="build.dir.to.clean"/>
        <delete includeEmptyDirs="true" quiet="true">
            <fileset dir="${build.dir.to.clean}/WEB-INF/lib"/>
        </delete>
        <delete dir="${build.dir}"/>
        <available file="${build.dir.to.clean}/WEB-INF/lib" type="dir" property="status.clean-failed"/>
        <delete dir="${dist.dir}"/>
    </target>
    <target name="check-clean" depends="do-clean" if="status.clean-failed">
        <echo message="Warning: unable to delete some files in ${build.web.dir.real}/WEB-INF/lib - they are probably locked by the J2EE server. "/>
        <echo level="info" message="To delete all files undeploy the module from Server Registry in Runtime tab and then use Clean again."/>
    </target>
    <target name="-post-clean">
        <!-- Empty placeholder for easier customization. -->
        <!-- You can override this target in the ../build.xml file. -->
    </target>
    <target name="clean" depends="init,deps-clean,do-clean,check-clean,-post-clean" description="Clean build products."/>
    <target name="clean-ear" depends="clean" description="Clean build products."/>
</project>
