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