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