<?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="projectized-common" basedir=".">

    <!-- XXX supply descriptions for the appropriate targets -->
    <!-- XXX should use namespaces for NB in-VM tasks from ant/browsetask and debuggerjpda/ant and apisupport/ant -->
    <!-- XXX move more things here from projectized.xml when possible and desirable -->

    <condition property="testcoverage.import" value="testcoverage.xml">
        <and>
            <isset property="harness.dir"/>
            <available file="testcoverage.xml" filepath="${harness.dir}"/>
        </and>
    </condition>
    <condition property="testcoverage.import" value="${netbeans.dest.dir}/harness/testcoverage.xml">
        <and>
            <isset property="netbeans.dest.dir"/>
            <available file="testcoverage.xml" filepath="${netbeans.dest.dir}/harness"/>
        </and>
    </condition>
    <property name="testcoverage.import" value="no-testcoverage.xml"/>
    <import file="${testcoverage.import}"/>
    
    <target name="-build-dir-init">
        <property name="build.dir" location="build"/>
    </target>

    <target name="basic-init" depends="common-init,-jdk-init">
        <!-- Synch the following property loads with NbModuleProject.makeEvalDefs: -->
        <property file="nbproject/private/private.properties"/>
        <property file="nbproject/project.properties"/>
        <!-- Do not try to set module.classpath here, in particular: -->
        <!-- during a clean, the ${foo/bar.dir} properties may not be set. -->
        <parseprojectxml project="." 
                         codenamebaseproperty="code.name.base"
                         codenamebasedashesproperty="code.name.base.dashes"
                         codenamebaseslashesproperty="code.name.base.slashes"
        />
        <property name="module.jar.dir" value="modules"/>
        <property name="module.jar.basename" value="${code.name.base.dashes}.jar"/>
        <property name="module.jar" value="${module.jar.dir}/${module.jar.basename}"/>
        <available property="has.javahelp" file="javahelp" type="dir"/>
        <property name="javahelp.jar.dir" value="modules/docs"/>
        <property name="javahelp.jar.basename" value="${code.name.base.dashes}.jar"/>
        <property name="javahelp.jar" value="${javahelp.jar.dir}/${javahelp.jar.basename}"/>
        <condition property="javahelp.class.path.extension" value="docs/${javahelp.jar.basename}">
            <isset property="has.javahelp"/>
        </condition>
        <property name="javac.source" value="1.7"/>
        <property name="javac.target" value="${javac.source}"/>
        <property name="javac.compilerargs" value=""/>
        <property name="module.auto.deps.xml" location="module-auto-deps.xml"/>
        <condition property="has.module.auto.deps">
            <available file="${module.auto.deps.xml}"/>
        </condition>
        <property name="jar-excludes" value="**/*.java,**/*.form,**/package.html,**/doc-files/"/>
        <property name="module.jar.verifylinkageignores" value=""/>
        <property name="cp.extra" value=""/>
        <tstamp>
            <format property="module.build.started.time" pattern="yyyy-MM-dd'T'HH:mm:ss.SSSZ"/>
        </tstamp>
        <condition property="asm.jar" value="${nbplatform.active.dir}/platform/core/asm-all-5.0.1.jar">
            <available file="${nbplatform.active.dir}/platform/core/asm-all-5.0.1.jar"/>
        </condition>
        <property name="asm.jar" location="${platform/libs.asm.dir}/core/asm-all-5.0.1.jar"/>
    </target>

    <target name="-release.dir">
        <property name="release.dir" location="release"/>
        <condition property="has.release.dir">
            <available file="${release.dir}"/>
        </condition>
    </target>
    <target name="-release.files" depends="-release.dir" if="has.release.dir">
        <pathconvert pathsep="," property="release.files">
            <path>
                <fileset dir="${release.dir}"/>
            </path>
            <filtermapper>
                <replacestring from="${release.dir}${file.separator}" to=""/>
                <replacestring from=" " to="?"/>
            </filtermapper>
        </pathconvert>
    </target>
    <target name="files-init" depends="basic-init,-release.files">
        <property name="release.files" value=""/>
        <property name="release.files.extra" value=""/>
        <property name="extra.module.files" value=""/>
        <patternset id="module.files" includes="${release.files},${release.files.extra},${extra.module.files}">
            <include name="${module.jar}"/>
            <include name="${javahelp.jar}" if="has.javahelp"/>
            <include name="config/Modules/${code.name.base.dashes}.xml"/>
            <include name="config/ModuleAutoDeps/${code.name.base.dashes}.xml" if="has.module.auto.deps"/>
            <include name="ant/nblib/${code.name.base.dashes}.jar"/>
        </patternset>
    </target>

    <target name="-javac-init-nbjdk" depends="-jdk-preinit" if="nbjdk.valid">
        <macrodef name="custom-javac-presetdef">
            <attribute name="javacval"/>
            <sequential>
               <presetdef name="custom-javac">
                    <custom-javac executable="@{javacval}"/>
                </presetdef>
            </sequential>
        </macrodef>
        <custom-javac-presetdef javacval="${nbjdk.javac}"/>
    </target>

    <target name="-javac-init-bootclasspath-prepend" depends="build-init" if="bootclasspath.prepend">
        <presetdef name="nb-javac">
            <custom-javac>
                <bootclasspath>
                    <path path="${nbjdk.bootclasspath}"/>
                </bootclasspath>
                <compilerarg value="-Xbootclasspath/p:${bootclasspath.prepend}" />
            </custom-javac>
        </presetdef>
    </target>

    <target name="-javac-init-no-bootclasspath-prepend" depends="build-init" unless="bootclasspath.prepend">
        <presetdef name="nb-javac">
            <custom-javac>
                <bootclasspath>
                    <path path="${nbjdk.bootclasspath}"/>
                </bootclasspath>
            </custom-javac>
        </presetdef>
    </target>

    <target name="-javac-init" depends="build-init,-javac-init-nbjdk,-javac-init-bootclasspath-prepend,-javac-init-no-bootclasspath-prepend">
        <path id="cp">
            <pathelement path="${module.classpath}"/>
            <pathelement path="${cp.extra}"/>
        </path>
        <path id="processor.cp">
            <pathelement path="${module.processor.classpath}"/>
            <pathelement path="${cp.extra}"/>
        </path>
        <!-- Unlike ${module.classpath}, this does not use publicPackageJarDir, since processors need not be in public packages. -->
        <!-- Also needs to include transitive dependencies. -->
    </target>

    <target name="up-to-date" depends="init">
        <uptodate targetfile="${cluster}/${module.jar}" property="is.jar.uptodate">
            <srcfiles dir="${src.dir}"/>
            <srcfiles dir="nbproject">
                <include name="project.xml"/>
                <include name="project.properties"/>
            </srcfiles>
            <srcfiles dir=".">
                <include name="manifest.mf"/>
            </srcfiles>
            <srcresources>
                <path refid="cp"/>
            </srcresources>
        </uptodate>
    </target>

    <target name="update" depends="basic-init">
        <fail
            message="Please specify URL of catalog to perform the update from via -Dautoupdate.catalog.url=..."
            unless="autoupdate.catalog.url"
        />
        <autoupdate
            updatecenter="${autoupdate.catalog.url}"
            todir="${cluster}"
        >
            <modules includes="${code.name.base}"/>
        </autoupdate>
    </target>

    <target name="compile" depends="init,up-to-date" unless="is.jar.uptodate">
        <mkdir dir="${build.classes.dir}"/>
        <depend srcdir="${src.dir}" destdir="${build.classes.dir}" cache="${build.dir}/depcache">
            <classpath refid="cp"/>
        </depend>
        <property name="javac.fork" value="false"/>
        <nb-javac srcdir="${src.dir}" destdir="${build.classes.dir}" debug="${build.compiler.debug}" debuglevel="${build.compiler.debuglevel}" encoding="UTF-8"
                  deprecation="${build.compiler.deprecation}" optimize="${build.compiler.optimize}" source="${javac.source}" target="${javac.target}" includeantruntime="false"
                  fork="${javac.fork}"
        >
            <classpath refid="cp"/>
            <compilerarg line="${javac.compilerargs}"/>
            <processorpath refid="processor.cp"/>
        </nb-javac>
        <copy todir="${build.classes.dir}">
            <fileset dir="${src.dir}" excludes="${jar-excludes}"/>
        </copy>
        <processjsannotation classes="${build.classes.dir}" asm="${asm.jar}">
            <classpath refid="cp"/>
        </processjsannotation>
    </target>

    <target name="compile-single" depends="init">
        <fail unless="javac.includes">Must select some files in the IDE or set javac.includes</fail>
        <mkdir dir="${build.classes.dir}"/>
        <pathconvert pathsep="${line.separator}" property="javac.includes.binary">
            <path>
                <filelist dir="${build.classes.dir}" files="${javac.includes}"/>
            </path>
            <globmapper from="*.java" to="*.class"/>
        </pathconvert>
        <tempfile deleteonexit="true" property="javac.includesfile.binary"/>
        <echo file="${javac.includesfile.binary}" message="${javac.includes.binary}"/>
        <delete>
            <files includesfile="${javac.includesfile.binary}"/>
        </delete>
        <delete>
            <fileset file="${javac.includesfile.binary}"/>
        </delete>
        <nb-javac srcdir="${src.dir}" destdir="${build.classes.dir}"
                  debug="${build.compiler.debug}" deprecation="${build.compiler.deprecation}" encoding="UTF-8"
                  source="${javac.source}" target="${javac.target}" includes="${javac.includes}" optimize="${build.compiler.optimize}" includeantruntime="false">
            <classpath refid="cp"/>
            <compilerarg line="${javac.compilerargs}"/>
            <processorpath refid="processor.cp"/>
        </nb-javac>
        <processjsannotation classes="${build.classes.dir}" asm="${asm.jar}">
            <classpath refid="cp"/>
        </processjsannotation>
    </target>

    <target name="jar-prep" depends="init">
        <mkdir dir="${cluster}/${module.jar.dir}"/>
        <tstamp>
            <format property="buildnumber" pattern="yyMMdd" timezone="UTC"/>
        </tstamp>
    </target>

    <target name="jar" depends="init,compile,jar-prep" unless="is.jar.uptodate">
        <!-- This task adds some or all of: -Public-Packages, -Friends, Class-Path, -IDE-Dependencies, -Module-Dependencies, -Specification-Version, -Implementation-Version, -Build-Version, AutoUpdate-Show-In-Client -->
        <jarwithmoduleattributes jarfile="${cluster}/${module.jar}" compress="${build.package.compress}" index="${build.package.index}" manifest="${manifest.mf}" stamp="${cluster}/.lastModified">
            <fileset dir="${build.classes.dir}"/>
        </jarwithmoduleattributes>
    </target>

    <!-- Can insert extra stuff in here: -->
    <target name="netbeans-extra"/>

    <target name="-init-startlevel">
        <property name="module.startlevel" value=""/>
        <property name="check.module.startlevel" value="true"/>
    </target>

    <target name="module-xml-regular" if="is.regular" depends="-init-startlevel">
        <mkdir dir="${cluster}/config/Modules"/>
        <createmodulexml xmldir="${cluster}/config/Modules" startlevel="${module.startlevel}" strictcheck="${check.module.startlevel}">
            <enabled dir="${cluster}">
                <include name="${module.jar}"/>
            </enabled>
        </createmodulexml>
    </target>

    <target name="module-xml-autoload" if="is.autoload" depends="-init-startlevel">
        <mkdir dir="${cluster}/config/Modules"/>
        <createmodulexml xmldir="${cluster}/config/Modules" startlevel="${module.startlevel}" strictcheck="${check.module.startlevel}">
            <autoload dir="${cluster}">
                <include name="${module.jar}"/>
            </autoload>
        </createmodulexml>
    </target>

    <target name="module-xml-eager" if="is.eager" depends="-init-startlevel">
        <mkdir dir="${cluster}/config/Modules"/>
        <createmodulexml xmldir="${cluster}/config/Modules" startlevel="${module.startlevel}" strictcheck="${check.module.startlevel}">
            <eager dir="${cluster}">
                <include name="${module.jar}"/>
            </eager>
        </createmodulexml>
    </target>

    <target name="module-auto-deps" depends="basic-init" if="has.module.auto.deps">
        <mkdir dir="${cluster}/config/ModuleAutoDeps"/>
        <copy file="${module.auto.deps.xml}" tofile="${cluster}/config/ModuleAutoDeps/${code.name.base.dashes}.xml"/>
    </target>

    <target name="release" depends="files-init" if="has.release.dir">
        <mkdir dir="${cluster}"/>
        <copy todir="${cluster}" overwrite="true">
            <fileset dir="${release.dir}">
                <patternset includes="${release.files}"/>
            </fileset>
        </copy>        
    </target>

    
    <target name="chmod-executables" depends="-init-executables">
        <chmod perm="a+x">
            <fileset refid="module.executable.files"/>
        </chmod>
    </target>

    <target name="verify-class-linkage" depends="jar,release">
