1 <?xml version="1.0" encoding="UTF-8"?>
   2 <!--
   3 *** GENERATED FROM project.xml - DO NOT EDIT  ***
   4 ***         EDIT ../build.xml INSTEAD         ***
   5 
   6 For the purpose of easier reading the script
   7 is divided into following sections:
   8 
   9   - initialization
  10   - compilation
  11   - jar
  12   - execution
  13   - debugging
  14   - javadoc
  15   - test compilation
  16   - test execution
  17   - test debugging
  18   - applet
  19   - cleanup
  20 
  21         -->
  22 <project xmlns:j2seproject1="http://www.netbeans.org/ns/j2se-project/1" xmlns:j2seproject3="http://www.netbeans.org/ns/j2se-project/3" xmlns:jaxrpc="http://www.netbeans.org/ns/j2se-project/jax-rpc" basedir=".." default="default" name="iPodAccessTest-impl">
  23     <fail message="Please build using Ant 1.8.0 or higher.">
  24         <condition>
  25             <not>
  26                 <antversion atleast="1.8.0"/>
  27             </not>
  28         </condition>
  29     </fail>
  30     <target depends="test,jar,javadoc" description="Build and test whole project." name="default"/>
  31     <!-- 
  32                 ======================
  33                 INITIALIZATION SECTION 
  34                 ======================
  35             -->
  36     <target name="-pre-init">
  37         <!-- Empty placeholder for easier customization. -->
  38         <!-- You can override this target in the ../build.xml file. -->
  39     </target>
  40     <target depends="-pre-init" name="-init-private">
  41         <property file="nbproject/private/config.properties"/>
  42         <property file="nbproject/private/configs/${config}.properties"/>
  43         <property file="nbproject/private/private.properties"/>
  44     </target>
  45     <target depends="-pre-init,-init-private" name="-init-user">
  46         <property file="${user.properties.file}"/>
  47         <!-- The two properties below are usually overridden -->
  48         <!-- by the active platform. Just a fallback. -->
  49         <property name="default.javac.source" value="1.4"/>
  50         <property name="default.javac.target" value="1.4"/>
  51     </target>
  52     <target depends="-pre-init,-init-private,-init-user" name="-init-project">
  53         <property file="nbproject/configs/${config}.properties"/>
  54         <property file="nbproject/project.properties"/>
  55     </target>
  56     <target depends="-pre-init,-init-private,-init-user,-init-project,-init-macrodef-property" name="-do-init">
  57         <property name="platform.java" value="${java.home}/bin/java"/>
  58         <available file="${manifest.file}" property="manifest.available"/>
  59         <condition property="splashscreen.available">
  60             <and>
  61                 <not>
  62                     <equals arg1="${application.splash}" arg2="" trim="true"/>
  63                 </not>
  64                 <available file="${application.splash}"/>
  65             </and>
  66         </condition>
  67         <condition property="main.class.available">
  68             <and>
  69                 <isset property="main.class"/>
  70                 <not>
  71                     <equals arg1="${main.class}" arg2="" trim="true"/>
  72                 </not>
  73             </and>
  74         </condition>
  75         <condition property="profile.available">
  76             <and>
  77                 <isset property="javac.profile"/>
  78                 <length length="0" string="${javac.profile}" when="greater"/>
  79                 <matches pattern="1\.[89](\..*)?" string="${javac.source}"/>
  80             </and>
  81         </condition>
  82         <condition property="do.archive">
  83             <not>
  84                 <istrue value="${jar.archive.disabled}"/>
  85             </not>
  86         </condition>
  87         <condition property="do.mkdist">
  88             <and>
  89                 <isset property="do.archive"/>
  90                 <isset property="libs.CopyLibs.classpath"/>
  91                 <not>
  92                     <istrue value="${mkdist.disabled}"/>
  93                 </not>
  94             </and>
  95         </condition>
  96         <condition property="do.archive+manifest.available">
  97             <and>
  98                 <isset property="manifest.available"/>
  99                 <istrue value="${do.archive}"/>
 100             </and>
 101         </condition>
 102         <condition property="do.archive+main.class.available">
 103             <and>
 104                 <isset property="main.class.available"/>
 105                 <istrue value="${do.archive}"/>
 106             </and>
 107         </condition>
 108         <condition property="do.archive+splashscreen.available">
 109             <and>
 110                 <isset property="splashscreen.available"/>
 111                 <istrue value="${do.archive}"/>
 112             </and>
 113         </condition>
 114         <condition property="do.archive+profile.available">
 115             <and>
 116                 <isset property="profile.available"/>
 117                 <istrue value="${do.archive}"/>
 118             </and>
 119         </condition>
 120         <condition property="have.tests">
 121             <or/>
 122         </condition>
 123         <condition property="have.sources">
 124             <or>
 125                 <available file="${src.dir}"/>
 126             </or>
 127         </condition>
 128         <condition property="netbeans.home+have.tests">
 129             <and>
 130                 <isset property="netbeans.home"/>
 131                 <isset property="have.tests"/>
 132             </and>
 133         </condition>
 134         <condition property="no.javadoc.preview">
 135             <and>
 136                 <isset property="javadoc.preview"/>
 137                 <isfalse value="${javadoc.preview}"/>
 138             </and>
 139         </condition>
 140         <property name="run.jvmargs" value=""/>
 141         <property name="run.jvmargs.ide" value=""/>
 142         <property name="javac.compilerargs" value=""/>
 143         <property name="work.dir" value="${basedir}"/>
 144         <condition property="no.deps">
 145             <and>
 146                 <istrue value="${no.dependencies}"/>
 147             </and>
 148         </condition>
 149         <property name="javac.debug" value="true"/>
 150         <property name="javadoc.preview" value="true"/>
 151         <property name="application.args" value=""/>
 152         <property name="source.encoding" value="${file.encoding}"/>
 153         <property name="runtime.encoding" value="${source.encoding}"/>
 154         <condition property="javadoc.encoding.used" value="${javadoc.encoding}">
 155             <and>
 156                 <isset property="javadoc.encoding"/>
 157                 <not>
 158                     <equals arg1="${javadoc.encoding}" arg2=""/>
 159                 </not>
 160             </and>
 161         </condition>
 162         <property name="javadoc.encoding.used" value="${source.encoding}"/>
 163         <property name="includes" value="**"/>
 164         <property name="excludes" value=""/>
 165         <property name="do.depend" value="false"/>
 166         <condition property="do.depend.true">
 167             <istrue value="${do.depend}"/>
 168         </condition>
 169         <path id="endorsed.classpath.path" path="${endorsed.classpath}"/>
 170         <condition else="" property="endorsed.classpath.cmd.line.arg" value="-Xbootclasspath/p:'${toString:endorsed.classpath.path}'">
 171             <and>
 172                 <isset property="endorsed.classpath"/>
 173                 <not>
 174                     <equals arg1="${endorsed.classpath}" arg2="" trim="true"/>
 175                 </not>
 176             </and>
 177         </condition>
 178         <condition else="" property="javac.profile.cmd.line.arg" value="-profile ${javac.profile}">
 179             <isset property="profile.available"/>
 180         </condition>
 181         <condition else="false" property="jdkBug6558476">
 182             <and>
 183                 <matches pattern="1\.[56]" string="${java.specification.version}"/>
 184                 <not>
 185                     <os family="unix"/>
 186                 </not>
 187             </and>
 188         </condition>
 189         <property name="javac.fork" value="${jdkBug6558476}"/>
 190         <property name="jar.index" value="false"/>
 191         <property name="jar.index.metainf" value="${jar.index}"/>
 192         <property name="copylibs.rebase" value="true"/>
 193         <available file="${meta.inf.dir}/persistence.xml" property="has.persistence.xml"/>
 194         <condition property="junit.available">
 195             <or>
 196                 <available classname="org.junit.Test" classpath="${run.test.classpath}"/>
 197                 <available classname="junit.framework.Test" classpath="${run.test.classpath}"/>
 198             </or>
 199         </condition>
 200         <condition property="testng.available">
 201             <available classname="org.testng.annotations.Test" classpath="${run.test.classpath}"/>
 202         </condition>
 203         <condition property="junit+testng.available">
 204             <and>
 205                 <istrue value="${junit.available}"/>
 206                 <istrue value="${testng.available}"/>
 207             </and>
 208         </condition>
 209         <condition else="testng" property="testng.mode" value="mixed">
 210             <istrue value="${junit+testng.available}"/>
 211         </condition>
 212         <condition else="" property="testng.debug.mode" value="-mixed">
 213             <istrue value="${junit+testng.available}"/>
 214         </condition>
 215     </target>
 216     <target name="-post-init">
 217         <!-- Empty placeholder for easier customization. -->
 218         <!-- You can override this target in the ../build.xml file. -->
 219     </target>
 220     <target depends="-pre-init,-init-private,-init-user,-init-project,-do-init" name="-init-check">
 221         <fail unless="src.dir">Must set src.dir</fail>
 222         <fail unless="build.dir">Must set build.dir</fail>
 223         <fail unless="dist.dir">Must set dist.dir</fail>
 224         <fail unless="build.classes.dir">Must set build.classes.dir</fail>
 225         <fail unless="dist.javadoc.dir">Must set dist.javadoc.dir</fail>
 226         <fail unless="build.test.classes.dir">Must set build.test.classes.dir</fail>
 227         <fail unless="build.test.results.dir">Must set build.test.results.dir</fail>
 228         <fail unless="build.classes.excludes">Must set build.classes.excludes</fail>
 229         <fail unless="dist.jar">Must set dist.jar</fail>
 230     </target>
 231     <target name="-init-macrodef-property">
 232         <macrodef name="property" uri="http://www.netbeans.org/ns/j2se-project/1">
 233             <attribute name="name"/>
 234             <attribute name="value"/>
 235             <sequential>
 236                 <property name="@{name}" value="${@{value}}"/>
 237             </sequential>
 238         </macrodef>
 239     </target>
 240     <target depends="-init-ap-cmdline-properties" if="ap.supported.internal" name="-init-macrodef-javac-with-processors">
 241         <macrodef name="javac" uri="http://www.netbeans.org/ns/j2se-project/3">
 242             <attribute default="${src.dir}" name="srcdir"/>
 243             <attribute default="${build.classes.dir}" name="destdir"/>
 244             <attribute default="${javac.classpath}" name="classpath"/>
 245             <attribute default="${javac.processorpath}" name="processorpath"/>
 246             <attribute default="${build.generated.sources.dir}/ap-source-output" name="apgeneratedsrcdir"/>
 247             <attribute default="${includes}" name="includes"/>
 248             <attribute default="${excludes}" name="excludes"/>
 249             <attribute default="${javac.debug}" name="debug"/>
 250             <attribute default="${empty.dir}" name="sourcepath"/>
 251             <attribute default="${empty.dir}" name="gensrcdir"/>
 252             <element name="customize" optional="true"/>
 253             <sequential>
 254                 <property location="${build.dir}/empty" name="empty.dir"/>
 255                 <mkdir dir="${empty.dir}"/>
 256                 <mkdir dir="@{apgeneratedsrcdir}"/>
 257                 <javac debug="@{debug}" deprecation="${javac.deprecation}" destdir="@{destdir}" encoding="${source.encoding}" excludes="@{excludes}" fork="${javac.fork}" includeantruntime="false" includes="@{includes}" source="${javac.source}" sourcepath="@{sourcepath}" srcdir="@{srcdir}" target="${javac.target}" tempdir="${java.io.tmpdir}">
 258                     <src>
 259                         <dirset dir="@{gensrcdir}" erroronmissingdir="false">
 260                             <include name="*"/>
 261                         </dirset>
 262                     </src>
 263                     <classpath>
 264                         <path path="@{classpath}"/>
 265                     </classpath>
 266                     <compilerarg line="${endorsed.classpath.cmd.line.arg}"/>
 267                     <compilerarg line="${javac.profile.cmd.line.arg}"/>
 268                     <compilerarg line="${javac.compilerargs}"/>
 269                     <compilerarg value="-processorpath"/>
 270                     <compilerarg path="@{processorpath}:${empty.dir}"/>
 271                     <compilerarg line="${ap.processors.internal}"/>
 272                     <compilerarg line="${annotation.processing.processor.options}"/>
 273                     <compilerarg value="-s"/>
 274                     <compilerarg path="@{apgeneratedsrcdir}"/>
 275                     <compilerarg line="${ap.proc.none.internal}"/>
 276                     <customize/>
 277                 </javac>
 278             </sequential>
 279         </macrodef>
 280     </target>
 281     <target depends="-init-ap-cmdline-properties" name="-init-macrodef-javac-without-processors" unless="ap.supported.internal">
 282         <macrodef name="javac" uri="http://www.netbeans.org/ns/j2se-project/3">
 283             <attribute default="${src.dir}" name="srcdir"/>
 284             <attribute default="${build.classes.dir}" name="destdir"/>
 285             <attribute default="${javac.classpath}" name="classpath"/>
 286             <attribute default="${javac.processorpath}" name="processorpath"/>
 287             <attribute default="${build.generated.sources.dir}/ap-source-output" name="apgeneratedsrcdir"/>
 288             <attribute default="${includes}" name="includes"/>
 289             <attribute default="${excludes}" name="excludes"/>
 290             <attribute default="${javac.debug}" name="debug"/>
 291             <attribute default="${empty.dir}" name="sourcepath"/>
 292             <attribute default="${empty.dir}" name="gensrcdir"/>
 293             <element name="customize" optional="true"/>
 294             <sequential>
 295                 <property location="${build.dir}/empty" name="empty.dir"/>
 296                 <mkdir dir="${empty.dir}"/>
 297                 <javac debug="@{debug}" deprecation="${javac.deprecation}" destdir="@{destdir}" encoding="${source.encoding}" excludes="@{excludes}" fork="${javac.fork}" includeantruntime="false" includes="@{includes}" source="${javac.source}" sourcepath="@{sourcepath}" srcdir="@{srcdir}" target="${javac.target}" tempdir="${java.io.tmpdir}">
 298                     <src>
 299                         <dirset dir="@{gensrcdir}" erroronmissingdir="false">
 300                             <include name="*"/>
 301                         </dirset>
 302                     </src>
 303                     <classpath>
 304                         <path path="@{classpath}"/>
 305                     </classpath>
 306                     <compilerarg line="${endorsed.classpath.cmd.line.arg}"/>
 307                     <compilerarg line="${javac.profile.cmd.line.arg}"/>
 308                     <compilerarg line="${javac.compilerargs}"/>
 309                     <customize/>
 310                 </javac>
 311             </sequential>
 312         </macrodef>
 313     </target>
 314     <target depends="-init-macrodef-javac-with-processors,-init-macrodef-javac-without-processors" name="-init-macrodef-javac">
 315         <macrodef name="depend" uri="http://www.netbeans.org/ns/j2se-project/3">
 316             <attribute default="${src.dir}" name="srcdir"/>
 317             <attribute default="${build.classes.dir}" name="destdir"/>
 318             <attribute default="${javac.classpath}" name="classpath"/>
 319             <sequential>
 320                 <depend cache="${build.dir}/depcache" destdir="@{destdir}" excludes="${excludes}" includes="${includes}" srcdir="@{srcdir}">
 321                     <classpath>
 322                         <path path="@{classpath}"/>
 323                     </classpath>
 324                 </depend>
 325             </sequential>
 326         </macrodef>
 327         <macrodef name="force-recompile" uri="http://www.netbeans.org/ns/j2se-project/3">
 328             <attribute default="${build.classes.dir}" name="destdir"/>
 329             <sequential>
 330                 <fail unless="javac.includes">Must set javac.includes</fail>
 331                 <pathconvert pathsep="${line.separator}" property="javac.includes.binary">
 332                     <path>
 333                         <filelist dir="@{destdir}" files="${javac.includes}"/>
 334                     </path>
 335                     <globmapper from="*.java" to="*.class"/>
 336                 </pathconvert>
 337                 <tempfile deleteonexit="true" property="javac.includesfile.binary"/>
 338                 <echo file="${javac.includesfile.binary}" message="${javac.includes.binary}"/>
 339                 <delete>
 340                     <files includesfile="${javac.includesfile.binary}"/>
 341                 </delete>
 342                 <delete>
 343                     <fileset file="${javac.includesfile.binary}"/>
 344                 </delete>
 345             </sequential>
 346         </macrodef>
 347     </target>
 348     <target if="${junit.available}" name="-init-macrodef-junit-init">
 349         <condition else="false" property="nb.junit.batch" value="true">
 350             <and>
 351                 <istrue value="${junit.available}"/>
 352                 <not>
 353                     <isset property="test.method"/>
 354                 </not>
 355             </and>
 356         </condition>
 357         <condition else="false" property="nb.junit.single" value="true">
 358             <and>
 359                 <istrue value="${junit.available}"/>
 360                 <isset property="test.method"/>
 361             </and>
 362         </condition>
 363     </target>
 364     <target name="-init-test-properties">
 365         <property name="test.binaryincludes" value="&lt;nothing&gt;"/>
 366         <property name="test.binarytestincludes" value=""/>
 367         <property name="test.binaryexcludes" value=""/>
 368     </target>
 369     <target if="${nb.junit.single}" name="-init-macrodef-junit-single" unless="${nb.junit.batch}">
 370         <macrodef name="junit" uri="http://www.netbeans.org/ns/j2se-project/3">
 371             <attribute default="${includes}" name="includes"/>
 372             <attribute default="${excludes}" name="excludes"/>
 373             <attribute default="**" name="testincludes"/>
 374             <attribute default="" name="testmethods"/>
 375             <element name="customize" optional="true"/>
 376             <sequential>
 377                 <property name="junit.forkmode" value="perTest"/>
 378                 <junit dir="${work.dir}" errorproperty="tests.failed" failureproperty="tests.failed" fork="true" forkmode="${junit.forkmode}" showoutput="true" tempdir="${build.dir}">
 379                     <test methods="@{testmethods}" name="@{testincludes}" todir="${build.test.results.dir}"/>
 380                     <syspropertyset>
 381                         <propertyref prefix="test-sys-prop."/>
 382                         <mapper from="test-sys-prop.*" to="*" type="glob"/>
 383                     </syspropertyset>
 384                     <formatter type="brief" usefile="false"/>
 385                     <formatter type="xml"/>
 386                     <jvmarg value="-ea"/>
 387                     <customize/>
 388                 </junit>
 389             </sequential>
 390         </macrodef>
 391     </target>
 392     <target depends="-init-test-properties" if="${nb.junit.batch}" name="-init-macrodef-junit-batch" unless="${nb.junit.single}">
 393         <macrodef name="junit" uri="http://www.netbeans.org/ns/j2se-project/3">
 394             <attribute default="${includes}" name="includes"/>
 395             <attribute default="${excludes}" name="excludes"/>
 396             <attribute default="**" name="testincludes"/>
 397             <attribute default="" name="testmethods"/>
 398             <element name="customize" optional="true"/>
 399             <sequential>
 400                 <property name="junit.forkmode" value="perTest"/>
 401                 <junit dir="${work.dir}" errorproperty="tests.failed" failureproperty="tests.failed" fork="true" forkmode="${junit.forkmode}" showoutput="true" tempdir="${build.dir}">
 402                     <batchtest todir="${build.test.results.dir}">
 403                         <fileset dir="${build.test.classes.dir}" excludes="@{excludes},${excludes},${test.binaryexcludes}" includes="${test.binaryincludes}">
 404                             <filename name="${test.binarytestincludes}"/>
 405                         </fileset>
 406                     </batchtest>
 407                     <syspropertyset>
 408                         <propertyref prefix="test-sys-prop."/>
 409                         <mapper from="test-sys-prop.*" to="*" type="glob"/>
 410                     </syspropertyset>
 411                     <formatter type="brief" usefile="false"/>
 412                     <formatter type="xml"/>
 413                     <jvmarg value="-ea"/>
 414                     <customize/>
 415                 </junit>
 416             </sequential>
 417         </macrodef>
 418     </target>
 419     <target depends="-init-macrodef-junit-init,-init-macrodef-junit-single, -init-macrodef-junit-batch" if="${junit.available}" name="-init-macrodef-junit"/>
 420     <target if="${testng.available}" name="-init-macrodef-testng">
 421         <macrodef name="testng" uri="http://www.netbeans.org/ns/j2se-project/3">
 422             <attribute default="${includes}" name="includes"/>
 423             <attribute default="${excludes}" name="excludes"/>
 424             <attribute default="**" name="testincludes"/>
 425             <attribute default="" name="testmethods"/>
 426             <element name="customize" optional="true"/>
 427             <sequential>
 428                 <condition else="" property="testng.methods.arg" value="@{testincludes}.@{testmethods}">
 429                     <isset property="test.method"/>
 430                 </condition>
 431                 <union id="test.set"/>
 432                 <taskdef classname="org.testng.TestNGAntTask" classpath="${run.test.classpath}" name="testng"/>
 433                 <testng classfilesetref="test.set" failureProperty="tests.failed" listeners="org.testng.reporters.VerboseReporter" methods="${testng.methods.arg}" mode="${testng.mode}" outputdir="${build.test.results.dir}" suitename="iPodAccessTest" testname="TestNG tests" workingDir="${work.dir}">
 434                     <xmlfileset dir="${build.test.classes.dir}" includes="@{testincludes}"/>
 435                     <propertyset>
 436                         <propertyref prefix="test-sys-prop."/>
 437                         <mapper from="test-sys-prop.*" to="*" type="glob"/>
 438                     </propertyset>
 439                     <customize/>
 440                 </testng>
 441             </sequential>
 442         </macrodef>
 443     </target>
 444     <target name="-init-macrodef-test-impl">
 445         <macrodef name="test-impl" uri="http://www.netbeans.org/ns/j2se-project/3">
 446             <attribute default="${includes}" name="includes"/>
 447             <attribute default="${excludes}" name="excludes"/>
 448             <attribute default="**" name="testincludes"/>
 449             <attribute default="" name="testmethods"/>
 450             <element implicit="true" name="customize" optional="true"/>
 451             <sequential>
 452                 <echo>No tests executed.</echo>
 453             </sequential>
 454         </macrodef>
 455     </target>
 456     <target depends="-init-macrodef-junit" if="${junit.available}" name="-init-macrodef-junit-impl">
 457         <macrodef name="test-impl" uri="http://www.netbeans.org/ns/j2se-project/3">
 458             <attribute default="${includes}" name="includes"/>
 459             <attribute default="${excludes}" name="excludes"/>
 460             <attribute default="**" name="testincludes"/>
 461             <attribute default="" name="testmethods"/>
 462             <element implicit="true" name="customize" optional="true"/>
 463             <sequential>
 464                 <j2seproject3:junit excludes="@{excludes}" includes="@{includes}" testincludes="@{testincludes}" testmethods="@{testmethods}">
 465                     <customize/>
 466                 </j2seproject3:junit>
 467             </sequential>
 468         </macrodef>
 469     </target>
 470     <target depends="-init-macrodef-testng" if="${testng.available}" name="-init-macrodef-testng-impl">
 471         <macrodef name="test-impl" uri="http://www.netbeans.org/ns/j2se-project/3">
 472             <attribute default="${includes}" name="includes"/>
 473             <attribute default="${excludes}" name="excludes"/>
 474             <attribute default="**" name="testincludes"/>
 475             <attribute default="" name="testmethods"/>
 476             <element implicit="true" name="customize" optional="true"/>
 477             <sequential>
 478                 <j2seproject3:testng excludes="@{excludes}" includes="@{includes}" testincludes="@{testincludes}" testmethods="@{testmethods}">
 479                     <customize/>
 480                 </j2seproject3:testng>
 481             </sequential>
 482         </macrodef>
 483     </target>
 484     <target depends="-init-macrodef-test-impl,-init-macrodef-junit-impl,-init-macrodef-testng-impl" name="-init-macrodef-test">
 485         <macrodef name="test" uri="http://www.netbeans.org/ns/j2se-project/3">
 486             <attribute default="${includes}" name="includes"/>
 487             <attribute default="${excludes}" name="excludes"/>
 488             <attribute default="**" name="testincludes"/>
 489             <attribute default="" name="testmethods"/>
 490             <sequential>
 491                 <j2seproject3:test-impl excludes="@{excludes}" includes="@{includes}" testincludes="@{testincludes}" testmethods="@{testmethods}">
 492                     <customize>
 493                         <classpath>
 494                             <path path="${run.test.classpath}"/>
 495                         </classpath>
 496                         <jvmarg line="${endorsed.classpath.cmd.line.arg}"/>
 497                         <jvmarg line="${run.jvmargs}"/>
 498                         <jvmarg line="${run.jvmargs.ide}"/>
 499                     </customize>
 500                 </j2seproject3:test-impl>
 501             </sequential>
 502         </macrodef>
 503     </target>
 504     <target if="${junit.available}" name="-init-macrodef-junit-debug" unless="${nb.junit.batch}">
 505         <macrodef name="junit-debug" uri="http://www.netbeans.org/ns/j2se-project/3">
 506             <attribute default="${includes}" name="includes"/>
 507             <attribute default="${excludes}" name="excludes"/>
 508             <attribute default="**" name="testincludes"/>
 509             <attribute default="" name="testmethods"/>
 510             <element name="customize" optional="true"/>
 511             <sequential>
 512                 <property name="junit.forkmode" value="perTest"/>
 513                 <junit dir="${work.dir}" errorproperty="tests.failed" failureproperty="tests.failed" fork="true" forkmode="${junit.forkmode}" showoutput="true" tempdir="${build.dir}">
 514                     <test methods="@{testmethods}" name="@{testincludes}" todir="${build.test.results.dir}"/>
 515                     <syspropertyset>
 516                         <propertyref prefix="test-sys-prop."/>
 517                         <mapper from="test-sys-prop.*" to="*" type="glob"/>
 518                     </syspropertyset>
 519                     <formatter type="brief" usefile="false"/>
 520                     <formatter type="xml"/>
 521                     <jvmarg value="-ea"/>
 522                     <jvmarg line="${debug-args-line}"/>
 523                     <jvmarg value="-Xrunjdwp:transport=${debug-transport},address=${jpda.address}"/>
 524                     <customize/>
 525                 </junit>
 526             </sequential>
 527         </macrodef>
 528     </target>
 529     <target depends="-init-test-properties" if="${nb.junit.batch}" name="-init-macrodef-junit-debug-batch">
 530         <macrodef name="junit-debug" uri="http://www.netbeans.org/ns/j2se-project/3">
 531             <attribute default="${includes}" name="includes"/>
 532             <attribute default="${excludes}" name="excludes"/>
 533             <attribute default="**" name="testincludes"/>
 534             <attribute default="" name="testmethods"/>
 535             <element name="customize" optional="true"/>
 536             <sequential>
 537                 <property name="junit.forkmode" value="perTest"/>
 538                 <junit dir="${work.dir}" errorproperty="tests.failed" failureproperty="tests.failed" fork="true" forkmode="${junit.forkmode}" showoutput="true" tempdir="${build.dir}">
 539                     <batchtest todir="${build.test.results.dir}">
 540                         <fileset dir="${build.test.classes.dir}" excludes="@{excludes},${excludes},${test.binaryexcludes}" includes="${test.binaryincludes}">
 541                             <filename name="${test.binarytestincludes}"/>
 542                         </fileset>
 543                     </batchtest>
 544                     <syspropertyset>
 545                         <propertyref prefix="test-sys-prop."/>
 546                         <mapper from="test-sys-prop.*" to="*" type="glob"/>
 547                     </syspropertyset>
 548                     <formatter type="brief" usefile="false"/>
 549                     <formatter type="xml"/>
 550                     <jvmarg value="-ea"/>
 551                     <jvmarg line="${debug-args-line}"/>
 552                     <jvmarg value="-Xrunjdwp:transport=${debug-transport},address=${jpda.address}"/>
 553                     <customize/>
 554                 </junit>
 555             </sequential>
 556         </macrodef>
 557     </target>
 558     <target depends="-init-macrodef-junit-debug,-init-macrodef-junit-debug-batch" if="${junit.available}" name="-init-macrodef-junit-debug-impl">
 559         <macrodef name="test-debug-impl" uri="http://www.netbeans.org/ns/j2se-project/3">
 560             <attribute default="${includes}" name="includes"/>
 561             <attribute default="${excludes}" name="excludes"/>
 562             <attribute default="**" name="testincludes"/>
 563             <attribute default="" name="testmethods"/>
 564             <element implicit="true" name="customize" optional="true"/>
 565             <sequential>
 566                 <j2seproject3:junit-debug excludes="@{excludes}" includes="@{includes}" testincludes="@{testincludes}" testmethods="@{testmethods}">
 567                     <customize/>
 568                 </j2seproject3:junit-debug>
 569             </sequential>
 570         </macrodef>
 571     </target>
 572     <target if="${testng.available}" name="-init-macrodef-testng-debug">
 573         <macrodef name="testng-debug" uri="http://www.netbeans.org/ns/j2se-project/3">
 574             <attribute default="${main.class}" name="testClass"/>
 575             <attribute default="" name="testMethod"/>
 576             <element name="customize2" optional="true"/>
 577             <sequential>
 578                 <condition else="-testclass @{testClass}" property="test.class.or.method" value="-methods @{testClass}.@{testMethod}">
 579                     <isset property="test.method"/>
 580                 </condition>
 581                 <condition else="-suitename iPodAccessTest -testname @{testClass} ${test.class.or.method}" property="testng.cmd.args" value="@{testClass}">
 582                     <matches pattern=".*\.xml" string="@{testClass}"/>
 583                 </condition>
 584                 <delete dir="${build.test.results.dir}" quiet="true"/>
 585                 <mkdir dir="${build.test.results.dir}"/>
 586                 <j2seproject3:debug classname="org.testng.TestNG" classpath="${debug.test.classpath}">
 587                     <customize>
 588                         <customize2/>
 589                         <jvmarg value="-ea"/>
 590                         <arg line="${testng.debug.mode}"/>
 591                         <arg line="-d ${build.test.results.dir}"/>
 592                         <arg line="-listener org.testng.reporters.VerboseReporter"/>
 593                         <arg line="${testng.cmd.args}"/>
 594                     </customize>
 595                 </j2seproject3:debug>
 596             </sequential>
 597         </macrodef>
 598     </target>
 599     <target depends="-init-macrodef-testng-debug" if="${testng.available}" name="-init-macrodef-testng-debug-impl">
 600         <macrodef name="testng-debug-impl" uri="http://www.netbeans.org/ns/j2se-project/3">
 601             <attribute default="${main.class}" name="testClass"/>
 602             <attribute default="" name="testMethod"/>
 603             <element implicit="true" name="customize2" optional="true"/>
 604             <sequential>
 605                 <j2seproject3:testng-debug testClass="@{testClass}" testMethod="@{testMethod}">
 606                     <customize2/>
 607                 </j2seproject3:testng-debug>
 608             </sequential>
 609         </macrodef>
 610     </target>
 611     <target depends="-init-macrodef-junit-debug-impl" if="${junit.available}" name="-init-macrodef-test-debug-junit">
 612         <macrodef name="test-debug" uri="http://www.netbeans.org/ns/j2se-project/3">
 613             <attribute default="${includes}" name="includes"/>
 614             <attribute default="${excludes}" name="excludes"/>
 615             <attribute default="**" name="testincludes"/>
 616             <attribute default="" name="testmethods"/>
 617             <attribute default="${main.class}" name="testClass"/>
 618             <attribute default="" name="testMethod"/>
 619             <sequential>
 620                 <j2seproject3:test-debug-impl excludes="@{excludes}" includes="@{includes}" testincludes="@{testincludes}" testmethods="@{testmethods}">
 621                     <customize>
 622                         <classpath>
 623                             <path path="${run.test.classpath}"/>
 624                         </classpath>
 625                         <jvmarg line="${endorsed.classpath.cmd.line.arg}"/>
 626                         <jvmarg line="${run.jvmargs}"/>
 627                         <jvmarg line="${run.jvmargs.ide}"/>
 628                     </customize>
 629                 </j2seproject3:test-debug-impl>
 630             </sequential>
 631         </macrodef>
 632     </target>
 633     <target depends="-init-macrodef-testng-debug-impl" if="${testng.available}" name="-init-macrodef-test-debug-testng">
 634         <macrodef name="test-debug" uri="http://www.netbeans.org/ns/j2se-project/3">
 635             <attribute default="${includes}" name="includes"/>
 636             <attribute default="${excludes}" name="excludes"/>
 637             <attribute default="**" name="testincludes"/>
 638             <attribute default="" name="testmethods"/>
 639             <attribute default="${main.class}" name="testClass"/>
 640             <attribute default="" name="testMethod"/>
 641             <sequential>
 642                 <j2seproject3:testng-debug-impl testClass="@{testClass}" testMethod="@{testMethod}">
 643                     <customize2>
 644                         <syspropertyset>
 645                             <propertyref prefix="test-sys-prop."/>
 646                             <mapper from="test-sys-prop.*" to="*" type="glob"/>
 647                         </syspropertyset>
 648                     </customize2>
 649                 </j2seproject3:testng-debug-impl>
 650             </sequential>
 651         </macrodef>
 652     </target>
 653     <target depends="-init-macrodef-test-debug-junit,-init-macrodef-test-debug-testng" name="-init-macrodef-test-debug"/>
 654     <!--
 655                 pre NB7.2 profiling section; consider it deprecated
 656             -->
 657     <target depends="-profile-pre-init, init, -profile-post-init, -profile-init-macrodef-profile, -profile-init-check" if="profiler.info.jvmargs.agent" name="profile-init"/>
 658     <target if="profiler.info.jvmargs.agent" name="-profile-pre-init">
 659         <!-- Empty placeholder for easier customization. -->
 660         <!-- You can override this target in the ../build.xml file. -->
 661     </target>
 662     <target if="profiler.info.jvmargs.agent" name="-profile-post-init">
 663         <!-- Empty placeholder for easier customization. -->
 664         <!-- You can override this target in the ../build.xml file. -->
 665     </target>
 666     <target if="profiler.info.jvmargs.agent" name="-profile-init-macrodef-profile">
 667         <macrodef name="resolve">
 668             <attribute name="name"/>
 669             <attribute name="value"/>
 670             <sequential>
 671                 <property name="@{name}" value="${env.@{value}}"/>
 672             </sequential>
 673         </macrodef>
 674         <macrodef name="profile">
 675             <attribute default="${main.class}" name="classname"/>
 676             <element name="customize" optional="true"/>
 677             <sequential>
 678                 <property environment="env"/>
 679                 <resolve name="profiler.current.path" value="${profiler.info.pathvar}"/>
 680                 <java classname="@{classname}" dir="${profiler.info.dir}" fork="true" jvm="${profiler.info.jvm}">
 681                     <jvmarg line="${endorsed.classpath.cmd.line.arg}"/>
 682                     <jvmarg value="${profiler.info.jvmargs.agent}"/>
 683                     <jvmarg line="${profiler.info.jvmargs}"/>
 684                     <env key="${profiler.info.pathvar}" path="${profiler.info.agentpath}:${profiler.current.path}"/>
 685                     <arg line="${application.args}"/>
 686                     <classpath>
 687                         <path path="${run.classpath}"/>
 688                     </classpath>
 689                     <syspropertyset>
 690                         <propertyref prefix="run-sys-prop."/>
 691                         <mapper from="run-sys-prop.*" to="*" type="glob"/>
 692                     </syspropertyset>
 693                     <customize/>
 694                 </java>
 695             </sequential>
 696         </macrodef>
 697     </target>
 698     <target depends="-profile-pre-init, init, -profile-post-init, -profile-init-macrodef-profile" if="profiler.info.jvmargs.agent" name="-profile-init-check">
 699         <fail unless="profiler.info.jvm">Must set JVM to use for profiling in profiler.info.jvm</fail>
 700         <fail unless="profiler.info.jvmargs.agent">Must set profiler agent JVM arguments in profiler.info.jvmargs.agent</fail>
 701     </target>
 702     <!--
 703                 end of pre NB7.2 profiling section
 704             -->
 705     <target depends="-init-debug-args" name="-init-macrodef-nbjpda">
 706         <macrodef name="nbjpdastart" uri="http://www.netbeans.org/ns/j2se-project/1">
 707             <attribute default="${main.class}" name="name"/>
 708             <attribute default="${debug.classpath}" name="classpath"/>
 709             <attribute default="" name="stopclassname"/>
 710             <sequential>
 711                 <nbjpdastart addressproperty="jpda.address" name="@{name}" stopclassname="@{stopclassname}" transport="${debug-transport}">
 712                     <classpath>
 713                         <path path="@{classpath}"/>
 714                     </classpath>
 715                 </nbjpdastart>
 716             </sequential>
 717         </macrodef>
 718         <macrodef name="nbjpdareload" uri="http://www.netbeans.org/ns/j2se-project/1">
 719             <attribute default="${build.classes.dir}" name="dir"/>
 720             <sequential>
 721                 <nbjpdareload>
 722                     <fileset dir="@{dir}" includes="${fix.classes}">
 723                         <include name="${fix.includes}*.class"/>
 724                     </fileset>
 725                 </nbjpdareload>
 726             </sequential>
 727         </macrodef>
 728     </target>
 729     <target name="-init-debug-args">
 730         <property name="version-output" value="java version &quot;${ant.java.version}"/>
 731         <condition property="have-jdk-older-than-1.4">
 732             <or>
 733                 <contains string="${version-output}" substring="java version &quot;1.0"/>
 734                 <contains string="${version-output}" substring="java version &quot;1.1"/>
 735                 <contains string="${version-output}" substring="java version &quot;1.2"/>
 736                 <contains string="${version-output}" substring="java version &quot;1.3"/>
 737             </or>
 738         </condition>
 739         <condition else="-Xdebug" property="debug-args-line" value="-Xdebug -Xnoagent -Djava.compiler=none">
 740             <istrue value="${have-jdk-older-than-1.4}"/>
 741         </condition>
 742         <condition else="dt_socket" property="debug-transport-by-os" value="dt_shmem">
 743             <os family="windows"/>
 744         </condition>
 745         <condition else="${debug-transport-by-os}" property="debug-transport" value="${debug.transport}">
 746             <isset property="debug.transport"/>
 747         </condition>
 748     </target>
 749     <target depends="-init-debug-args" name="-init-macrodef-debug">
 750         <macrodef name="debug" uri="http://www.netbeans.org/ns/j2se-project/3">
 751             <attribute default="${main.class}" name="classname"/>
 752             <attribute default="${debug.classpath}" name="classpath"/>
 753             <element name="customize" optional="true"/>
 754             <sequential>
 755                 <java classname="@{classname}" dir="${work.dir}" fork="true">
 756                     <jvmarg line="${endorsed.classpath.cmd.line.arg}"/>
 757                     <jvmarg line="${debug-args-line}"/>
 758                     <jvmarg value="-Xrunjdwp:transport=${debug-transport},address=${jpda.address}"/>
 759                     <jvmarg value="-Dfile.encoding=${runtime.encoding}"/>
 760                     <redirector errorencoding="${runtime.encoding}" inputencoding="${runtime.encoding}" outputencoding="${runtime.encoding}"/>
 761                     <jvmarg line="${run.jvmargs}"/>
 762                     <jvmarg line="${run.jvmargs.ide}"/>
 763                     <classpath>
 764                         <path path="@{classpath}"/>
 765                     </classpath>
 766                     <syspropertyset>
 767                         <propertyref prefix="run-sys-prop."/>
 768                         <mapper from="run-sys-prop.*" to="*" type="glob"/>
 769                     </syspropertyset>
 770                     <customize/>
 771                 </java>
 772             </sequential>
 773         </macrodef>
 774     </target>
 775     <target name="-init-macrodef-java">
 776         <macrodef name="java" uri="http://www.netbeans.org/ns/j2se-project/1">
 777             <attribute default="${main.class}" name="classname"/>
 778             <attribute default="${run.classpath}" name="classpath"/>
 779             <attribute default="jvm" name="jvm"/>
 780             <element name="customize" optional="true"/>
 781             <sequential>
 782                 <java classname="@{classname}" dir="${work.dir}" fork="true">
 783                     <jvmarg line="${endorsed.classpath.cmd.line.arg}"/>
 784                     <jvmarg value="-Dfile.encoding=${runtime.encoding}"/>
 785                     <redirector errorencoding="${runtime.encoding}" inputencoding="${runtime.encoding}" outputencoding="${runtime.encoding}"/>
 786                     <jvmarg line="${run.jvmargs}"/>
 787                     <jvmarg line="${run.jvmargs.ide}"/>
 788                     <classpath>
 789                         <path path="@{classpath}"/>
 790                     </classpath>
 791                     <syspropertyset>
 792                         <propertyref prefix="run-sys-prop."/>
 793                         <mapper from="run-sys-prop.*" to="*" type="glob"/>
 794                     </syspropertyset>
 795                     <customize/>
 796                 </java>
 797             </sequential>
 798         </macrodef>
 799     </target>
 800     <target name="-init-macrodef-copylibs">
 801         <macrodef name="copylibs" uri="http://www.netbeans.org/ns/j2se-project/3">
 802             <attribute default="${manifest.file}" name="manifest"/>
 803             <element name="customize" optional="true"/>
 804             <sequential>
 805                 <property location="${build.classes.dir}" name="build.classes.dir.resolved"/>
 806                 <pathconvert property="run.classpath.without.build.classes.dir">
 807                     <path path="${run.classpath}"/>
 808                     <map from="${build.classes.dir.resolved}" to=""/>
 809                 </pathconvert>
 810                 <pathconvert pathsep=" " property="jar.classpath">
 811                     <path path="${run.classpath.without.build.classes.dir}"/>
 812                     <chainedmapper>
 813                         <flattenmapper/>
 814                         <filtermapper>
 815                             <replacestring from=" " to="%20"/>
 816                         </filtermapper>
 817                         <globmapper from="*" to="lib/*"/>
 818                     </chainedmapper>
 819                 </pathconvert>
 820                 <taskdef classname="org.netbeans.modules.java.j2seproject.copylibstask.CopyLibs" classpath="${libs.CopyLibs.classpath}" name="copylibs"/>
 821                 <copylibs compress="${jar.compress}" excludeFromCopy="${copylibs.excludes}" index="${jar.index}" indexMetaInf="${jar.index.metainf}" jarfile="${dist.jar}" manifest="@{manifest}" rebase="${copylibs.rebase}" runtimeclasspath="${run.classpath.without.build.classes.dir}">
 822                     <fileset dir="${build.classes.dir}" excludes="${dist.archive.excludes}"/>
 823                     <manifest>
 824                         <attribute name="Class-Path" value="${jar.classpath}"/>
 825                         <customize/>
 826                     </manifest>
 827                 </copylibs>
 828             </sequential>
 829         </macrodef>
 830     </target>
 831     <target name="-init-presetdef-jar">
 832         <presetdef name="jar" uri="http://www.netbeans.org/ns/j2se-project/1">
 833             <jar compress="${jar.compress}" index="${jar.index}" jarfile="${dist.jar}">
 834                 <j2seproject1:fileset dir="${build.classes.dir}" excludes="${dist.archive.excludes}"/>
 835             </jar>
 836         </presetdef>
 837     </target>
 838     <target name="-init-ap-cmdline-properties">
 839         <property name="annotation.processing.enabled" value="true"/>
 840         <property name="annotation.processing.processors.list" value=""/>
 841         <property name="annotation.processing.processor.options" value=""/>
 842         <property name="annotation.processing.run.all.processors" value="true"/>
 843         <property name="javac.processorpath" value="${javac.classpath}"/>
 844         <property name="javac.test.processorpath" value="${javac.test.classpath}"/>
 845         <condition property="ap.supported.internal" value="true">
 846             <not>
 847                 <matches pattern="1\.[0-5](\..*)?" string="${javac.source}"/>
 848             </not>
 849         </condition>
 850     </target>
 851     <target depends="-init-ap-cmdline-properties" if="ap.supported.internal" name="-init-ap-cmdline-supported">
 852         <condition else="" property="ap.processors.internal" value="-processor ${annotation.processing.processors.list}">
 853             <isfalse value="${annotation.processing.run.all.processors}"/>
 854         </condition>
 855         <condition else="" property="ap.proc.none.internal" value="-proc:none">
 856             <isfalse value="${annotation.processing.enabled}"/>
 857         </condition>
 858     </target>
 859     <target depends="-init-ap-cmdline-properties,-init-ap-cmdline-supported" name="-init-ap-cmdline">
 860         <property name="ap.cmd.line.internal" value=""/>
 861     </target>
 862     <target depends="-pre-init,-init-private,-init-user,-init-project,-do-init,-post-init,-init-check,-init-macrodef-property,-init-macrodef-javac,-init-macrodef-test,-init-macrodef-test-debug,-init-macrodef-nbjpda,-init-macrodef-debug,-init-macrodef-java,-init-presetdef-jar,-init-ap-cmdline" name="init"/>
 863     <!--
 864                 ===================
 865                 COMPILATION SECTION
 866                 ===================
 867             -->
 868     <target name="-deps-jar-init" unless="built-jar.properties">
 869         <property location="${build.dir}/built-jar.properties" name="built-jar.properties"/>
 870         <delete file="${built-jar.properties}" quiet="true"/>
 871     </target>
 872     <target if="already.built.jar.${basedir}" name="-warn-already-built-jar">
 873         <echo level="warn" message="Cycle detected: iPodAccessTest was already built"/>
 874     </target>
 875     <target depends="init,-deps-jar-init" name="deps-jar" unless="no.deps">
 876         <mkdir dir="${build.dir}"/>
 877         <touch file="${built-jar.properties}" verbose="false"/>
 878         <property file="${built-jar.properties}" prefix="already.built.jar."/>
 879         <antcall target="-warn-already-built-jar"/>
 880         <propertyfile file="${built-jar.properties}">
 881             <entry key="${basedir}" value=""/>
 882         </propertyfile>
 883     </target>
 884     <target depends="init,-check-automatic-build,-clean-after-automatic-build" name="-verify-automatic-build"/>
 885     <target depends="init" name="-check-automatic-build">
 886         <available file="${build.classes.dir}/.netbeans_automatic_build" property="netbeans.automatic.build"/>
 887     </target>
 888     <target depends="init" if="netbeans.automatic.build" name="-clean-after-automatic-build">
 889         <antcall target="clean"/>
 890     </target>
 891     <target depends="init,deps-jar" name="-pre-pre-compile">
 892         <mkdir dir="${build.classes.dir}"/>
 893     </target>
 894     <target name="-pre-compile">
 895         <!-- Empty placeholder for easier customization. -->
 896         <!-- You can override this target in the ../build.xml file. -->
 897     </target>
 898     <target if="do.depend.true" name="-compile-depend">
 899         <pathconvert property="build.generated.subdirs">
 900             <dirset dir="${build.generated.sources.dir}" erroronmissingdir="false">
 901                 <include name="*"/>
 902             </dirset>
 903         </pathconvert>
 904         <j2seproject3:depend srcdir="${src.dir}:${build.generated.subdirs}"/>
 905     </target>
 906     <target depends="init,deps-jar,-pre-pre-compile,-pre-compile, -copy-persistence-xml,-compile-depend" if="have.sources" name="-do-compile">
 907         <j2seproject3:javac gensrcdir="${build.generated.sources.dir}"/>
 908         <copy todir="${build.classes.dir}">
 909             <fileset dir="${src.dir}" excludes="${build.classes.excludes},${excludes}" includes="${includes}"/>
 910         </copy>
 911     </target>
 912     <target if="has.persistence.xml" name="-copy-persistence-xml">
 913         <mkdir dir="${build.classes.dir}/META-INF"/>
 914         <copy todir="${build.classes.dir}/META-INF">
 915             <fileset dir="${meta.inf.dir}" includes="persistence.xml orm.xml"/>
 916         </copy>
 917     </target>
 918     <target name="-post-compile">
 919         <!-- Empty placeholder for easier customization. -->
 920         <!-- You can override this target in the ../build.xml file. -->
 921     </target>
 922     <target depends="init,deps-jar,-verify-automatic-build,-pre-pre-compile,-pre-compile,-do-compile,-post-compile" description="Compile project." name="compile"/>
 923     <target name="-pre-compile-single">
 924         <!-- Empty placeholder for easier customization. -->
 925         <!-- You can override this target in the ../build.xml file. -->
 926     </target>
 927     <target depends="init,deps-jar,-pre-pre-compile" name="-do-compile-single">
 928         <fail unless="javac.includes">Must select some files in the IDE or set javac.includes</fail>
 929         <j2seproject3:force-recompile/>
 930         <j2seproject3:javac excludes="" gensrcdir="${build.generated.sources.dir}" includes="${javac.includes}" sourcepath="${src.dir}"/>
 931     </target>
 932     <target name="-post-compile-single">
 933         <!-- Empty placeholder for easier customization. -->
 934         <!-- You can override this target in the ../build.xml file. -->
 935     </target>
 936     <target depends="init,deps-jar,-verify-automatic-build,-pre-pre-compile,-pre-compile-single,-do-compile-single,-post-compile-single" name="compile-single"/>
 937     <!--
 938                 ====================
 939                 JAR BUILDING SECTION
 940                 ====================
 941             -->
 942     <target depends="init" name="-pre-pre-jar">
 943         <dirname file="${dist.jar}" property="dist.jar.dir"/>
 944         <mkdir dir="${dist.jar.dir}"/>
 945     </target>
 946     <target name="-pre-jar">
 947         <!-- Empty placeholder for easier customization. -->
 948         <!-- You can override this target in the ../build.xml file. -->
 949     </target>
 950     <target depends="init" if="do.archive" name="-do-jar-create-manifest" unless="manifest.available">
 951         <tempfile deleteonexit="true" destdir="${build.dir}" property="tmp.manifest.file"/>
 952         <touch file="${tmp.manifest.file}" verbose="false"/>
 953     </target>
 954     <target depends="init" if="do.archive+manifest.available" name="-do-jar-copy-manifest">
 955         <tempfile deleteonexit="true" destdir="${build.dir}" property="tmp.manifest.file"/>
 956         <copy file="${manifest.file}" tofile="${tmp.manifest.file}"/>
 957     </target>
 958     <target depends="init,-do-jar-create-manifest,-do-jar-copy-manifest" if="do.archive+main.class.available" name="-do-jar-set-mainclass">
 959         <manifest file="${tmp.manifest.file}" mode="update">
 960             <attribute name="Main-Class" value="${main.class}"/>
 961         </manifest>
 962     </target>
 963     <target depends="init,-do-jar-create-manifest,-do-jar-copy-manifest" if="do.archive+profile.available" name="-do-jar-set-profile">
 964         <manifest file="${tmp.manifest.file}" mode="update">
 965             <attribute name="Profile" value="${javac.profile}"/>
 966         </manifest>
 967     </target>
 968     <target depends="init,-do-jar-create-manifest,-do-jar-copy-manifest" if="do.archive+splashscreen.available" name="-do-jar-set-splashscreen">
 969         <basename file="${application.splash}" property="splashscreen.basename"/>
 970         <mkdir dir="${build.classes.dir}/META-INF"/>
 971         <copy failonerror="false" file="${application.splash}" todir="${build.classes.dir}/META-INF"/>
 972         <manifest file="${tmp.manifest.file}" mode="update">
 973             <attribute name="SplashScreen-Image" value="META-INF/${splashscreen.basename}"/>
 974         </manifest>
 975     </target>
 976     <target depends="init,-init-macrodef-copylibs,compile,-pre-pre-jar,-pre-jar,-do-jar-create-manifest,-do-jar-copy-manifest,-do-jar-set-mainclass,-do-jar-set-profile,-do-jar-set-splashscreen" if="do.mkdist" name="-do-jar-copylibs">
 977         <j2seproject3:copylibs manifest="${tmp.manifest.file}"/>
 978         <echo level="info">To run this application from the command line without Ant, try:</echo>
 979         <property location="${dist.jar}" name="dist.jar.resolved"/>
 980         <echo level="info">java -jar "${dist.jar.resolved}"</echo>
 981     </target>
 982     <target depends="init,compile,-pre-pre-jar,-pre-jar,-do-jar-create-manifest,-do-jar-copy-manifest,-do-jar-set-mainclass,-do-jar-set-profile,-do-jar-set-splashscreen" if="do.archive" name="-do-jar-jar" unless="do.mkdist">
 983         <j2seproject1:jar manifest="${tmp.manifest.file}"/>
 984         <property location="${build.classes.dir}" name="build.classes.dir.resolved"/>
 985         <property location="${dist.jar}" name="dist.jar.resolved"/>
 986         <pathconvert property="run.classpath.with.dist.jar">
 987             <path path="${run.classpath}"/>
 988             <map from="${build.classes.dir.resolved}" to="${dist.jar.resolved}"/>
 989         </pathconvert>
 990         <condition else="" property="jar.usage.message" value="To run this application from the command line without Ant, try:${line.separator}${platform.java} -cp ${run.classpath.with.dist.jar} ${main.class}">
 991             <isset property="main.class.available"/>
 992         </condition>
 993         <condition else="debug" property="jar.usage.level" value="info">
 994             <isset property="main.class.available"/>
 995         </condition>
 996         <echo level="${jar.usage.level}" message="${jar.usage.message}"/>
 997     </target>
 998     <target depends="-do-jar-copylibs" if="do.archive" name="-do-jar-delete-manifest">
 999         <delete>