<!--        <verifyclasslinkage jar="${cluster}/${module.jar}" failonerror="false" ignores="${module.jar.verifylinkageignores}" maxwarnings="10">
            <classpath refid="cp"/>
            <classpath path="${nbjdk.bootclasspath}"/>
        </verifyclasslinkage>-->
    </target>

    <target name="-verify-apichanges"/><!-- just for overriding -->

    <target name="-validate-layers" depends="init">
        <parsemanifest manifest="${manifest.mf}" attribute="OpenIDE-Module-Layer" property="layer.file"/>
        <!-- DTD from sources -->
        <available file="${nb_all}/platform/openide.filesystems/src/org/openide/filesystems/filesystem.dtd" type="file"
                   property="dtd.cp" value="${nb_all}/platform/openide.filesystems/src"/>
        <!-- DTD from platform -->
        <pathconvert property="dtd.cp">
            <pathfileset>
                <path refid="cluster.path.id"/>
                <filename name="platform/core/org-openide-filesystems.jar"/>
            </pathfileset>
        </pathconvert>

        <xmlvalidate warn="no"> <!--  failonerror="false" -->
            <fileset file="${src.dir}/${layer.file}" erroronmissingdir="false"/>
            <xmlcatalog classpath="${dtd.cp}">
                <dtd publicId="-//NetBeans//DTD Filesystem 1.0//EN"
                     location="org/openide/filesystems/filesystem.dtd"/>
                <dtd publicId="-//NetBeans//DTD Filesystem 1.1//EN"
                     location="org/openide/filesystems/filesystem1_1.dtd"/>
                <dtd publicId="-//NetBeans//DTD Filesystem 1.2//EN"
                     location="org/openide/filesystems/filesystem1_2.dtd"/>
            </xmlcatalog>
        </xmlvalidate>
    </target>

    <target name="-netbeans" depends="init,jar,netbeans-extra,javahelp,module-auto-deps,release,module-xml-regular,
            module-xml-autoload,module-xml-eager,chmod-executables,verify-class-linkage,
            -validate-layers,-verify-apichanges"/> 
    
    <target name="netbeans" depends="-netbeans">
        <property name="module.files.toString" refid="module.files"/>
        <echo level="verbose">Basic matching module files: ${module.files.toString}</echo>
        <genlist outputfiledir="${cluster}" module="${module.jar}">
            <fileset dir="${cluster}">
                <patternset refid="module.files"/>
            </fileset>
        </genlist>
    </target>

    <target name="build" depends="netbeans,test-build"/>

    <target name="-jnlp-init">
        <fail unless="jnlp.dest.dir" >
            You have to provide value to jnlp.dest.dir property!
        </fail>
        <mkdir dir="${jnlp.dest.dir}" />
        <makeurl property="jnlp.codebase" file="${jnlp.dest.dir}"/>
        <property name="jnlp.signjar.alias" value="jnlp" />
        <property name="jnlp.signjar.keystore" location="${jnlp.dest.dir}/default.keystore" />
        <property name="jnlp.signjar.password" value="netbeans" />
        <property name="jnlp.permissions" value="&lt;security&gt;&lt;all-permissions/&gt;&lt;/security&gt;"/>
        <property name="jnlp.verify.excludes" value="" />
        <!-- Oddly, <available> as a task overrides existing properties, which is not what we want here. -->
        <condition property="jnlp.sign.jars" value="true">
            <available file="${jnlp.signjar.keystore}"/>
        </condition>
        <property name="jnlp.sign.jars" value="false"/>
        <property name="jnlp.indirect.jars" value="[NOTHING]"/>
        <property name="jnlp.indirect.files" value="[NOTHING]"/>
        <property name="jnlp.generate.versions" value="false"/>
    </target>

    <target name="jnlp" depends="init,netbeans,jnlp-master,-jnlp-init" description="Builds JNLP descriptor and signs JAR files" >
        <makejnlp
            dir="${jnlp.dest.dir}"
            alias="${jnlp.signjar.alias}"
            storepass="${jnlp.signjar.password}"
            keystore="${jnlp.signjar.keystore}"
            codebase="${jnlp.codebase}"
            verify="true"
            verifyexcludes="${jnlp.verify.excludes}"
            permissions="${jnlp.permissions}"
            signjars="${jnlp.sign.jars}"
            processjarversions="${jnlp.generate.versions}"
        >
            <modules dir="${cluster}" >
                <include name="${module.jar}" />
            </modules>
            <indirectjars dir="${cluster}" includes="${jnlp.indirect.jars}"/>
            <indirectfiles dir="${cluster}" includes="${jnlp.indirect.files}"/>
        </makejnlp>
    </target>

    <target name="jnlp-master" depends="init,netbeans" if="jnlp.master.dir" >
        <property name="jnlp.master.codebase" value="" />
        <makemasterjnlp
            dir="${jnlp.master.dir}"
            codebase="${jnlp.master.codebase}"
        >
            <modules dir="${cluster}" >
                <include name="${module.jar}" />
            </modules>
        </makemasterjnlp>
    </target>


    <target name="-nbm-prompt-for-storepass" if="keystore" unless="storepass">
        <input addproperty="storepass" message="Enter password for ${keystore}:">
            <handler type="secure"/>
        </input>
    </target>

    <target name="-init-executables">
        <property name="nbm.executable.files" value="[NOTHING]"/><!-- fallback -->
        <fileset dir="${cluster}" id="module.executable.files" includes="${nbm.executable.files}"/>
    </target>

    <target name="-init-extra.nbm.files" unless="extra.nbm.files.provided"> <!-- fallback -->
        <zipfileset dir="${cluster}" id="extra.nbm.files" includes="[NOTHING]"/>
    </target>

    <target name="nbm" depends="init,netbeans,-nbm-prompt-for-storepass,-init-executables,-init-extra.nbm.files" description="Build NBM archive.">
        <mkdir dir="${build.dir}"/>
        <property name="nbm.target.cluster" value=""/> <!-- fallback -->
        <property name="license.file.override" value="${license.file}"/>
        <property name="use.pack200" value="true"/>
        <property name="pack200.excludes" value=""/>
        <property name="nbm.locales" value="${locales}"/>
        <makenbm file="${build.dir}/${nbm}"
                 productdir="${cluster}"
                 module="${module.jar}"
                 homepage="${nbm.homepage}"
                 distribution="${nbm.distribution}"
                 needsrestart="${nbm.needs.restart}"
                 global="${nbm.is.global}"
                 preferredupdate="${nbm.is.preferredupdate}"
                 usepack200="${use.pack200}"
                 pack200excludes="${pack200.excludes}"
                 alwayscreatenbm="${nbm.always.create}"
                 targetcluster="${nbm.target.cluster}"
                 releasedate="${nbm.release.date}"
                 moduleauthor="${nbm.module.author}"
                 locales="${nbm.locales}"
                 >
            <license file="${license.file.override}"/>
            <signature keystore="${keystore}" storepass="${storepass}" alias="${nbm_alias}"/>
            <updaterjar>
                <pathfileset>
                    <path refid="cluster.path.id"/>
                    <filename name="modules/ext/updater.jar"/>
                </pathfileset>
            </updaterjar>
            <executables refid="module.executable.files"/>
            <extranbmfiles refid="extra.nbm.files"/>
        </makenbm>
    </target>

    <target name="nbm-nosignature" depends="init,netbeans,-nbm-prompt-for-storepass,-init-executables" description="Build NBM archive.">
        <mkdir dir="${build.dir}"/>
        <property name="nbm.target.cluster" value=""/> <!-- fallback -->
        <property name="license.file.override" value="${license.file}"/>
        <property name="use.pack200" value="true"/>
        <property name="pack200.excludes" value=""/>
        <property name="nbm.locales" value="${locales}"/>
        <makenbm file="${build.dir}/${nbm}"
                 productdir="${cluster}"
                 module="${module.jar}"
                 homepage="${nbm.homepage}"
                 distribution="${nbm.distribution}"
                 needsrestart="${nbm.needs.restart}"
                 global="${nbm.is.global}"
                 preferredupdate="${nbm.is.preferredupdate}"
                 usepack200="${use.pack200}"
                 pack200excludes="${pack200.excludes}"
                 targetcluster="${nbm.target.cluster}"
                 releasedate="${nbm.release.date}"
                 moduleauthor="${nbm.module.author}"
                 locales="${nbm.locales}"
                 >
            <license file="${license.file.override}"/>
            <updaterjar>
                <pathfileset>
                    <path refid="cluster.path.id"/>
                    <filename name="modules/ext/updater.jar"/>
                </pathfileset>
            </updaterjar>
            <executables refid="module.executable.files"/>
        </makenbm>
    </target>

    <target name="test-preinit" depends="init"/>
    <target name="test-init" depends="init,test-preinit,test-lib-init">
        <property name="test.timeout" value="600000"/> <!-- 10min per test -->
        <property name="test.run.args" value="-ea"/>
        <property name="test.filter.trace" value="true"/>
        <condition property="test.bootclasspath.prepend.args" value="-Xbootclasspath/p:${run.bootclasspath.prepend}">
            <isset property="run.bootclasspath.prepend"/>
        </condition>
        <property name="test.bootclasspath.prepend.args" value="-Dno.netbeans.bootclasspath.prepend.needed=true"/>
        <macrodef name="test-init">
            <attribute name="test.type"/>
            <sequential>
                <property name="test.@{test.type}.dir" location="test/@{test.type}"/>
                <property name="test.@{test.type}.src.dir" location="${test.@{test.type}.dir}/src"/>
                <property name="test.@{test.type}.data.dir" location="${test.@{test.type}.dir}/data"/>
                <property name="build.test.@{test.type}.dir" location="${build.dir}/test/@{test.type}"/>
                <property name="build.test.@{test.type}.classes.dir" location="${build.test.@{test.type}.dir}/classes"/>
                <property name="build.test.@{test.type}.results.dir" location="${build.test.@{test.type}.dir}/results"/>
                <property name="build.test.@{test.type}.work.dir" location="${build.test.@{test.type}.dir}/work"/>
                <property name="test-@{test.type}-sys-prop.cluster.path.final" value="${cluster.path.final}:${cluster}"/> <!-- #153178, 176019 -->
                <property name="test.@{test.type}.cp.extra" value=""/>
                <path id="test.@{test.type}.cp">
                    <!-- Cannot use <path refid="cp"/> since that uses ${module.classpath} and we want ${module.run.classpath}: -->
                    <pathelement path="${test.@{test.type}.compile.cp}"/>
                    <pathelement path="${cp.extra}"/>
                    <pathelement location="${cluster}/${module.jar}"/>
                    <path refid="test.unit.lib.cp"/>
                    <!-- for compatibility with property based classpath-->
                    <pathelement path="${module.run.classpath}"/>
                    <pathelement path="${test.@{test.type}.cp.extra}"/>
                </path>
                <path id="test.@{test.type}.run.cp">
                    <pathelement path="${build.test.@{test.type}.classes.dir}"/>
                    <!-- Cannot use <path refid="cp"/> since that uses ${module.classpath} and we want ${module.run.classpath}: -->
                    <pathelement path="${test.@{test.type}.runtime.cp}"/>
                    <pathelement path="${cp.extra}"/>
                    <pathelement location="${cluster}/${module.jar}"/>
                    <path refid="test.unit.lib.cp"/>
                    <!-- for compatibility with property based classpath-->
                    <pathelement path="${module.run.classpath}"/>
                    <pathelement path="${test.@{test.type}.run.cp.extra}"/>
                    <pathelement path="${test.@{test.type}.cp.extra}"/>
                    <pathelement path="${test.extra.nb.javac.deps}"/>
                </path>
                <!-- path reference used in both compiler and executor -->
                <propertyset id="test.@{test.type}.properties">
                    <propertyset>
                        <propertyref prefix="test-@{test.type}-sys-prop."/>
                        <mapper type="glob" from="test-@{test.type}-sys-prop.*" to="*"/>
                    </propertyset>
                    <propertyset>
                        <propertyref name="build.test.@{test.type}.work.dir"/>
                        <mapper type="glob" from="build.test.@{test.type}.work.dir" to="nbjunit.workdir"/>
                    </propertyset>
                    <propertyset>
                        <propertyref name="test.timeout"/>
                        <mapper type="glob" from="test.timeout" to="nbjunit.hard.timeout"/>
                    </propertyset>
                    </propertyset>
                    <condition property="exists.test.@{test.type}.src.dir">
                        <and>
                            <available file="${test.@{test.type}.src.dir}" type="dir"/>
                            <not>
                                <istrue value="${disable.@{test.type}.tests}"/>
                            </not>
                        </and>
                    </condition>

            </sequential>
        </macrodef>
        <test-init test.type="unit"/>
        <test-init test.type="qa-functional"/>
    </target>

    <target name="test-build" depends="netbeans,test-dep-build,do-test-build" description="Compile and package all tests."/>

    <macrodef name="test-dep-build">
        <attribute name="test.type"/>
        <sequential>
            <sortsuitemodules unsortedmodules="${test.@{test.type}.testdep}" sortedmodulesproperty="mods.sorted" sorttests="true"/>
            <subant buildpath="${mods.sorted}" target="do-test-build" />
        </sequential>
    </macrodef>
    <target name="test-unit-dep-build" if="test.unit.testdep">
        <test-dep-build test.type="unit"/>
    </target>
    <target name="test-qa-functional-dep-build" if="test.qa-functional.testdep">
        <test-dep-build test.type="qa-functional"/>
    </target>
    <target name="test-dep-build" depends="test-unit-dep-build,test-qa-functional-dep-build"/>

    <macrodef name="do-test-build">
        <attribute name="test.type"/>
        <sequential>
            <fail >
                Missing test dependency
                Runtime classpath: ${test.@{test.type}.runtime.cp}
                Compile classpath: ${test.@{test.type}.compile.cp}
                <condition>
                    <or>
                        <contains string="${test.@{test.type}.runtime.cp}" substring="-missing-Module-Entries-:" />
                        <contains string="${test.@{test.type}.compile.cp}" substring="-missing-Module-Entries-:" />
                    </or>
                </condition>
            </fail>
            <mkdir dir="${build.test.@{test.type}.classes.dir}"/>
            <depend srcdir="${test.@{test.type}.src.dir}" destdir="${build.test.@{test.type}.classes.dir}" cache="${build.test.@{test.type}.dir}/depcache">
                <classpath refid="test.@{test.type}.cp"/>
            </depend>
            <property name="test.excludes" value=""/> <!-- # 113770 -->
            <nb-javac srcdir="${test.@{test.type}.src.dir}" destdir="${build.test.@{test.type}.classes.dir}" excludes="${test.excludes}"
                      debug="true" deprecation="${build.compiler.deprecation}" encoding="UTF-8"
                      source="${javac.source}" target="${javac.target}" optimize="${build.compiler.optimize}" includeantruntime="false">
                <classpath refid="test.@{test.type}.cp"/>
                <compilerarg line="${javac.compilerargs}"/>
                <processorpath refid="test.@{test.type}.cp"/>
            </nb-javac>
            <processjsannotation classes="${build.test.@{test.type}.classes.dir}" asm="${asm.jar}">
                <classpath refid="test.@{test.type}.cp"/>
            </processjsannotation>
            <copy todir="${build.test.@{test.type}.classes.dir}">
                <fileset dir="${test.@{test.type}.src.dir}">
                    <exclude name="**/*.java"/>
                </fileset>
            </copy>
            <delete dir="${build.test.@{test.type}.dir}/data"/>
            <copy todir="${build.test.@{test.type}.dir}">
                <fileset dir="${test.@{test.type}.dir}">
                    <include name="data/**"/>
                </fileset>
            </copy>
        </sequential>
    </macrodef>
    <target name="do-unit-test-build" depends="init,test-init" if="exists.test.unit.src.dir">
        <do-test-build test.type="unit"/>
    </target>
    <target name="do-qa-functional-test-build" depends="init,test-init" if="exists.test.qa-functional.src.dir">
        <do-test-build test.type="qa-functional"/>
    </target>
    <target name="do-test-build" depends="do-unit-test-build,do-qa-functional-test-build"/>

    <target name="compile-test-single" depends="init,test-init,jar">
        <macrodef name="compile-test-single">
            <attribute name="test.type"/>
            <sequential>
                <fail unless="javac.includes">Must select some files in the IDE or set javac.includes</fail>
                <mkdir dir="${build.test.@{test.type}.classes.dir}"/>
                <!-- XXX consider forcing deprecation=true -->
                <!-- XXX consider deleting the .class file first to force a rebuild -->
                <depend srcdir="${test.@{test.type}.src.dir}" destdir="${build.test.@{test.type}.classes.dir}" cache="${build.test.@{test.type}.dir}/depcache">
                    <classpath refid="test.@{test.type}.cp"/>
                </depend>
                <nb-javac srcdir="${test.@{test.type}.src.dir}" destdir="${build.test.@{test.type}.classes.dir}"
                          debug="true" deprecation="${build.compiler.deprecation}" encoding="UTF-8"
                          source="${javac.source}" target="${javac.target}" includeantruntime="false" optimize="${build.compiler.optimize}" includes="${javac.includes}">
                    <classpath refid="test.@{test.type}.cp"/>
                    <compilerarg line="${javac.compilerargs}"/>
                    <processorpath refid="test.@{test.type}.cp"/>
                </nb-javac>
                <processjsannotation classes="${build.test.@{test.type}.classes.dir}" asm="${asm.jar}">
                    <classpath refid="test.@{test.type}.cp"/>
                </processjsannotation>
                <copy todir="${build.test.@{test.type}.classes.dir}">
                    <fileset dir="${test.@{test.type}.src.dir}">
                        <exclude name="**/*.java"/>
                    </fileset>
                </copy>
                <copy todir="${build.test.@{test.type}.dir}">
                    <fileset dir="${test.@{test.type}.dir}">
                        <include name="data/**"/>
                    </fileset>
                </copy>
            </sequential>
        </macrodef>
        <property name="test.type" value="unit"/>
        <compile-test-single test.type="${test.type}"/>
    </target>

    <macrodef name="metaproperty">
        <attribute name="name"/>
        <attribute name="value"/>
        <sequential>
            <property name="@{name}" value="${@{value}}"/>
        </sequential>
    </macrodef>
    <macrodef name="test">
        <attribute name="test.type"/>
        <attribute name="disable.apple.ui" default="false"/>
        <sequential>
            <property name="test.config" value="default"/>
            <property name="test.config.default.includes" value="**/*Test.class"/>
            <property name="test.config.${test.config}.includes" value="NOTHING"/>
            <metaproperty name="test.includes" value="test.config.${test.config}.includes"/>
            <property name="test.config.${test.config}.excludes" value=""/>
            <metaproperty name="test.excludes" value="test.config.${test.config}.excludes"/>
            <mkdir dir="${build.test.@{test.type}.results.dir}"/>
            <condition property="test.runner" value ="testng" else="junit">
                <available classname="org.testng.annotations.Test" classpath="${test.@{test.type}.runtime.cp}"/>
            </condition>
            <antcall target="-do-${test.runner}">
                <param name="run.test.type" value="@{test.type}"/>
                <param name="disable.apple.ui" value="@{disable.apple.ui}"/>
            </antcall>
        </sequential>
    </macrodef>
    <target name="test-unit" depends="init,test-init,test-build" if="exists.test.unit.src.dir">
        <test test.type="unit" disable.apple.ui="true"/>
    </target>
    <target name="test-qa-functional" depends="init,test-init,test-build" if="exists.test.qa-functional.src.dir">
        <test test.type="qa-functional"/>
    </target>

    <target name="-do-junit" depends="test-init">
        <macrodef name="junit-impl">
            <attribute name="test.type"/>
            <attribute name="disable.apple.ui" default="false"/>
            <sequential>
                <junit showoutput="true" fork="true" failureproperty="tests.failed" errorproperty="tests.failed" filtertrace="${test.filter.trace}" tempdir="${build.test.@{test.type}.results.dir}" timeout="${test.timeout}" jvm="${test.nbjdk.java}">
                    <batchtest todir="${build.test.@{test.type}.results.dir}">
                        <fileset dir="${build.test.@{test.type}.classes.dir}" includes="${test.includes}" excludes="${test.excludes}"/>
                    </batchtest>
                    <classpath refid="test.@{test.type}.run.cp"/>
                    <syspropertyset refid="test.@{test.type}.properties"/>
                    <jvmarg value="${test.bootclasspath.prepend.args}"/>
                    <jvmarg line="${test.run.args}"/>
                    <!--needed to have tests NOT to steal focus when running, works in latest apple jdk update only.-->
                    <sysproperty key="apple.awt.UIElement" value="@{disable.apple.ui}"/>
                    <formatter type="brief" usefile="false"/>
                    <formatter type="xml"/>
                </junit>
                <fail if="tests.failed" unless="continue.after.failing.tests">Some tests failed; see details above.</fail>
            </sequential>
        </macrodef>
        <junit-impl test.type="${run.test.type}" disable.apple.ui="${disable.apple.ui}"/>
    </target>

    <target name="-do-testng" depends="test-init">
        <macrodef name="testng-impl">
            <attribute name="test.type"/>
            <attribute name="disable.apple.ui" default="false"/>
            <sequential>
                <taskdef name="testng" classname="org.testng.TestNGAntTask" classpathref="test.@{test.type}.run.cp"/>
                <testng mode="mixed"
                        failureProperty="tests.failed"
                        outputdir="${build.test.@{test.type}.results.dir}"
                        workingDir="${build.test.@{test.type}.results.dir}"
                        suitename="${code.name.base}"
                        listener="org.testng.reporters.VerboseReporter"
                        jvm="${test.nbjdk.java}"
                >
                    <classfileset dir="${build.test.@{test.type}.classes.dir}" excludes="${test.excludes}" includes="${test.includes}"/>
                    <propertyset refid="test.@{test.type}.properties"/>
                    <classpath refid="test.@{test.type}.run.cp"/>
                    <jvmarg value="${test.bootclasspath.prepend.args}"/>
                    <jvmarg line="${test.run.args}"/>
                    <!-- needed to have tests NOT to steal focus when running, works in latest apple jdk update only.-->
                    <sysproperty key="apple.awt.UIElement" value="@{disable.apple.ui}"/>
                </testng>
                <fail if="tests.failed" unless="continue.after.failing.tests">Some tests failed; see details above.</fail>
            </sequential>
        </macrodef>
        <testng-impl test.type="${run.test.type}" disable.apple.ui="${disable.apple.ui}"/>
    </target>

    <target name="test-generate-html" depends="-build-dir-init">
        <subant target="-test-browse-html" genericantfile="${ant.file}" inheritall="true">
            <dirset dir="${build.dir}/test" includes="*/results"/>
        </subant>
    </target>

    <target name="-do-test-generate-html">
        <junitreport todir=".">
            <fileset dir=".">
                <include name="TEST-*.xml"/>
            </fileset>
            <report format="frames" todir="html"/>
        </junitreport>
        <makeurl file="${basedir}/html/index.html" property="test.report.url"/>
        <echo>

            Report URL: ${test.report.url}
        </echo>
    </target>

    <target name="-test-browse-html" if="netbeans.home" depends="-do-test-generate-html">
        <nbbrowse file="html/index.html"/>
    </target>
    <target name="test" depends="test-unit,test-qa-functional"/>

    <target name="test-single" depends="init,test-init,test-build">
        <macrodef name="test-single">
            <attribute name="test.type"/>
            <sequential>
                <fail unless="test.includes">Must set test.includes</fail>
                <property name="run.jvmargs.ide" value=""/> 
                <mkdir dir="${build.test.@{test.type}.results.dir}"/>
                <condition property="test.runner" value ="testng" else="junit">
                    <available classname="org.testng.annotations.Test" classpath="${test.@{test.type}.runtime.cp}"/>
                </condition>
                <condition property="is.test.suite" value ="-suite" else="">
                    <contains string="${test.includes}" substring=".xml"/>
                </condition>
                <antcall target="-do-${test.runner}-single${is.test.suite}">
                    <param name="test.type" value="@{test.type}"/>
                </antcall>
            </sequential>
        </macrodef>
        <property name="test.type" value="unit"/>
        <property name="run.args.ide" value=""/>
        
        <test-single test.type="${test.type}"/>
    </target>

    <target name="-do-junit-single" depends="test-init">
        <macrodef name="junit-impl">
            <attribute name="test.type"/>
            <sequential>
                <junit showoutput="true" fork="true" failureproperty="tests.failed" errorproperty="tests.failed" filtertrace="${test.filter.trace}" tempdir="${build.test.@{test.type}.results.dir}" timeout="${test.timeout}" jvm="${test.nbjdk.java}">
                    <batchtest todir="${build.test.@{test.type}.results.dir}">
                        <fileset dir="${test.@{test.type}.src.dir}" includes="${test.includes}"/>
                    </batchtest>
                    <classpath refid="test.@{test.type}.run.cp"/>
                    <syspropertyset refid="test.@{test.type}.properties"/>
                    <jvmarg line="${test.run.args}"/>
                    <jvmarg value="${test.bootclasspath.prepend.args}"/>
                    <jvmarg line="${run.args.ide}"/>
                    <jvmarg line="${run.jvmargs.ide}"/>
                    <formatter type="brief" usefile="false"/>
                    <formatter type="xml"/>
                </junit>
                <fail if="tests.failed" unless="continue.after.failing.tests">Some tests failed; see details above.</fail>
            </sequential>
        </macrodef>
        <junit-impl test.type="${test.type}" />
    </target>

    <target name="-do-testng-single" depends="test-init">
        <macrodef name="testng-impl">
            <attribute name="test.type"/>
            <sequential>
                <fileset id="testng.test" dir="${test.@{test.type}.src.dir}" includes="${test.includes}"/>
                <taskdef name="testng" classname="org.testng.TestNGAntTask" classpathref="test.@{test.type}.run.cp"/>
                <testng  mode="mixed"
                         classfilesetref="testng.test"
                         failureProperty="tests.failed"
                         outputdir="${build.test.@{test.type}.results.dir}"
                         workingDir="${build.test.@{test.type}.results.dir}"
                         suitename="${code.name.base}"
                         listener="org.testng.reporters.VerboseReporter"
                         jvm="${test.nbjdk.java}"
                >
                    <propertyset refid="test.@{test.type}.properties"/>
                    <classpath refid="test.@{test.type}.run.cp"/>
                    <jvmarg value="${test.bootclasspath.prepend.args}"/>
                    <jvmarg line="${test.run.args}"/>
                    <!-- needed to have tests NOT to steal focus when running, works in latest apple jdk update only.-->
                    <sysproperty key="apple.awt.UIElement" value="@{disable.apple.ui}"/>
                </testng>
                <fail if="tests.failed" unless="continue.after.failing.tests">Some tests failed; see details above.</fail>
            </sequential>
        </macrodef>
        <testng-impl test.type="${test.type}"/>
    </target>

    <target name="-do-testng-single-suite" depends="test-init">
        <macrodef name="testng-impl">
            <attribute name="test.type"/>
            <sequential>
                <fileset id="testng.test" dir="${test.@{test.type}.src.dir}" includes="${test.includes}"/>
                <taskdef name="testng" classname="org.testng.TestNGAntTask" classpathref="test.@{test.type}.run.cp"/>
                <testng  mode="mixed"
                         xmlfilesetref="testng.test"
                         failureProperty="tests.failed"
                         outputdir="${build.test.@{test.type}.results.dir}"
                         workingDir="${build.test.@{test.type}.results.dir}"
                         suitename="${code.name.base}"
                         listener="org.testng.reporters.VerboseReporter"
                         jvm="${test.nbjdk.java}"
                >
                    <propertyset refid="test.@{test.type}.properties"/>
                    <classpath refid="test.@{test.type}.run.cp"/>
                    <jvmarg value="${test.bootclasspath.prepend.args}"/>
                    <jvmarg line="${test.run.args}"/>
                    <!-- needed to have tests NOT to steal focus when running, works in latest apple jdk update only.-->
                    <sysproperty key="apple.awt.UIElement" value="@{disable.apple.ui}"/>
                </testng>
                <fail if="tests.failed" unless="continue.after.failing.tests">Some tests failed; see details above.</fail>
            </sequential>
        </macrodef>
        <testng-impl test.type="${test.type}"/>
    </target>

    <target name="do-debug-test-single" depends="test-init">
        <macrodef name="do-debug-test-single">
            <attribute name="test.type"/>
            <sequential>
                <fail unless="test.class">Must set test.class</fail>
                <mkdir dir="${build.test.@{test.type}.results.dir}"/>
                <condition property="test.runner" value ="testng" else="junit">
                    <available classname="org.testng.annotations.Test" classpath="${test.@{test.type}.runtime.cp}"/>
                </condition>
                <condition property="is.test.suite" value ="-suite" else="">
                    <matches pattern="([a-zA-Z_$][a-zA-Z\d_$]*\.)*xml$" string="${test.class}"/>
                </condition>
                <antcall target="-do-${test.runner}-debug-single${is.test.suite}">
                    <param name="test.type" value="@{test.type}"/>
                </antcall>
            </sequential>
        </macrodef>
        <property name="test.type" value="unit"/>
        <do-debug-test-single test.type="${test.type}"/>
    </target>

    <target name="-do-junit-debug-single" depends="test-init">
        <macrodef name="junit-impl">
            <attribute name="test.type"/>
            <sequential>
                <property name="test.report.file" location="${build.test.@{test.type}.results.dir}/TEST-${test.class}.xml"/>
                <delete file="${test.report.file}"/>
                <touch file="${test.report.file}" verbose="false"/>   <!-- must exist, otherwise the XML formatter would fail -->
                <condition property="test.methods.line" value="methods=${test.methods}" else="">
                    <isset property="test.methods"/>
                </condition>
                <java fork="true" classname="org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner" jvm="${test.nbjdk.java}">
                    <jvmarg value="-agentlib:jdwp=transport=dt_socket,address=${jpda.address}"/>
                    <jvmarg line="${test.run.args}"/>
                    <classpath>
                        <path refid="test.@{test.type}.run.cp"/>
                        <fileset dir="${ant.home}" includes="patches/*.jar"/>
                        <pathelement location="${ant.home}/lib/ant.jar"/>
                        <pathelement location="${ant.home}/lib/ant-junit.jar"/>
                        <pathelement location="${ant.home}/lib/ant-junit4.jar"/>
                    </classpath>
                    <jvmarg value="${test.bootclasspath.prepend.args}"/>
                    <syspropertyset refid="test.@{test.type}.properties"/>
                    <arg value="${test.class}"/>
                    <arg value="showoutput=true"/>
                    <arg value="formatter=org.apache.tools.ant.taskdefs.optional.junit.BriefJUnitResultFormatter"/>
                    <arg value="formatter=org.apache.tools.ant.taskdefs.optional.junit.XMLJUnitResultFormatter,${test.report.file}"/>
                    <arg line="${test.methods.line}"/>
                </java>
            </sequential>
        </macrodef>
        <junit-impl test.type="${test.type}" />
    </target>

    <target name="-do-testng-debug-single" depends="test-init">
        <macrodef name="testng-impl">
            <attribute name="test.type"/>
            <sequential>
                <condition property="testng.args.line" value="-methods ${test.class}.${test.methods}" else="-testclass ${test.class}">
                    <isset property="test.methods"/>
                </condition>
                <!-- XXX: Consider debugging using testng task itself      -->
                <!-- TestNG is running in forkMode="once"                  -->
                <!-- therefore results while debugging single class/method -->
                <!-- can be different from running all tests at once       -->
                <java classname="org.testng.TestNG" fork="true" jvm="${test.nbjdk.java}">
                    <jvmarg value="-agentlib:jdwp=transport=dt_socket,address=${jpda.address}"/>
                    <jvmarg line="${test.run.args}"/>
                    <jvmarg value="${test.bootclasspath.prepend.args}"/>
                    <classpath refid="test.@{test.type}.run.cp"/>
                    <syspropertyset refid="test.@{test.type}.properties"/>
                    <jvmarg value="-ea"/>
                    <arg line="-mixed"/>
                    <arg line="-d ${build.test.@{test.type}.results.dir}"/>
                    <arg line="-listener org.testng.reporters.VerboseReporter"/>
                    <arg line="-suitename ${code.name.base}"/>
                    <arg line="-testname ${test.class}"/>
                    <arg line="${testng.args.line}"/>
                </java>
                <!--
                <taskdef name="testng" classname="org.testng.TestNGAntTask" classpathref="test.@{test.type}.run.cp"/>
                <testng mode="mixed" methods="${testng.methods}" failureProperty="tests.failed" outputdir="${build.test.@{test.type}.results.dir}" workingDir="${build.test.@{test.type}.results.dir}">
                    <classfileset dir="${build.test.@{test.type}.classes.dir}" excludes="${test.excludes}" includes="**/*Test.class"/>
                    <propertyset refid="test.@{test.type}.properties"/>
                    <classpath refid="test.@{test.type}.run.cp"/>
                    <jvmarg value="${test.bootclasspath.prepend.args}"/>
                    <jvmarg line="${test.run.args}"/>
                    <jvmarg value="-agentlib:jdwp=transport=dt_socket,address=${jpda.address}"/>
                </testng>
                -->
            </sequential>
        </macrodef>
        <testng-impl test.type="${test.type}"/>
    </target>

    <target name="-do-testng-debug-single-suite" depends="test-init">
        <macrodef name="testng-impl">
            <attribute name="test.type"/>
            <sequential>
                <fileset id="testng.test" dir="${test.@{test.type}.src.dir}" includes="${test.class}"/>
                <taskdef name="testng" classname="org.testng.TestNGAntTask" classpathref="test.@{test.type}.run.cp"/>
                <testng  mode="mixed"
                         xmlfilesetref="testng.test"
                         failureProperty="tests.failed"
                         outputdir="${build.test.@{test.type}.results.dir}"
                         workingDir="${build.test.@{test.type}.results.dir}"
                         suitename="${code.name.base}"
                         listener="org.testng.reporters.VerboseReporter"
                         jvm="${test.nbjdk.java}"
                >
                    <propertyset refid="test.@{test.type}.properties"/>
                    <classpath refid="test.@{test.type}.run.cp"/>
                    <jvmarg value="${test.bootclasspath.prepend.args}"/>
                    <jvmarg line="${test.run.args}"/>
                    <jvmarg value="-agentlib:jdwp=transport=dt_socket,address=${jpda.address}"/>
                    <!-- needed to have tests NOT to steal focus when running, works in latest apple jdk update only.-->
                    <sysproperty key="apple.awt.UIElement" value="@{disable.apple.ui}"/>
                </testng>
                <fail if="tests.failed" unless="continue.after.failing.tests">Some tests failed; see details above.</fail>
            </sequential>
        </macrodef>
        <testng-impl test.type="${test.type}"/>
    </target>

    <target name="debug-test-single" depends="init,test-init,test-build,do-debug-test-single"/>

    <target name="debug-test-single-nb" depends="init,test-init,test-build,-jdk-presetdef-nbjpdastart" if="netbeans.home">
        <macrodef name="debug-test-single-nb">
            <attribute name="test.type"/>
            <sequential>
                <fail unless="test.class">Must set test.class</fail>
                <nbjpdastart transport="dt_socket" addressproperty="jpda.address" name="${test.class}">
                    <classpath>
                        <path refid="test.@{test.type}.run.cp"/>
                        <!-- Permit extra sources to be searched even if they are not in the actual CP. -->
                        <!-- Used e.g. from ant/test/unit since some tests use dynamic loading: -->
                        <pathelement path="${test.@{test.type}.debug.cp.extra}"/>
                    </classpath>
                </nbjpdastart>
                <antcall target="do-debug-test-single"/>
            </sequential>
        </macrodef>
        <property name="test.type" value="unit"/>
        <debug-test-single-nb test.type="${test.type}"/>
    </target>
    
    <target name="test-method" depends="init,test-init,test-build">
        <macrodef name="test-method">
            <attribute name="test.type"/>
            <sequential>
                <fail unless="test.class">Must set test.class</fail>
                <fail unless="test.methods">Must set test.methods</fail>
                <property name="run.jvmargs.ide" value=""/>
                <mkdir dir="${build.test.@{test.type}.results.dir}"/>
                <condition property="test.runner" value ="testng" else="junit">
                    <available classname="org.testng.annotations.Test" classpath="${test.@{test.type}.runtime.cp}"/>
                </condition>
                <antcall target="-do-${test.runner}-testmethod">
                    <param name="test.type" value="@{test.type}"/>
                </antcall>
            </sequential>
        </macrodef>
        <property name="test.type" value="unit"/>
        <test-method test.type="${test.type}"/>
    </target>
    
    <target name="-do-junit-testmethod" depends="test-init">
        <macrodef name="junit-impl">
            <attribute name="test.type"/>
            <sequential>
                <junit showoutput="true" fork="true" failureproperty="tests.failed" errorproperty="tests.failed" filtertrace="${test.filter.trace}" tempdir="${build.test.@{test.type}.results.dir}" timeout="${test.timeout}" jvm="${test.nbjdk.java}">
                    <test name="${test.class}" methods="${test.methods}" todir="${build.test.@{test.type}.results.dir}"/>
                    <classpath refid="test.@{test.type}.run.cp"/>
                    <syspropertyset refid="test.@{test.type}.properties"/>
                    <jvmarg line="${test.run.args}"/>
                    <jvmarg value="${test.bootclasspath.prepend.args}"/>
                    <jvmarg line="${run.jvmargs.ide}"/>
                    <formatter type="brief" usefile="false"/>
                    <formatter type="xml"/>
                </junit>
                <fail if="tests.failed" unless="continue.after.failing.tests">Some tests failed; see details above.</fail>
            </sequential>
        </macrodef>
        <junit-impl test.type="${test.type}" />
    </target>

    <target name="-do-testng-testmethod" depends="test-init">
        <macrodef name="testng-impl">
            <attribute name="test.type"/>
            <sequential>
                <taskdef name="testng" classname="org.testng.TestNGAntTask" classpathref="test.@{test.type}.run.cp"/>
                <testng mode="mixed"
                        methods="${test.class}.${test.methods}"
                        failureProperty="tests.failed"
                        outputdir="${build.test.@{test.type}.results.dir}"
                        workingDir="${build.test.@{test.type}.results.dir}"
                        suitename="${code.name.base}"
                        listener="org.testng.reporters.VerboseReporter"
                        jvm="${test.nbjdk.java}"
                >
                    <propertyset refid="test.@{test.type}.properties"/>
                    <classpath refid="test.@{test.type}.run.cp"/>
                    <jvmarg value="${test.bootclasspath.prepend.args}"/>
                    <jvmarg line="${test.run.args}"/>
                    <!-- needed to have tests NOT to steal focus when running, works in latest apple jdk update only.-->
                    <sysproperty key="apple.awt.UIElement" value="@{disable.apple.ui}"/>
                </testng>
                <fail if="tests.failed" unless="continue.after.failing.tests">Some tests failed; see details above.</fail>
            </sequential>
        </macrodef>
        <testng-impl test.type="${test.type}"/>
    </target>

    <target name="run-test-main"  depends="init,test-init,test-build">
        <macrodef name="tjava">
            <attribute name="test.type"/>
            <element name="customize" optional="true"/>
            <sequential>
                <fail unless="main.class">Must set main.class.</fail>
                <property name="run.jvmargs.ide" value=""/>
                <mkdir dir="${build.test.@{test.type}.results.dir}"/>
                <java classname="${main.class}" dir="${build.test.@{test.type}.results.dir}" fork="true">
                    <classpath refid="test.@{test.type}.run.cp"/>
                    <syspropertyset refid="test.@{test.type}.properties"/>
                    <jvmarg line="${test.run.args}"/>
                    <jvmarg line="${run.args.ide}"/>
                    <jvmarg line="${run.jvmargs.ide}"/>
                    <customize/>
                </java>
            </sequential>
        </macrodef>
        <property name="test.type" value="unit"/> <!-- compatibility -->
        <property name="run.args.ide" value=""/> <!-- default -->
        <tjava test.type="${test.type}"/>
    </target>

    <target name="do-debug-test-main" depends="test-init">
        <macrodef name="do-debug-test-main">
            <attribute name="test.type"/>
            <element name="customize" optional="true"/>
            <sequential>
                <fail unless="main.class">Must set main.class.</fail>
                <mkdir dir="${build.test.@{test.type}.results.dir}"/>
                <java fork="true" classname="${main.class}">
                    <jvmarg value="-agentlib:jdwp=transport=dt_socket,address=${jpda.address}"/>
                    <jvmarg line="${test.run.args}"/>
                    <classpath refid="test.@{test.type}.run.cp"/>
                    <syspropertyset refid="test.@{test.type}.properties"/>
                    <customize/>
                </java>
            </sequential>
        </macrodef>
        <property name="test.type" value="unit"/>
        <do-debug-test-main test.type="${test.type}"/>
    </target>

    <target name="debug-test-main-nb" depends="init,test-init,test-build,-jdk-presetdef-nbjpdastart" if="netbeans.home">
        <macrodef name="debug-test-main-nb">
            <attribute name="test.type"/>
            <sequential>
                <fail unless="main.class">Must set main.class</fail>
                <nbjpdastart transport="dt_socket" addressproperty="jpda.address" name="${main.class}">
                    <classpath>
                        <path refid="test.@{test.type}.run.cp"/>
                        <!-- Permit extra sources to be searched even if they are not in the actual CP. -->
                        <!-- Used e.g. from ant/test/unit since some tests use dynamic loading: -->
                        <pathelement path="${test.@{test.type}.debug.cp.extra}"/>
                    </classpath>
                </nbjpdastart>
                <antcall target="do-debug-test-main"/>
            </sequential>
        </macrodef>
        <property name="test.type" value="unit"/>
        <debug-test-main-nb test.type="${test.type}"/>
    </target>
    
    <target name="-pre-debug-fix" depends="init">
        <fail unless="fix.class">Must set fix.class to e.g. org/netbeans/modules/foo/Bar</fail>
        <property name="javac.includes" value="${fix.class}.java"/>
    </target>
    <target name="debug-fix-nb" if="netbeans.home" depends="init,-pre-debug-fix,compile-single">
        <nbjpdareload>
            <fileset includes="${fix.class}*.class" dir="${build.classes.dir}"/>
        </nbjpdareload>
    </target>
    <target name="debug-fix-test-nb" if="netbeans.home" depends="init,-pre-debug-fix,compile-test-single">
        <macrodef name="debug-fix-test-nb">
            <attribute name="test.type"/>
            <sequential>
                <nbjpdareload>
                    <fileset includes="${fix.class}*.class" dir="${build.test.@{test.type}.classes.dir}"/>
                </nbjpdareload>
            </sequential>
        </macrodef>
        <property name="test.type" value="unit"/>
        <debug-fix-test-nb test.type="${test.type}"/>
    </target>

    <target name="-profile-check" if="netbeans.home">
        <condition property="profiler.configured">
            <or>
                <contains string="${run.args.ide}" substring="-agentpath:" casesensitive="true"/>
                <contains string="${run.args.ide}" substring="-javaagent:" casesensitive="true"/>
            </or>
        </condition>
    </target>

    <target name="-profile-test-single-nb-pre72" depends="init,test-init,test-build,-jdk-presetdef-nbprofiledirect" if="profiler.info.jvmargs.agent">
        <macrodef name="profile-test-single-nb">
            <attribute name="test.type"/>
            <sequential>
                <fail unless="profile.class">Must set profile.class</fail>
                <mkdir dir="${build.test.@{test.type}.results.dir}"/>
                <nbprofiledirect
                    jvmargsproperty="profiler.jvmargs"
                >
                    <classpath refid="test.@{test.type}.run.cp"/>
                </nbprofiledirect>
                <junit showoutput="true" fork="true" failureproperty="tests.failed" errorproperty="tests.failed" filtertrace="${test.filter.trace}" tempdir="${build.test.@{test.type}.results.dir}" jvm="${test.nbjdk.java}">
                    <env key="${profiler.info.pathvar}" path="${profiler.info.agentpath}:${profiler.current.path}"/>
                    <jvmarg value="${profiler.info.jvmargs.agent}"/>
                    <jvmarg line="${profiler.info.jvmargs}"/>
                    <test name="${profile.class}" todir="${build.test.@{test.type}.results.dir}"/>
                    <classpath refid="test.@{test.type}.run.cp"/>
                    <jvmarg value="${test.bootclasspath.prepend.args}"/>
                    <syspropertyset refid="test.@{test.type}.properties"/>
                    <jvmarg line="${test.run.args}"/>
                    <formatter type="brief" usefile="false"/>
                    <formatter type="xml"/>
                </junit>
                <fail if="tests.failed">Some tests failed; see details above.</fail>
            </sequential>
        </macrodef>
        <property name="test.type" value="unit"/>
        <profile-test-single-nb test.type="${test.type}"/>
    </target>

    <target name="profile-test-single-nb" depends="-profile-check,init,test-init,test-build,-profile-test-single-nb-pre72" if="profiler.configured" unless="profiler.info.jvmargs.agent">        
        <startprofiler/>
        <antcall target="test-single"/>
    </target>
    
    <target name="profile-test-main-nb" depends="-profile-check,init,test-init,test-build" if="profiler.configured" unless="profiler.info.jvmargs.agent">
        <startprofiler/>
        <antcall target="run-test-main"/>
    </target>

    <target name="-javadoc-init" depends="init">
        <!-- #71884: default Javadoc title and header -->
        <loadproperties srcFile="${manifest.mf}" prefix="mf.">
            <filterchain>
                <replaceregex pattern="[\n\r]+ ([^ ][^\n\r]*)"
                            replace="\1"
                            flags="g"
                            byline="false"/>
            </filterchain>
        </loadproperties>
        <property file="${src.dir}/${mf.OpenIDE-Module-Localizing-Bundle}" prefix="bundle."/>
        <condition property="javadoc.title" value="${bundle.OpenIDE-Module-Name}">
            <isset property="bundle.OpenIDE-Module-Name"/>
        </condition>
        <property name="javadoc.title" value="${code.name.base.dashes}"/> <!-- fallback -->
        <condition property="mf.OpenIDE-Module-Specification-Version" value="${spec.version.base}"> <!-- fallback -->
            <isset property="spec.version.base"/>
        </condition>
        <property name="mf.OpenIDE-Module" value="${code.name.base.dashes}"/> <!-- fallback -->
        <property name="mf.OpenIDE-Module-Implementation-Version" value=""/> <!-- fallback -->
        <property name="javadoc.header" value="${mf.OpenIDE-Module} ${mf.OpenIDE-Module-Specification-Version} ${mf.OpenIDE-Module-Implementation-Version}"/>
    </target>

    <target name="arch" depends="init" description="Process an arch.xml, creating it if it does not yet exist.">
        <fail unless="javadoc.arch">You must define e.g. javadoc.arch=$${basedir}/arch.xml in project.properties</fail>
        <mkdir dir="${build.dir}"/>
        <property name="arch.output.html" location="${build.dir}/arch.html"/>
        <property name="arch.generate" value="true"/>
        <arch answers="${javadoc.arch}" output="${arch.output.html}"
              project="nbproject/project.xml"
        />
    </target>

    <target name="-arch-nb-check"> <!-- #67438: might not yet exist, if arch file newly generated as skeleton -->
        <condition property="-arch-nb-run">
            <and>
                <isset property="netbeans.home"/>
                <available file="${arch.output.html}"/>
            </and>
        </condition>
    </target>
    <target name="arch-nb" depends="init,arch,-arch-nb-check" if="-arch-nb-run" description="Process an arch.xml, creating it if it does not yet exist, and display the result.">
        <nbbrowse file="${arch.output.html}"/>
    </target>

    <target name="-testuserdir-delete-init" depends="files-init">
        <property name="test.user.dir" location="${build.dir}/testuserdir"/>
        <property name="test.user.dir.lock" location="${test.user.dir}/lock"/>
        <condition property="app.running">
            <islocked file="${test.user.dir.lock}"/>
        </condition> 
    </target>
    <target name="-testuserdir-delete-ok" depends="-testuserdir-delete-init" unless="app.running">
        <delete dir="${test.user.dir}"/>
    </target>
    <target name="-testuserdir-delete-fail" depends="-testuserdir-delete-init" if="app.running">
        <!-- #66799: best to warn about this condition... -->
        <fail>Will not delete ${test.user.dir} because ${test.user.dir.lock} still exists; kill any running process and delete lock file if necessary</fail>
    </target>
    <target name="testuserdir-delete" depends="-testuserdir-delete-ok,-testuserdir-delete-fail" description="Delete testing user directory (if the application is not running); clears any saved settings etc."/>

    <target name="clean" depends="files-init,testuserdir-delete">
        <delete failonerror="false" includeemptydirs="true">
            <fileset dir="${build.classes.dir}" />
            <fileset dir="${build.dir}">
                <exclude name="testuserdir/"/>
            </fileset>
        </delete>
        <delete dir="${netbeans.javadoc.dir}/${code.name.base.dashes}"/>
        <delete file="${netbeans.javadoc.dir}/${code.name.base.dashes}.zip"/>
        <delete includeemptydirs="true" failonerror="false"> <!-- #59457: OK if cluster does not exist currently -->
            <fileset dir="${cluster}">
                <patternset refid="module.files"/>
                <exclude name="config/Modules/${code.name.base.dashes}.xml" if="${do.not.clean.module.config.xml}"/>
            </fileset>
        </delete>
        <delete file="${cluster}/update_tracking/${code.name.base.dashes}.xml"/>
        <delete file="${netbeans.dest.dir}/${module.cluster.name}.built" failonerror="false"/>
    </target>

    <target name="fix-dependencies" depends="basic-init" description="Removes unused compilation dependencies on other modules.">
        <property name="build.compiler.deprecation" value="false" />
        <property name="fix.dependencies.modules" value=""/>
        <fixdependencies antfile="../../build.xml" buildtarget="netbeans" cleantarget="clean" failonerror="true" sanitycheck="false" moduleFilter="${fix.dependencies.modules}" strip="false">
            <replace codenamebase="org.openide" addcompiletime="true" >
                <module codenamebase="org.openide.filesystems" spec="6.2"/>
                <module codenamebase="org.openide.util" spec="6.2"/>
                <module codenamebase="org.openide.util.enumerations" spec="6.2"/>
                <module codenamebase="org.openide.modules" spec="6.2"/>
                <module codenamebase="org.openide.nodes" spec="6.2"/>
                <module codenamebase="org.openide.explorer" spec="6.2"/>
                <module codenamebase="org.openide.awt" spec="6.2"/>
                <module codenamebase="org.openide.dialogs" spec="6.2"/>
                <module codenamebase="org.openide.compat" spec="6.2"/>
                <module codenamebase="org.openide.options" spec="6.2"/>
                <module codenamebase="org.openide.windows" spec="6.2"/>
                <module codenamebase="org.openide.text" spec="6.2"/>
                <module codenamebase="org.openide.actions" spec="6.2"/>
                <module codenamebase="org.openide.loaders" spec="5.3"/>
            </replace>
            <replace codenamebase="org.openide.util" addcompiletime="true" >
                <module codenamebase="org.openide.util" spec="8.0"/>
                <module codenamebase="org.openide.util.lookup" spec="8.0"/>
            </replace>
            <replace codenamebase="org.openide.nodes" addcompiletime="true" >
                <module codenamebase="org.openide.nodes" spec="7.23"/>
                <module codenamebase="org.openide.awt" spec="7.33"/>
            </replace>
            <replace codenamebase="org.openide.filesystems" addcompiletime="true" >
                <module codenamebase="org.openide.filesystems" spec="8.0"/>
                <module codenamebase="org.openide.util.lookup" spec="8.16"/>
            </replace>
            <replace codenamebase="org.openide.util" addcompiletime="true">
                <module codenamebase="org.openide.util" spec="9.0"/>
                <module codenamebase="org.openide.util.ui" spec="9.3"/>
            </replace>
            <replace codenamebase="org.openide.util" addcompiletime="true">
                <module codenamebase="org.openide.util" spec="9.3"/>
            </replace>

            <replace codenamebase="org.openide.filesystems" addcompiletime="true">
                <module codenamebase="org.openide.filesystems" spec="9.0"/>
                <module codenamebase="org.openide.filesystems.nb" spec="9.0"/>
                <module codenamebase="org.openide.filesystems.compat8" spec="9.0"/>
            </replace>
            <replace codenamebase="org.openide.execution" addcompiletime="true">
                <module codenamebase="org.openide.execution" spec="9.0"/>
                <module codenamebase="org.openide.execution.compat8" spec="9.0"/>
            </replace>
            <replace codenamebase="org.netbeans.modules.parsing.api" addcompiletime="true">
                <module codenamebase="org.netbeans.modules.parsing.api" release="1" spec="9.0"/>
                <module codenamebase="org.netbeans.modules.parsing.indexing" spec="9.0"/>
            </replace>
            <replace codenamebase="org.netbeans.modules.projectuiapi" addcompiletime="true">
                <module codenamebase="org.netbeans.modules.projectuiapi" release="1" spec="1.78"/>
                <module codenamebase="org.netbeans.modules.projectuiapi.base" release="1" spec="1.78"/>
            </replace>
            <replace codenamebase="org.netbeans.modules.project.ant" addcompiletime="true">
                <module codenamebase="org.netbeans.modules.project.ant" release="1" spec="1.62"/>
                <module codenamebase="org.netbeans.modules.project.ant.ui" spec="1.62"/>
            </replace>
            <replace codenamebase="org.netbeans.modules.java.project" addcompiletime="true">
                <module codenamebase="org.netbeans.modules.java.project" release="1" spec="1.62"/>
                <module codenamebase="org.netbeans.modules.java.project.ui" release="1" spec="1.62"/>
            </replace>
            <replace codenamebase="org.netbeans.api.xml" addcompiletime="true">
                <module codenamebase="org.netbeans.api.xml" release="1" spec="1.41"/>
                <module codenamebase="org.netbeans.api.xml.ui" release="1" spec="1.41"/>
            </replace>
            <replace codenamebase="org.netbeans.modules.editor.lib" addcompiletime="true">
                <module codenamebase="org.netbeans.modules.editor.lib" release="3" spec="4.0"/>
                <module codenamebase="org.netbeans.modules.editor.document" spec="1.0"/>
            </replace>
            <replace codenamebase="org.netbeans.modules.editor.lib2" addcompiletime="true">
                <module codenamebase="org.netbeans.modules.editor.lib2" release="1" spec="2.0"/>
                <module codenamebase="org.netbeans.modules.editor.document" spec="1.0"/>
            </replace>
            <replace codenamebase="org.netbeans.api.progress" addcompiletime="true">
                <module codenamebase="org.netbeans.api.progress" release="1" spec="1.40"/>
                <module codenamebase="org.netbeans.api.progress.nb" spec="1.40"/>
            </replace>
            <replace codenamebase="org.netbeans.modules.java.source" addcompiletime="true">
                <module codenamebase="org.netbeans.modules.java.source.base" spec="1.1"/>
                <module codenamebase="org.netbeans.modules.java.source" spec="0.141"/>
                <module codenamebase="org.netbeans.modules.java.source.compat8" spec="9.0"/>
            </replace>
            <replace codenamebase="org.netbeans.modules.project.libraries" addcompiletime="true">
                <module codenamebase="org.netbeans.modules.project.libraries" release="1" spec="1.49"/>
                <module codenamebase="org.netbeans.modules.project.libraries.ui" release="1" spec="1.49"/>
            </replace>
            <replace codenamebase="org.netbeans.modules.xml.catalog" addcompiletime="true">
                <module codenamebase="org.netbeans.modules.xml.catalog" release="2" spec="2.0"/>
                <module codenamebase="org.netbeans.modules.xml.catalog.ui" spec="1.0"/>
            </replace>
            <replace codenamebase="org.openide.loaders" addcompiletime="true">
                <module codenamebase="org.openide.loaders" spec="7.61"/>
                <module codenamebase="org.netbeans.api.templates" spec="1.0"/>
            </replace>
            <replace codenamebase="org.netbeans.core.startup" addcompiletime="true">
                <module codenamebase="org.netbeans.core.startup" release="1" spec="1.60"/>
                <module codenamebase="org.netbeans.core.startup.base" spec="1.60"/>
            </replace>
            <fileset dir="nbproject" >
                <include name="project.xml" />
            </fileset>
        </fixdependencies>
    </target>

    <target name="fix-test-dependencies" depends="basic-init" description="Moves classpath for tests from project.properties to project.xml.">
        <fixtestdeps projectXml="nbproject/project.xml"
                     propertiesFile="nbproject/project.properties"/>
    </target>

    <target name="display-coverage-report" depends="coverage-report"
            description="Creates and displays unit test coverage report for this module">
        <fail unless="testcoverage.unit.report.dir">
            Property testcoverage.unit.report.dir not set. Test coverage script may be missing in ${harness.dir}.
        </fail>
        <nbbrowse file="${testcoverage.unit.report.dir}/index.html"/>
    </target>
    
</project>