1000             <fileset file="${tmp.manifest.file}"/>
1001         </delete>
1002     </target>
1003     <target depends="init,compile,-pre-pre-jar,-pre-jar,-do-jar-create-manifest,-do-jar-copy-manifest,-do-jar-set-mainclass,-do-jar-set-profile,-do-jar-set-splashscreen,-do-jar-jar,-do-jar-delete-manifest" name="-do-jar-without-libraries"/>
1004     <target depends="init,compile,-pre-pre-jar,-pre-jar,-do-jar-create-manifest,-do-jar-copy-manifest,-do-jar-set-mainclass,-do-jar-set-profile,-do-jar-set-splashscreen,-do-jar-copylibs,-do-jar-delete-manifest" name="-do-jar-with-libraries"/>
1005     <target name="-post-jar">
1006         <!-- Empty placeholder for easier customization. -->
1007         <!-- You can override this target in the ../build.xml file. -->
1008     </target>
1009     <target depends="init,compile,-pre-jar,-do-jar-without-libraries,-do-jar-with-libraries,-post-jar" name="-do-jar"/>
1010     <target depends="init,compile,-pre-jar,-do-jar,-post-jar" description="Build JAR." name="jar"/>
1011     <!--
1012                 =================
1013                 EXECUTION SECTION
1014                 =================
1015             -->
1016     <target depends="init,compile" description="Run a main class." name="run">
1017         <j2seproject1:java>
1018             <customize>
1019                 <arg line="${application.args}"/>
1020             </customize>
1021         </j2seproject1:java>
1022     </target>
1023     <target name="-do-not-recompile">
1024         <property name="javac.includes.binary" value=""/>
1025     </target>
1026     <target depends="init,compile-single" name="run-single">
1027         <fail unless="run.class">Must select one file in the IDE or set run.class</fail>
1028         <j2seproject1:java classname="${run.class}"/>
1029     </target>
1030     <target depends="init,compile-test-single" name="run-test-with-main">
1031         <fail unless="run.class">Must select one file in the IDE or set run.class</fail>
1032         <j2seproject1:java classname="${run.class}" classpath="${run.test.classpath}"/>
1033     </target>
1034     <!--
1035                 =================
1036                 DEBUGGING SECTION
1037                 =================
1038             -->
1039     <target depends="init" if="netbeans.home" name="-debug-start-debugger">
1040         <j2seproject1:nbjpdastart name="${debug.class}"/>
1041     </target>
1042     <target depends="init" if="netbeans.home" name="-debug-start-debugger-main-test">
1043         <j2seproject1:nbjpdastart classpath="${debug.test.classpath}" name="${debug.class}"/>
1044     </target>
1045     <target depends="init,compile" name="-debug-start-debuggee">
1046         <j2seproject3:debug>
1047             <customize>
1048                 <arg line="${application.args}"/>
1049             </customize>
1050         </j2seproject3:debug>
1051     </target>
1052     <target depends="init,compile,-debug-start-debugger,-debug-start-debuggee" description="Debug project in IDE." if="netbeans.home" name="debug"/>
1053     <target depends="init" if="netbeans.home" name="-debug-start-debugger-stepinto">
1054         <j2seproject1:nbjpdastart stopclassname="${main.class}"/>
1055     </target>
1056     <target depends="init,compile,-debug-start-debugger-stepinto,-debug-start-debuggee" if="netbeans.home" name="debug-stepinto"/>
1057     <target depends="init,compile-single" if="netbeans.home" name="-debug-start-debuggee-single">
1058         <fail unless="debug.class">Must select one file in the IDE or set debug.class</fail>
1059         <j2seproject3:debug classname="${debug.class}"/>
1060     </target>
1061     <target depends="init,compile-single,-debug-start-debugger,-debug-start-debuggee-single" if="netbeans.home" name="debug-single"/>
1062     <target depends="init,compile-test-single" if="netbeans.home" name="-debug-start-debuggee-main-test">
1063         <fail unless="debug.class">Must select one file in the IDE or set debug.class</fail>
1064         <j2seproject3:debug classname="${debug.class}" classpath="${debug.test.classpath}"/>
1065     </target>
1066     <target depends="init,compile-test-single,-debug-start-debugger-main-test,-debug-start-debuggee-main-test" if="netbeans.home" name="debug-test-with-main"/>
1067     <target depends="init" name="-pre-debug-fix">
1068         <fail unless="fix.includes">Must set fix.includes</fail>
1069         <property name="javac.includes" value="${fix.includes}.java"/>
1070     </target>
1071     <target depends="init,-pre-debug-fix,compile-single" if="netbeans.home" name="-do-debug-fix">
1072         <j2seproject1:nbjpdareload/>
1073     </target>
1074     <target depends="init,-pre-debug-fix,-do-debug-fix" if="netbeans.home" name="debug-fix"/>
1075     <!--
1076                 =================
1077                 PROFILING SECTION
1078                 =================
1079             -->
1080     <!--
1081                 pre NB7.2 profiler integration
1082             -->
1083     <target depends="profile-init,compile" description="Profile a project in the IDE." if="profiler.info.jvmargs.agent" name="-profile-pre72">
1084         <fail unless="netbeans.home">This target only works when run from inside the NetBeans IDE.</fail>
1085         <nbprofiledirect>
1086             <classpath>
1087                 <path path="${run.classpath}"/>
1088             </classpath>
1089         </nbprofiledirect>
1090         <profile/>
1091     </target>
1092     <target depends="profile-init,compile-single" description="Profile a selected class in the IDE." if="profiler.info.jvmargs.agent" name="-profile-single-pre72">
1093         <fail unless="profile.class">Must select one file in the IDE or set profile.class</fail>
1094         <fail unless="netbeans.home">This target only works when run from inside the NetBeans IDE.</fail>
1095         <nbprofiledirect>
1096             <classpath>
1097                 <path path="${run.classpath}"/>
1098             </classpath>
1099         </nbprofiledirect>
1100         <profile classname="${profile.class}"/>
1101     </target>
1102     <target depends="profile-init,compile-single" if="profiler.info.jvmargs.agent" name="-profile-applet-pre72">
1103         <fail unless="netbeans.home">This target only works when run from inside the NetBeans IDE.</fail>
1104         <nbprofiledirect>
1105             <classpath>
1106                 <path path="${run.classpath}"/>
1107             </classpath>
1108         </nbprofiledirect>
1109         <profile classname="sun.applet.AppletViewer">
1110             <customize>
1111                 <arg value="${applet.url}"/>
1112             </customize>
1113         </profile>
1114     </target>
1115     <target depends="profile-init,compile-test-single" if="profiler.info.jvmargs.agent" name="-profile-test-single-pre72">
1116         <fail unless="netbeans.home">This target only works when run from inside the NetBeans IDE.</fail>
1117         <nbprofiledirect>
1118             <classpath>
1119                 <path path="${run.test.classpath}"/>
1120             </classpath>
1121         </nbprofiledirect>
1122         <junit dir="${profiler.info.dir}" errorproperty="tests.failed" failureproperty="tests.failed" fork="true" jvm="${profiler.info.jvm}" showoutput="true">
1123             <env key="${profiler.info.pathvar}" path="${profiler.info.agentpath}:${profiler.current.path}"/>
1124             <jvmarg value="${profiler.info.jvmargs.agent}"/>
1125             <jvmarg line="${profiler.info.jvmargs}"/>
1126             <test name="${profile.class}"/>
1127             <classpath>
1128                 <path path="${run.test.classpath}"/>
1129             </classpath>
1130             <syspropertyset>
1131                 <propertyref prefix="test-sys-prop."/>
1132                 <mapper from="test-sys-prop.*" to="*" type="glob"/>
1133             </syspropertyset>
1134             <formatter type="brief" usefile="false"/>
1135             <formatter type="xml"/>
1136         </junit>
1137     </target>
1138     <!--
1139                 end of pre NB72 profiling section
1140             -->
1141     <target if="netbeans.home" name="-profile-check">
1142         <condition property="profiler.configured">
1143             <or>
1144                 <contains casesensitive="true" string="${run.jvmargs.ide}" substring="-agentpath:"/>
1145                 <contains casesensitive="true" string="${run.jvmargs.ide}" substring="-javaagent:"/>
1146             </or>
1147         </condition>
1148     </target>
1149     <target depends="-profile-check,-profile-pre72" description="Profile a project in the IDE." if="profiler.configured" name="profile" unless="profiler.info.jvmargs.agent">
1150         <startprofiler/>
1151         <antcall target="run"/>
1152     </target>
1153     <target depends="-profile-check,-profile-single-pre72" description="Profile a selected class in the IDE." if="profiler.configured" name="profile-single" unless="profiler.info.jvmargs.agent">
1154         <fail unless="run.class">Must select one file in the IDE or set run.class</fail>
1155         <startprofiler/>
1156         <antcall target="run-single"/>
1157     </target>
1158     <target depends="-profile-test-single-pre72" description="Profile a selected test in the IDE." name="profile-test-single"/>
1159     <target depends="-profile-check" description="Profile a selected test in the IDE." if="profiler.configured" name="profile-test" unless="profiler.info.jvmargs">
1160         <fail unless="test.includes">Must select some files in the IDE or set test.includes</fail>
1161         <startprofiler/>
1162         <antcall target="test-single"/>
1163     </target>
1164     <target depends="-profile-check" description="Profile a selected class in the IDE." if="profiler.configured" name="profile-test-with-main">
1165         <fail unless="run.class">Must select one file in the IDE or set run.class</fail>
1166         <startprofiler/>
1167         <antcal target="run-test-with-main"/>
1168     </target>
1169     <target depends="-profile-check,-profile-applet-pre72" if="profiler.configured" name="profile-applet" unless="profiler.info.jvmargs.agent">
1170         <fail unless="applet.url">Must select one file in the IDE or set applet.url</fail>
1171         <startprofiler/>
1172         <antcall target="run-applet"/>
1173     </target>
1174     <!--
1175                 ===============
1176                 JAVADOC SECTION
1177                 ===============
1178             -->
1179     <target depends="init" if="have.sources" name="-javadoc-build">
1180         <mkdir dir="${dist.javadoc.dir}"/>
1181         <condition else="" property="javadoc.endorsed.classpath.cmd.line.arg" value="-J${endorsed.classpath.cmd.line.arg}">
1182             <and>
1183                 <isset property="endorsed.classpath.cmd.line.arg"/>
1184                 <not>
1185                     <equals arg1="${endorsed.classpath.cmd.line.arg}" arg2=""/>
1186                 </not>
1187             </and>
1188         </condition>
1189         <javadoc additionalparam="${javadoc.additionalparam}" author="${javadoc.author}" charset="UTF-8" destdir="${dist.javadoc.dir}" docencoding="UTF-8" encoding="${javadoc.encoding.used}" failonerror="true" noindex="${javadoc.noindex}" nonavbar="${javadoc.nonavbar}" notree="${javadoc.notree}" private="${javadoc.private}" source="${javac.source}" splitindex="${javadoc.splitindex}" use="${javadoc.use}" useexternalfile="true" version="${javadoc.version}" windowtitle="${javadoc.windowtitle}">
1190             <classpath>
1191                 <path path="${javac.classpath}"/>
1192             </classpath>
1193             <fileset dir="${src.dir}" excludes="*.java,${excludes}" includes="${includes}">
1194                 <filename name="**/*.java"/>
1195             </fileset>
1196             <fileset dir="${build.generated.sources.dir}" erroronmissingdir="false">
1197                 <include name="**/*.java"/>
1198                 <exclude name="*.java"/>
1199             </fileset>
1200             <arg line="${javadoc.endorsed.classpath.cmd.line.arg}"/>
1201         </javadoc>
1202         <copy todir="${dist.javadoc.dir}">
1203             <fileset dir="${src.dir}" excludes="${excludes}" includes="${includes}">
1204                 <filename name="**/doc-files/**"/>
1205             </fileset>
1206             <fileset dir="${build.generated.sources.dir}" erroronmissingdir="false">
1207                 <include name="**/doc-files/**"/>
1208             </fileset>
1209         </copy>
1210     </target>
1211     <target depends="init,-javadoc-build" if="netbeans.home" name="-javadoc-browse" unless="no.javadoc.preview">
1212         <nbbrowse file="${dist.javadoc.dir}/index.html"/>
1213     </target>
1214     <target depends="init,-javadoc-build,-javadoc-browse" description="Build Javadoc." name="javadoc"/>
1215     <!--
1216                 =========================
1217                 TEST COMPILATION SECTION
1218                 =========================
1219             -->
1220     <target depends="init,compile" if="have.tests" name="-pre-pre-compile-test">
1221         <mkdir dir="${build.test.classes.dir}"/>
1222     </target>
1223     <target name="-pre-compile-test">
1224         <!-- Empty placeholder for easier customization. -->
1225         <!-- You can override this target in the ../build.xml file. -->
1226     </target>
1227     <target if="do.depend.true" name="-compile-test-depend">
1228         <j2seproject3:depend classpath="${javac.test.classpath}" destdir="${build.test.classes.dir}" srcdir=""/>
1229     </target>
1230     <target depends="init,deps-jar,compile,-pre-pre-compile-test,-pre-compile-test,-compile-test-depend" if="have.tests" name="-do-compile-test">
1231         <j2seproject3:javac apgeneratedsrcdir="${build.test.classes.dir}" classpath="${javac.test.classpath}" debug="true" destdir="${build.test.classes.dir}" processorpath="${javac.test.processorpath}" srcdir=""/>
1232         <copy todir="${build.test.classes.dir}"/>
1233     </target>
1234     <target name="-post-compile-test">
1235         <!-- Empty placeholder for easier customization. -->
1236         <!-- You can override this target in the ../build.xml file. -->
1237     </target>
1238     <target depends="init,compile,-pre-pre-compile-test,-pre-compile-test,-do-compile-test,-post-compile-test" name="compile-test"/>
1239     <target name="-pre-compile-test-single">
1240         <!-- Empty placeholder for easier customization. -->
1241         <!-- You can override this target in the ../build.xml file. -->
1242     </target>
1243     <target depends="init,deps-jar,compile,-pre-pre-compile-test,-pre-compile-test-single" if="have.tests" name="-do-compile-test-single">
1244         <fail unless="javac.includes">Must select some files in the IDE or set javac.includes</fail>
1245         <j2seproject3:force-recompile destdir="${build.test.classes.dir}"/>
1246         <j2seproject3:javac apgeneratedsrcdir="${build.test.classes.dir}" classpath="${javac.test.classpath}" debug="true" destdir="${build.test.classes.dir}" excludes="" includes="${javac.includes}" processorpath="${javac.test.processorpath}" sourcepath="" srcdir=""/>
1247         <copy todir="${build.test.classes.dir}"/>
1248     </target>
1249     <target name="-post-compile-test-single">
1250         <!-- Empty placeholder for easier customization. -->
1251         <!-- You can override this target in the ../build.xml file. -->
1252     </target>
1253     <target depends="init,compile,-pre-pre-compile-test,-pre-compile-test-single,-do-compile-test-single,-post-compile-test-single" name="compile-test-single"/>
1254     <!--
1255                 =======================
1256                 TEST EXECUTION SECTION
1257                 =======================
1258             -->
1259     <target depends="init" if="have.tests" name="-pre-test-run">
1260         <mkdir dir="${build.test.results.dir}"/>
1261     </target>
1262     <target depends="init,compile-test,-pre-test-run" if="have.tests" name="-do-test-run">
1263         <j2seproject3:test testincludes="**/*Test.java"/>
1264     </target>
1265     <target depends="init,compile-test,-pre-test-run,-do-test-run" if="have.tests" name="-post-test-run">
1266         <fail if="tests.failed" unless="ignore.failing.tests">Some tests failed; see details above.</fail>
1267     </target>
1268     <target depends="init" if="have.tests" name="test-report"/>
1269     <target depends="init" if="netbeans.home+have.tests" name="-test-browse"/>
1270     <target depends="init,compile-test,-pre-test-run,-do-test-run,test-report,-post-test-run,-test-browse" description="Run unit tests." name="test"/>
1271     <target depends="init" if="have.tests" name="-pre-test-run-single">
1272         <mkdir dir="${build.test.results.dir}"/>
1273     </target>
1274     <target depends="init,compile-test-single,-pre-test-run-single" if="have.tests" name="-do-test-run-single">
1275         <fail unless="test.includes">Must select some files in the IDE or set test.includes</fail>
1276         <j2seproject3:test excludes="" includes="${test.includes}" testincludes="${test.includes}"/>
1277     </target>
1278     <target depends="init,compile-test-single,-pre-test-run-single,-do-test-run-single" if="have.tests" name="-post-test-run-single">
1279         <fail if="tests.failed" unless="ignore.failing.tests">Some tests failed; see details above.</fail>
1280     </target>
1281     <target depends="init,compile-test-single,-pre-test-run-single,-do-test-run-single,-post-test-run-single" description="Run single unit test." name="test-single"/>
1282     <target depends="init,compile-test-single,-pre-test-run-single" if="have.tests" name="-do-test-run-single-method">
1283         <fail unless="test.class">Must select some files in the IDE or set test.class</fail>
1284         <fail unless="test.method">Must select some method in the IDE or set test.method</fail>
1285         <j2seproject3:test excludes="" includes="${javac.includes}" testincludes="${test.class}" testmethods="${test.method}"/>
1286     </target>
1287     <target depends="init,compile-test-single,-pre-test-run-single,-do-test-run-single-method" if="have.tests" name="-post-test-run-single-method">
1288         <fail if="tests.failed" unless="ignore.failing.tests">Some tests failed; see details above.</fail>
1289     </target>
1290     <target depends="init,compile-test-single,-pre-test-run-single,-do-test-run-single-method,-post-test-run-single-method" description="Run single unit test." name="test-single-method"/>
1291     <!--
1292                 =======================
1293                 TEST DEBUGGING SECTION
1294                 =======================
1295             -->
1296     <target depends="init,compile-test-single,-pre-test-run-single" if="have.tests" name="-debug-start-debuggee-test">
1297         <fail unless="test.class">Must select one file in the IDE or set test.class</fail>
1298         <j2seproject3:test-debug excludes="" includes="${javac.includes}" testClass="${test.class}" testincludes="${javac.includes}"/>
1299     </target>
1300     <target depends="init,compile-test-single,-pre-test-run-single" if="have.tests" name="-debug-start-debuggee-test-method">
1301         <fail unless="test.class">Must select one file in the IDE or set test.class</fail>
1302         <fail unless="test.method">Must select some method in the IDE or set test.method</fail>
1303         <j2seproject3:test-debug excludes="" includes="${javac.includes}" testClass="${test.class}" testMethod="${test.method}" testincludes="${test.class}" testmethods="${test.method}"/>
1304     </target>
1305     <target depends="init,compile-test" if="netbeans.home+have.tests" name="-debug-start-debugger-test">
1306         <j2seproject1:nbjpdastart classpath="${debug.test.classpath}" name="${test.class}"/>
1307     </target>
1308     <target depends="init,compile-test-single,-debug-start-debugger-test,-debug-start-debuggee-test" name="debug-test"/>
1309     <target depends="init,compile-test-single,-debug-start-debugger-test,-debug-start-debuggee-test-method" name="debug-test-method"/>
1310     <target depends="init,-pre-debug-fix,compile-test-single" if="netbeans.home" name="-do-debug-fix-test">
1311         <j2seproject1:nbjpdareload dir="${build.test.classes.dir}"/>
1312     </target>
1313     <target depends="init,-pre-debug-fix,-do-debug-fix-test" if="netbeans.home" name="debug-fix-test"/>
1314     <!--
1315                 =========================
1316                 APPLET EXECUTION SECTION
1317                 =========================
1318             -->
1319     <target depends="init,compile-single" name="run-applet">
1320         <fail unless="applet.url">Must select one file in the IDE or set applet.url</fail>
1321         <j2seproject1:java classname="sun.applet.AppletViewer">
1322             <customize>
1323                 <arg value="${applet.url}"/>
1324             </customize>
1325         </j2seproject1:java>
1326     </target>
1327     <!--
1328                 =========================
1329                 APPLET DEBUGGING  SECTION
1330                 =========================
1331             -->
1332     <target depends="init,compile-single" if="netbeans.home" name="-debug-start-debuggee-applet">
1333         <fail unless="applet.url">Must select one file in the IDE or set applet.url</fail>
1334         <j2seproject3:debug classname="sun.applet.AppletViewer">
1335             <customize>
1336                 <arg value="${applet.url}"/>
1337             </customize>
1338         </j2seproject3:debug>
1339     </target>
1340     <target depends="init,compile-single,-debug-start-debugger,-debug-start-debuggee-applet" if="netbeans.home" name="debug-applet"/>
1341     <!--
1342                 ===============
1343                 CLEANUP SECTION
1344                 ===============
1345             -->
1346     <target name="-deps-clean-init" unless="built-clean.properties">
1347         <property location="${build.dir}/built-clean.properties" name="built-clean.properties"/>
1348         <delete file="${built-clean.properties}" quiet="true"/>
1349     </target>
1350     <target if="already.built.clean.${basedir}" name="-warn-already-built-clean">
1351         <echo level="warn" message="Cycle detected: iPodAccessTest was already built"/>
1352     </target>
1353     <target depends="init,-deps-clean-init" name="deps-clean" unless="no.deps">
1354         <mkdir dir="${build.dir}"/>
1355         <touch file="${built-clean.properties}" verbose="false"/>
1356         <property file="${built-clean.properties}" prefix="already.built.clean."/>
1357         <antcall target="-warn-already-built-clean"/>
1358         <propertyfile file="${built-clean.properties}">
1359             <entry key="${basedir}" value=""/>
1360         </propertyfile>
1361     </target>
1362     <target depends="init" name="-do-clean">
1363         <delete dir="${build.dir}"/>
1364         <delete dir="${dist.dir}" followsymlinks="false" includeemptydirs="true"/>
1365     </target>
1366     <target name="-post-clean">
1367         <!-- Empty placeholder for easier customization. -->
1368         <!-- You can override this target in the ../build.xml file. -->
1369     </target>
1370     <target depends="init,deps-clean,-do-clean,-post-clean" description="Clean build products." name="clean"/>
1371     <target name="-check-call-dep">
1372         <property file="${call.built.properties}" prefix="already.built."/>
1373         <condition property="should.call.dep">
1374             <and>
1375                 <not>
1376                     <isset property="already.built.${call.subproject}"/>
1377                 </not>
1378                 <available file="${call.script}"/>
1379             </and>
1380         </condition>
1381     </target>
1382     <target depends="-check-call-dep" if="should.call.dep" name="-maybe-call-dep">
1383         <ant antfile="${call.script}" inheritall="false" target="${call.target}">
1384             <propertyset>
1385                 <propertyref prefix="transfer."/>
1386                 <mapper from="transfer.*" to="*" type="glob"/>
1387             </propertyset>
1388         </ant>
1389     </target>
1390 </project>