source: tags/1.9.2/nbproject/build-impl.xml

Last change on this file was 15631, checked in by Mark Evenson, 22 months ago

netbeans: update build artifacts for netbeans-16

Declare source built under Netbeans to be java-1.8 compatible which is
necessary for openjdk17.

File size: 96.6 KB
Line 
1<?xml version="1.0" encoding="UTF-8"?>
2<!--
3*** GENERATED FROM project.xml - DO NOT EDIT  ***
4***         EDIT ../build.xml INSTEAD         ***
5
6For the purpose of easier reading the script
7is 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:if="ant:if" 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" xmlns:unless="ant:unless" basedir=".." default="default" name="abcl-impl">
23    <fail message="Please build using Ant 1.8.0 or higher.">
24        <condition>
25            <not>
26                <antversion atleast="1.8.0"/>
27            </not>
28        </condition>
29    </fail>
30    <target depends="test,jar,javadoc" description="Build and test whole project." name="default"/>
31    <!--
32                ======================
33                INITIALIZATION SECTION
34                ======================
35            -->
36    <target name="-pre-init">
37        <!-- Empty placeholder for easier customization. -->
38        <!-- You can override this target in the ../build.xml file. -->
39    </target>
40    <target depends="-pre-init" name="-init-private">
41        <property file="nbproject/private/config.properties"/>
42        <property file="nbproject/private/configs/${config}.properties"/>
43        <property file="nbproject/private/private.properties"/>
44    </target>
45    <target depends="-pre-init,-init-private" name="-init-user">
46        <property file="${user.properties.file}"/>
47        <!-- The two properties below are usually overridden -->
48        <!-- by the active platform. Just a fallback. -->
49        <property name="default.javac.source" value="1.8"/>
50        <property name="default.javac.target" value="1.8"/>
51    </target>
52    <target depends="-pre-init,-init-private,-init-user" name="-init-project">
53        <property file="nbproject/configs/${config}.properties"/>
54        <property file="nbproject/project.properties"/>
55    </target>
56    <target name="-init-modules-supported">
57        <condition property="modules.supported.internal" value="true">
58            <not>
59                <matches pattern="1\.[0-8](\..*)?" string="${javac.source}"/>
60            </not>
61        </condition>
62    </target>
63    <target depends="-init-modules-supported" if="modules.supported.internal" name="-init-macrodef-modulename">
64        <macrodef name="modulename" uri="http://www.netbeans.org/ns/j2se-project/3">
65            <attribute name="property"/>
66            <attribute name="sourcepath"/>
67            <sequential>
68                <loadresource property="@{property}" quiet="true">
69                    <javaresource classpath="@{sourcepath}" name="module-info.java" parentFirst="false"/>
70                    <filterchain>
71                        <stripjavacomments/>
72                        <linecontainsregexp>
73                            <regexp pattern="module .* \{"/>
74                        </linecontainsregexp>
75                        <tokenfilter>
76                            <linetokenizer/>
77                            <replaceregex flags="s" pattern="(\s*module\s+)(\S*)(\s*\{.*)" replace="\2"/>
78                        </tokenfilter>
79                        <striplinebreaks/>
80                    </filterchain>
81                </loadresource>
82            </sequential>
83        </macrodef>
84    </target>
85    <target depends="-init-modules-supported,-init-macrodef-modulename" if="modules.supported.internal" name="-init-source-module-properties">
86        <fail message="Java 9 support requires Ant 1.10.0 or higher.">
87            <condition>
88                <not>
89                    <antversion atleast="1.10.0"/>
90                </not>
91            </condition>
92        </fail>
93        <j2seproject3:modulename property="module.name" sourcepath="${src.dir}"/>
94        <condition property="named.module.internal">
95            <and>
96                <isset property="module.name"/>
97                <length length="0" string="${module.name}" when="greater"/>
98            </and>
99        </condition>
100        <condition property="unnamed.module.internal">
101            <not>
102                <isset property="named.module.internal"/>
103            </not>
104        </condition>
105        <property name="javac.modulepath" value=""/>
106        <property name="run.modulepath" value="${javac.modulepath}"/>
107        <property name="module.build.classes.dir" value="${build.classes.dir}"/>
108        <property name="debug.modulepath" value="${run.modulepath}"/>
109        <property name="javac.upgrademodulepath" value=""/>
110        <property name="run.upgrademodulepath" value="${javac.upgrademodulepath}"/>
111        <condition else="" property="javac.systemmodulepath.cmd.line.arg" value="--system '${javac.systemmodulepath}'">
112            <and>
113                <isset property="javac.systemmodulepath"/>
114                <length length="0" string="${javac.systemmodulepath}" when="greater"/>
115            </and>
116        </condition>
117        <property name="dist.jlink.dir" value="${dist.dir}/jlink"/>
118        <property name="dist.jlink.output" value="${dist.jlink.dir}/${application.title}"/>
119        <property name="module.name" value=""/>
120    </target>
121    <target depends="-pre-init,-init-private,-init-user,-init-project,-init-macrodef-property,-init-modules-supported" name="-do-init">
122        <property name="platform.java" value="${java.home}/bin/java"/>
123        <available file="${manifest.file}" property="manifest.available"/>
124        <condition property="splashscreen.available">
125            <and>
126                <not>
127                    <equals arg1="${application.splash}" arg2="" trim="true"/>
128                </not>
129                <available file="${application.splash}"/>
130            </and>
131        </condition>
132        <condition property="main.class.available">
133            <and>
134                <isset property="main.class"/>
135                <not>
136                    <equals arg1="${main.class}" arg2="" trim="true"/>
137                </not>
138            </and>
139        </condition>
140        <condition property="profile.available">
141            <and>
142                <isset property="javac.profile"/>
143                <length length="0" string="${javac.profile}" when="greater"/>
144                <not>
145                    <matches pattern="1\.[0-7](\..*)?" string="${javac.source}"/>
146                </not>
147            </and>
148        </condition>
149        <condition property="do.archive">
150            <or>
151                <not>
152                    <istrue value="${jar.archive.disabled}"/>
153                </not>
154                <istrue value="${not.archive.disabled}"/>
155            </or>
156        </condition>
157        <condition property="do.archive+manifest.available">
158            <and>
159                <isset property="manifest.available"/>
160                <istrue value="${do.archive}"/>
161            </and>
162        </condition>
163        <condition property="do.archive+main.class.available">
164            <and>
165                <isset property="main.class.available"/>
166                <istrue value="${do.archive}"/>
167            </and>
168        </condition>
169        <condition property="do.archive+splashscreen.available">
170            <and>
171                <isset property="splashscreen.available"/>
172                <istrue value="${do.archive}"/>
173            </and>
174        </condition>
175        <condition property="do.archive+profile.available">
176            <and>
177                <isset property="profile.available"/>
178                <istrue value="${do.archive}"/>
179            </and>
180        </condition>
181        <condition property="have.tests">
182            <or>
183                <available file="${test.src.dir}"/>
184            </or>
185        </condition>
186        <condition property="have.sources">
187            <or>
188                <available file="${src.dir}"/>
189            </or>
190        </condition>
191        <condition property="netbeans.home+have.tests">
192            <and>
193                <isset property="netbeans.home"/>
194                <isset property="have.tests"/>
195            </and>
196        </condition>
197        <condition property="no.javadoc.preview">
198            <and>
199                <isset property="javadoc.preview"/>
200                <isfalse value="${javadoc.preview}"/>
201            </and>
202        </condition>
203        <property name="run.jvmargs" value=""/>
204        <property name="run.jvmargs.ide" value=""/>
205        <property name="javac.compilerargs" value=""/>
206        <property name="work.dir" value="${basedir}"/>
207        <condition property="no.deps">
208            <and>
209                <istrue value="${no.dependencies}"/>
210            </and>
211        </condition>
212        <property name="javac.debug" value="true"/>
213        <property name="javadoc.preview" value="true"/>
214        <property name="application.args" value=""/>
215        <property name="source.encoding" value="${file.encoding}"/>
216        <property name="runtime.encoding" value="${source.encoding}"/>
217        <property name="manifest.encoding" value="${source.encoding}"/>
218        <condition property="javadoc.encoding.used" value="${javadoc.encoding}">
219            <and>
220                <isset property="javadoc.encoding"/>
221                <not>
222                    <equals arg1="${javadoc.encoding}" arg2=""/>
223                </not>
224            </and>
225        </condition>
226        <property name="javadoc.encoding.used" value="${source.encoding}"/>
227        <property name="includes" value="**"/>
228        <property name="excludes" value=""/>
229        <property name="do.depend" value="false"/>
230        <condition property="do.depend.true">
231            <istrue value="${do.depend}"/>
232        </condition>
233        <path id="endorsed.classpath.path" path="${endorsed.classpath}"/>
234        <condition else="" property="endorsed.classpath.cmd.line.arg" value="-Xbootclasspath/p:'${toString:endorsed.classpath.path}'">
235            <and>
236                <isset property="endorsed.classpath"/>
237                <not>
238                    <equals arg1="${endorsed.classpath}" arg2="" trim="true"/>
239                </not>
240            </and>
241        </condition>
242        <condition else="" property="javac.profile.cmd.line.arg" value="-profile ${javac.profile}">
243            <isset property="profile.available"/>
244        </condition>
245        <condition else="false" property="jdkBug6558476">
246            <and>
247                <matches pattern="1\.[56]" string="${java.specification.version}"/>
248                <not>
249                    <os family="unix"/>
250                </not>
251            </and>
252        </condition>
253        <condition else="false" property="javac.fork">
254            <or>
255                <istrue value="${jdkBug6558476}"/>
256                <istrue value="${javac.external.vm}"/>
257            </or>
258        </condition>
259        <property name="jar.index" value="false"/>
260        <property name="jar.index.metainf" value="${jar.index}"/>
261        <property name="copylibs.rebase" value="true"/>
262        <available file="${meta.inf.dir}/persistence.xml" property="has.persistence.xml"/>
263        <condition property="junit.available">
264            <or>
265                <available classname="org.junit.Test" classpath="${run.test.classpath}"/>
266                <available classname="junit.framework.Test" classpath="${run.test.classpath}"/>
267            </or>
268        </condition>
269        <condition property="testng.available">
270            <available classname="org.testng.annotations.Test" classpath="${run.test.classpath}"/>
271        </condition>
272        <condition property="junit+testng.available">
273            <and>
274                <istrue value="${junit.available}"/>
275                <istrue value="${testng.available}"/>
276            </and>
277        </condition>
278        <condition else="testng" property="testng.mode" value="mixed">
279            <istrue value="${junit+testng.available}"/>
280        </condition>
281        <condition else="" property="testng.debug.mode" value="-mixed">
282            <istrue value="${junit+testng.available}"/>
283        </condition>
284        <property name="java.failonerror" value="true"/>
285    </target>
286    <target name="-post-init">
287        <!-- Empty placeholder for easier customization. -->
288        <!-- You can override this target in the ../build.xml file. -->
289    </target>
290    <target depends="-pre-init,-init-private,-init-user,-init-project,-do-init" name="-init-check">
291        <fail unless="src.dir">Must set src.dir</fail>
292        <fail unless="test.src.dir">Must set test.src.dir</fail>
293        <fail unless="build.dir">Must set build.dir</fail>
294        <fail unless="dist.dir">Must set dist.dir</fail>
295        <fail unless="build.classes.dir">Must set build.classes.dir</fail>
296        <fail unless="dist.javadoc.dir">Must set dist.javadoc.dir</fail>
297        <fail unless="build.test.classes.dir">Must set build.test.classes.dir</fail>
298        <fail unless="build.test.results.dir">Must set build.test.results.dir</fail>
299        <fail unless="build.classes.excludes">Must set build.classes.excludes</fail>
300        <fail unless="dist.jar">Must set dist.jar</fail>
301    </target>
302    <target name="-init-macrodef-property">
303        <macrodef name="property" uri="http://www.netbeans.org/ns/j2se-project/1">
304            <attribute name="name"/>
305            <attribute name="value"/>
306            <sequential>
307                <property name="@{name}" value="${@{value}}"/>
308            </sequential>
309        </macrodef>
310    </target>
311    <target depends="-init-ap-cmdline-properties,-init-source-module-properties" if="modules.supported.internal" name="-init-macrodef-javac-with-module">
312        <macrodef name="javac" uri="http://www.netbeans.org/ns/j2se-project/3">
313            <attribute default="${src.dir}" name="srcdir"/>
314            <attribute default="${build.classes.dir}" name="destdir"/>
315            <attribute default="${javac.classpath}" name="classpath"/>
316            <attribute default="${javac.modulepath}" name="modulepath"/>
317            <attribute default="${javac.upgrademodulepath}" name="upgrademodulepath"/>
318            <attribute default="${javac.processorpath}" name="processorpath"/>
319            <attribute default="${javac.processormodulepath}" name="processormodulepath"/>
320            <attribute default="${build.generated.sources.dir}/ap-source-output" name="apgeneratedsrcdir"/>
321            <attribute default="${includes}" name="includes"/>
322            <attribute default="${excludes}" name="excludes"/>
323            <attribute default="${javac.debug}" name="debug"/>
324            <attribute default="${empty.dir}" name="sourcepath" unless:set="named.module.internal"/>
325            <attribute default="${src.dir}" if:set="named.module.internal" name="sourcepath"/>
326            <attribute default="${empty.dir}" name="gensrcdir"/>
327            <element name="customize" optional="true"/>
328            <sequential>
329                <condition property="warn.excludes.internal">
330                    <and>
331                        <isset property="named.module.internal"/>
332                        <length length="0" string="@{excludes}" trim="true" when="greater"/>
333                    </and>
334                </condition>
335                <echo if:set="warn.excludes.internal" level="warning" message="The javac excludes are not supported in the JDK 9 Named Module."/>
336                <property location="${build.dir}/empty" name="empty.dir"/>
337                <mkdir dir="${empty.dir}"/>
338                <mkdir dir="@{apgeneratedsrcdir}"/>
339                <condition property="processormodulepath.set">
340                    <resourcecount count="0" when="greater">
341                        <path>
342                            <pathelement path="@{processormodulepath}"/>
343                        </path>
344                    </resourcecount>
345                </condition>
346                <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}">
347                    <src>
348                        <dirset dir="@{gensrcdir}" erroronmissingdir="false">
349                            <include name="*"/>
350                        </dirset>
351                    </src>
352                    <classpath>
353                        <path path="@{classpath}"/>
354                    </classpath>
355                    <modulepath>
356                        <path path="@{modulepath}"/>
357                    </modulepath>
358                    <upgrademodulepath>
359                        <path path="@{upgrademodulepath}"/>
360                    </upgrademodulepath>
361                    <compilerarg line="${javac.systemmodulepath.cmd.line.arg}"/>
362                    <compilerarg line="${javac.profile.cmd.line.arg}"/>
363                    <compilerarg line="${javac.compilerargs}"/>
364                    <compilerarg if:set="processormodulepath.set" value="--processor-module-path"/>
365                    <compilerarg if:set="processormodulepath.set" path="@{processormodulepath}"/>
366                    <compilerarg unless:set="processormodulepath.set" value="-processorpath"/>
367                    <compilerarg path="@{processorpath}:${empty.dir}" unless:set="processormodulepath.set"/>
368                    <compilerarg line="${ap.processors.internal}"/>
369                    <compilerarg line="${annotation.processing.processor.options}"/>
370                    <compilerarg value="-s"/>
371                    <compilerarg path="@{apgeneratedsrcdir}"/>
372                    <compilerarg line="${ap.proc.none.internal}"/>
373                    <customize/>
374                </javac>
375            </sequential>
376        </macrodef>
377    </target>
378    <target depends="-init-ap-cmdline-properties,-init-source-module-properties" if="ap.supported.internal" name="-init-macrodef-javac-with-processors" unless="modules.supported.internal">
379        <macrodef name="javac" uri="http://www.netbeans.org/ns/j2se-project/3">
380            <attribute default="${src.dir}" name="srcdir"/>
381            <attribute default="${build.classes.dir}" name="destdir"/>
382            <attribute default="${javac.classpath}" name="classpath"/>
383            <attribute default="${javac.modulepath}" name="modulepath"/>
384            <attribute default="${javac.upgrademodulepath}" name="upgrademodulepath"/>
385            <attribute default="${javac.processorpath}" name="processorpath"/>
386            <attribute default="${build.generated.sources.dir}/ap-source-output" name="apgeneratedsrcdir"/>
387            <attribute default="${includes}" name="includes"/>
388            <attribute default="${excludes}" name="excludes"/>
389            <attribute default="${javac.debug}" name="debug"/>
390            <attribute default="${empty.dir}" name="sourcepath"/>
391            <attribute default="${empty.dir}" name="gensrcdir"/>
392            <element name="customize" optional="true"/>
393            <sequential>
394                <property location="${build.dir}/empty" name="empty.dir"/>
395                <mkdir dir="${empty.dir}"/>
396                <mkdir dir="@{apgeneratedsrcdir}"/>
397                <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}">
398                    <src>
399                        <dirset dir="@{gensrcdir}" erroronmissingdir="false">
400                            <include name="*"/>
401                        </dirset>
402                    </src>
403                    <classpath>
404                        <path path="@{classpath}"/>
405                    </classpath>
406                    <compilerarg line="${endorsed.classpath.cmd.line.arg}"/>
407                    <compilerarg line="${javac.profile.cmd.line.arg}"/>
408                    <compilerarg line="${javac.compilerargs}"/>
409                    <compilerarg value="-processorpath"/>
410                    <compilerarg path="@{processorpath}:${empty.dir}"/>
411                    <compilerarg line="${ap.processors.internal}"/>
412                    <compilerarg line="${annotation.processing.processor.options}"/>
413                    <compilerarg value="-s"/>
414                    <compilerarg path="@{apgeneratedsrcdir}"/>
415                    <compilerarg line="${ap.proc.none.internal}"/>
416                    <customize/>
417                </javac>
418            </sequential>
419        </macrodef>
420    </target>
421    <target depends="-init-ap-cmdline-properties,-init-source-module-properties" name="-init-macrodef-javac-without-processors" unless="ap.supported.internal">
422        <macrodef name="javac" uri="http://www.netbeans.org/ns/j2se-project/3">
423            <attribute default="${src.dir}" name="srcdir"/>
424            <attribute default="${build.classes.dir}" name="destdir"/>
425            <attribute default="${javac.classpath}" name="classpath"/>
426            <attribute default="${javac.modulepath}" name="modulepath"/>
427            <attribute default="${javac.upgrademodulepath}" name="upgrademodulepath"/>
428            <attribute default="${javac.processorpath}" name="processorpath"/>
429            <attribute default="${build.generated.sources.dir}/ap-source-output" name="apgeneratedsrcdir"/>
430            <attribute default="${includes}" name="includes"/>
431            <attribute default="${excludes}" name="excludes"/>
432            <attribute default="${javac.debug}" name="debug"/>
433            <attribute default="${empty.dir}" name="sourcepath"/>
434            <attribute default="${empty.dir}" name="gensrcdir"/>
435            <element name="customize" optional="true"/>
436            <sequential>
437                <property location="${build.dir}/empty" name="empty.dir"/>
438                <mkdir dir="${empty.dir}"/>
439                <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}">
440                    <src>
441                        <dirset dir="@{gensrcdir}" erroronmissingdir="false">
442                            <include name="*"/>
443                        </dirset>
444                    </src>
445                    <classpath>
446                        <path path="@{classpath}"/>
447                    </classpath>
448                    <compilerarg line="${endorsed.classpath.cmd.line.arg}"/>
449                    <compilerarg line="${javac.profile.cmd.line.arg}"/>
450                    <compilerarg line="${javac.compilerargs}"/>
451                    <customize/>
452                </javac>
453            </sequential>
454        </macrodef>
455    </target>
456    <target depends="-init-macrodef-javac-with-module,-init-macrodef-javac-with-processors,-init-macrodef-javac-without-processors" name="-init-macrodef-javac">
457        <macrodef name="depend" uri="http://www.netbeans.org/ns/j2se-project/3">
458            <attribute default="${src.dir}" name="srcdir"/>
459            <attribute default="${build.classes.dir}" name="destdir"/>
460            <attribute default="${javac.classpath}" name="classpath"/>
461            <sequential>
462                <depend cache="${build.dir}/depcache" destdir="@{destdir}" excludes="${excludes}" includes="${includes}" srcdir="@{srcdir}">
463                    <classpath>
464                        <path path="@{classpath}"/>
465                    </classpath>
466                </depend>
467            </sequential>
468        </macrodef>
469        <macrodef name="force-recompile" uri="http://www.netbeans.org/ns/j2se-project/3">
470            <attribute default="${build.classes.dir}" name="destdir"/>
471            <sequential>
472                <fail unless="javac.includes">Must set javac.includes</fail>
473                <pathconvert pathsep="${line.separator}" property="javac.includes.binary">
474                    <path>
475                        <filelist dir="@{destdir}" files="${javac.includes}"/>
476                    </path>
477                    <globmapper from="*.java" to="*.class"/>
478                </pathconvert>
479                <tempfile deleteonexit="true" property="javac.includesfile.binary"/>
480                <echo file="${javac.includesfile.binary}" message="${javac.includes.binary}"/>
481                <delete>
482                    <files includesfile="${javac.includesfile.binary}"/>
483                </delete>
484                <delete>
485                    <fileset file="${javac.includesfile.binary}"/>
486                </delete>
487            </sequential>
488        </macrodef>
489    </target>
490    <target if="${junit.available}" name="-init-macrodef-junit-init">
491        <condition else="false" property="nb.junit.batch" value="true">
492            <and>
493                <istrue value="${junit.available}"/>
494                <not>
495                    <isset property="test.method"/>
496                </not>
497            </and>
498        </condition>
499        <condition else="false" property="nb.junit.single" value="true">
500            <and>
501                <istrue value="${junit.available}"/>
502                <isset property="test.method"/>
503            </and>
504        </condition>
505    </target>
506    <target name="-init-test-properties">
507        <property name="test.binaryincludes" value="&lt;nothing&gt;"/>
508        <property name="test.binarytestincludes" value=""/>
509        <property name="test.binaryexcludes" value=""/>
510    </target>
511    <target depends="-init-modules-supported" if="modules.supported.internal" name="-init-macrodef-junit-prototype-with-module">
512        <macrodef name="junit-prototype" uri="http://www.netbeans.org/ns/j2se-project/3">
513            <attribute default="${includes}" name="includes"/>
514            <attribute default="${excludes}" name="excludes"/>
515            <element name="customizePrototype" optional="true"/>
516            <sequential>
517                <property name="junit.forkmode" value="perTest"/>
518                <junit dir="${work.dir}" errorproperty="tests.failed" failureproperty="tests.failed" fork="true" forkmode="${junit.forkmode}" showoutput="true" tempdir="${build.dir}">
519                    <syspropertyset>
520                        <propertyref prefix="test-sys-prop."/>
521                        <mapper from="test-sys-prop.*" to="*" type="glob"/>
522                    </syspropertyset>
523                    <classpath>
524                        <path path="${run.test.classpath}"/>
525                    </classpath>
526                    <modulepath>
527                        <path path="${run.test.modulepath}"/>
528                    </modulepath>
529                    <formatter type="brief" usefile="false"/>
530                    <formatter type="xml"/>
531                    <jvmarg line="${endorsed.classpath.cmd.line.arg}"/>
532                    <jvmarg value="-ea"/>
533                    <jvmarg line="${run.test.jvmargs}"/>
534                    <customizePrototype/>
535                </junit>
536            </sequential>
537        </macrodef>
538    </target>
539    <target depends="-init-modules-supported" name="-init-macrodef-junit-prototype-without-module" unless="modules.supported.internal">
540        <macrodef name="junit-prototype" uri="http://www.netbeans.org/ns/j2se-project/3">
541            <attribute default="${includes}" name="includes"/>
542            <attribute default="${excludes}" name="excludes"/>
543            <element name="customizePrototype" optional="true"/>
544            <sequential>
545                <property name="junit.forkmode" value="perTest"/>
546                <junit dir="${work.dir}" errorproperty="tests.failed" failureproperty="tests.failed" fork="true" forkmode="${junit.forkmode}" showoutput="true" tempdir="${build.dir}">
547                    <syspropertyset>
548                        <propertyref prefix="test-sys-prop."/>
549                        <mapper from="test-sys-prop.*" to="*" type="glob"/>
550                    </syspropertyset>
551                    <classpath>
552                        <path path="${run.test.classpath}"/>
553                    </classpath>
554                    <formatter type="brief" usefile="false"/>
555                    <formatter type="xml"/>
556                    <jvmarg line="${endorsed.classpath.cmd.line.arg}"/>
557                    <jvmarg value="-ea"/>
558                    <customizePrototype/>
559                </junit>
560            </sequential>
561        </macrodef>
562    </target>
563    <target depends="-init-test-properties,-init-macrodef-junit-prototype-with-module,-init-macrodef-junit-prototype-without-module" if="${nb.junit.single}" name="-init-macrodef-junit-single" unless="${nb.junit.batch}">
564        <macrodef name="junit" uri="http://www.netbeans.org/ns/j2se-project/3">
565            <attribute default="${includes}" name="includes"/>
566            <attribute default="${excludes}" name="excludes"/>
567            <attribute default="**" name="testincludes"/>
568            <attribute default="" name="testmethods"/>
569            <element name="customize" optional="true"/>
570            <sequential>
571                <j2seproject3:junit-prototype>
572                    <customizePrototype>
573                        <test methods="@{testmethods}" name="@{testincludes}" todir="${build.test.results.dir}"/>
574                        <customize/>
575                    </customizePrototype>
576                </j2seproject3:junit-prototype>
577            </sequential>
578        </macrodef>
579    </target>
580    <target depends="-init-test-properties,-init-macrodef-junit-prototype-with-module,-init-macrodef-junit-prototype-without-module" if="${nb.junit.batch}" name="-init-macrodef-junit-batch" unless="${nb.junit.single}">
581        <macrodef name="junit" uri="http://www.netbeans.org/ns/j2se-project/3">
582            <attribute default="${includes}" name="includes"/>
583            <attribute default="${excludes}" name="excludes"/>
584            <attribute default="**" name="testincludes"/>
585            <attribute default="" name="testmethods"/>
586            <element name="customize" optional="true"/>
587            <sequential>
588                <j2seproject3:junit-prototype>
589                    <customizePrototype>
590                        <batchtest todir="${build.test.results.dir}">
591                            <fileset dir="${test.src.dir}" excludes="@{excludes},${excludes}" includes="@{includes}">
592                                <filename name="@{testincludes}"/>
593                            </fileset>
594                            <fileset dir="${build.test.classes.dir}" excludes="@{excludes},${excludes},${test.binaryexcludes}" includes="${test.binaryincludes}">
595                                <filename name="${test.binarytestincludes}"/>
596                            </fileset>
597                        </batchtest>
598                        <customize/>
599                    </customizePrototype>
600                </j2seproject3:junit-prototype>
601            </sequential>
602        </macrodef>
603    </target>
604    <target depends="-init-macrodef-junit-init,-init-macrodef-junit-single, -init-macrodef-junit-batch" if="${junit.available}" name="-init-macrodef-junit"/>
605    <target if="${testng.available}" name="-init-macrodef-testng">
606        <macrodef name="testng" 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 name="customize" optional="true"/>
612            <sequential>
613                <condition else="" property="testng.methods.arg" value="@{testincludes}.@{testmethods}">
614                    <isset property="test.method"/>
615                </condition>
616                <union id="test.set">
617                    <fileset dir="${test.src.dir}" excludes="@{excludes},**/*.xml,${excludes}" includes="@{includes}">
618                        <filename name="@{testincludes}"/>
619                    </fileset>
620                </union>
621                <taskdef classname="org.testng.TestNGAntTask" classpath="${run.test.classpath}" name="testng"/>
622                <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="abcl" testname="TestNG tests" workingDir="${work.dir}">
623                    <xmlfileset dir="${build.test.classes.dir}" includes="@{testincludes}"/>
624                    <propertyset>
625                        <propertyref prefix="test-sys-prop."/>
626                        <mapper from="test-sys-prop.*" to="*" type="glob"/>
627                    </propertyset>
628                    <classpath>
629                        <path path="${run.test.classpath}"/>
630                    </classpath>
631                    <jvmarg line="${endorsed.classpath.cmd.line.arg}"/>
632                    <customize/>
633                </testng>
634            </sequential>
635        </macrodef>
636    </target>
637    <target name="-init-macrodef-test-impl">
638        <macrodef name="test-impl" uri="http://www.netbeans.org/ns/j2se-project/3">
639            <attribute default="${includes}" name="includes"/>
640            <attribute default="${excludes}" name="excludes"/>
641            <attribute default="**" name="testincludes"/>
642            <attribute default="" name="testmethods"/>
643            <element implicit="true" name="customize" optional="true"/>
644            <sequential>
645                <echo>No tests executed.</echo>
646            </sequential>
647        </macrodef>
648    </target>
649    <target depends="-init-macrodef-junit" if="${junit.available}" name="-init-macrodef-junit-impl">
650        <macrodef name="test-impl" uri="http://www.netbeans.org/ns/j2se-project/3">
651            <attribute default="${includes}" name="includes"/>
652            <attribute default="${excludes}" name="excludes"/>
653            <attribute default="**" name="testincludes"/>
654            <attribute default="" name="testmethods"/>
655            <element implicit="true" name="customize" optional="true"/>
656            <sequential>
657                <j2seproject3:junit excludes="@{excludes}" includes="@{includes}" testincludes="@{testincludes}" testmethods="@{testmethods}">
658                    <customize/>
659                </j2seproject3:junit>
660            </sequential>
661        </macrodef>
662    </target>
663    <target depends="-init-macrodef-testng" if="${testng.available}" name="-init-macrodef-testng-impl">
664        <macrodef name="test-impl" uri="http://www.netbeans.org/ns/j2se-project/3">
665            <attribute default="${includes}" name="includes"/>
666            <attribute default="${excludes}" name="excludes"/>
667            <attribute default="**" name="testincludes"/>
668            <attribute default="" name="testmethods"/>
669            <element implicit="true" name="customize" optional="true"/>
670            <sequential>
671                <j2seproject3:testng excludes="@{excludes}" includes="@{includes}" testincludes="@{testincludes}" testmethods="@{testmethods}">
672                    <customize/>
673                </j2seproject3:testng>
674            </sequential>
675        </macrodef>
676    </target>
677    <target depends="-init-macrodef-test-impl,-init-macrodef-junit-impl,-init-macrodef-testng-impl" name="-init-macrodef-test">
678        <macrodef name="test" uri="http://www.netbeans.org/ns/j2se-project/3">
679            <attribute default="${includes}" name="includes"/>
680            <attribute default="${excludes}" name="excludes"/>
681            <attribute default="**" name="testincludes"/>
682            <attribute default="" name="testmethods"/>
683            <sequential>
684                <j2seproject3:test-impl excludes="@{excludes}" includes="@{includes}" testincludes="@{testincludes}" testmethods="@{testmethods}">
685                    <customize>
686                        <jvmarg line="${run.jvmargs}"/>
687                        <jvmarg line="${run.jvmargs.ide}"/>
688                    </customize>
689                </j2seproject3:test-impl>
690            </sequential>
691        </macrodef>
692    </target>
693    <target depends="-init-macrodef-junit" if="${junit.available}" name="-init-macrodef-junit-debug-impl">
694        <macrodef name="test-debug-impl" uri="http://www.netbeans.org/ns/j2se-project/3">
695            <attribute default="${includes}" name="includes"/>
696            <attribute default="${excludes}" name="excludes"/>
697            <attribute default="**" name="testincludes"/>
698            <attribute default="" name="testmethods"/>
699            <element name="customizeDebuggee" optional="true"/>
700            <sequential>
701                <j2seproject3:junit excludes="@{excludes}" includes="@{includes}" testincludes="@{testincludes}" testmethods="@{testmethods}">
702                    <customize>
703                        <jvmarg value="-agentlib:jdwp=transport=${debug-transport},address=${jpda.address}"/>
704                        <customizeDebuggee/>
705                    </customize>
706                </j2seproject3:junit>
707            </sequential>
708        </macrodef>
709    </target>
710    <target if="${testng.available}" name="-init-macrodef-testng-debug">
711        <macrodef name="testng-debug" uri="http://www.netbeans.org/ns/j2se-project/3">
712            <attribute default="${main.class}" name="testClass"/>
713            <attribute default="" name="testMethod"/>
714            <element name="customize2" optional="true"/>
715            <sequential>
716                <condition else="-testclass @{testClass}" property="test.class.or.method" value="-methods @{testClass}.@{testMethod}">
717                    <isset property="test.method"/>
718                </condition>
719                <condition else="-suitename abcl -testname @{testClass} ${test.class.or.method}" property="testng.cmd.args" value="@{testClass}">
720                    <matches pattern=".*\.xml" string="@{testClass}"/>
721                </condition>
722                <delete dir="${build.test.results.dir}" quiet="true"/>
723                <mkdir dir="${build.test.results.dir}"/>
724                <j2seproject3:debug classname="org.testng.TestNG" classpath="${debug.test.classpath}">
725                    <customizeDebuggee>
726                        <customize2/>
727                        <jvmarg value="-ea"/>
728                        <arg line="${testng.debug.mode}"/>
729                        <arg line="-d ${build.test.results.dir}"/>
730                        <arg line="-listener org.testng.reporters.VerboseReporter"/>
731                        <arg line="${testng.cmd.args}"/>
732                    </customizeDebuggee>
733                </j2seproject3:debug>
734            </sequential>
735        </macrodef>
736    </target>
737    <target depends="-init-macrodef-testng-debug" if="${testng.available}" name="-init-macrodef-testng-debug-impl">
738        <macrodef name="testng-debug-impl" uri="http://www.netbeans.org/ns/j2se-project/3">
739            <attribute default="${main.class}" name="testClass"/>
740            <attribute default="" name="testMethod"/>
741            <element implicit="true" name="customize2" optional="true"/>
742            <sequential>
743                <j2seproject3:testng-debug testClass="@{testClass}" testMethod="@{testMethod}">
744                    <customize2/>
745                </j2seproject3:testng-debug>
746            </sequential>
747        </macrodef>
748    </target>
749    <target depends="-init-macrodef-junit-debug-impl" if="${junit.available}" name="-init-macrodef-test-debug-junit">
750        <macrodef name="test-debug" uri="http://www.netbeans.org/ns/j2se-project/3">
751            <attribute default="${includes}" name="includes"/>
752            <attribute default="${excludes}" name="excludes"/>
753            <attribute default="**" name="testincludes"/>
754            <attribute default="" name="testmethods"/>
755            <attribute default="${main.class}" name="testClass"/>
756            <attribute default="" name="testMethod"/>
757            <sequential>
758                <j2seproject3:test-debug-impl excludes="@{excludes}" includes="@{includes}" testincludes="@{testincludes}" testmethods="@{testmethods}">
759                    <customizeDebuggee>
760                        <jvmarg line="${run.jvmargs}"/>
761                        <jvmarg line="${run.jvmargs.ide}"/>
762                    </customizeDebuggee>
763                </j2seproject3:test-debug-impl>
764            </sequential>
765        </macrodef>
766    </target>
767    <target depends="-init-macrodef-testng-debug-impl" if="${testng.available}" name="-init-macrodef-test-debug-testng">
768        <macrodef name="test-debug" uri="http://www.netbeans.org/ns/j2se-project/3">
769            <attribute default="${includes}" name="includes"/>
770            <attribute default="${excludes}" name="excludes"/>
771            <attribute default="**" name="testincludes"/>
772            <attribute default="" name="testmethods"/>
773            <attribute default="${main.class}" name="testClass"/>
774            <attribute default="" name="testMethod"/>
775            <sequential>
776                <j2seproject3:testng-debug-impl testClass="@{testClass}" testMethod="@{testMethod}">
777                    <customize2>
778                        <syspropertyset>
779                            <propertyref prefix="test-sys-prop."/>
780                            <mapper from="test-sys-prop.*" to="*" type="glob"/>
781                        </syspropertyset>
782                    </customize2>
783                </j2seproject3:testng-debug-impl>
784            </sequential>
785        </macrodef>
786    </target>
787    <target depends="-init-macrodef-test-debug-junit,-init-macrodef-test-debug-testng" name="-init-macrodef-test-debug"/>
788    <!--
789                pre NB7.2 profiling section; consider it deprecated
790            -->
791    <target depends="-profile-pre-init, init, -profile-post-init, -profile-init-macrodef-profile, -profile-init-check" if="profiler.info.jvmargs.agent" name="profile-init"/>
792    <target if="profiler.info.jvmargs.agent" name="-profile-pre-init">
793        <!-- Empty placeholder for easier customization. -->
794        <!-- You can override this target in the ../build.xml file. -->
795    </target>
796    <target if="profiler.info.jvmargs.agent" name="-profile-post-init">
797        <!-- Empty placeholder for easier customization. -->
798        <!-- You can override this target in the ../build.xml file. -->
799    </target>
800    <target if="profiler.info.jvmargs.agent" name="-profile-init-macrodef-profile">
801        <macrodef name="resolve">
802            <attribute name="name"/>
803            <attribute name="value"/>
804            <sequential>
805                <property name="@{name}" value="${env.@{value}}"/>
806            </sequential>
807        </macrodef>
808        <macrodef name="profile">
809            <attribute default="${main.class}" name="classname"/>
810            <element name="customize" optional="true"/>
811            <sequential>
812                <property environment="env"/>
813                <resolve name="profiler.current.path" value="${profiler.info.pathvar}"/>
814                <java classname="@{classname}" dir="${profiler.info.dir}" failonerror="${java.failonerror}" fork="true" jvm="${profiler.info.jvm}">
815                    <jvmarg line="${endorsed.classpath.cmd.line.arg}"/>
816                    <jvmarg value="${profiler.info.jvmargs.agent}"/>
817                    <jvmarg line="${profiler.info.jvmargs}"/>
818                    <env key="${profiler.info.pathvar}" path="${profiler.info.agentpath}:${profiler.current.path}"/>
819                    <arg line="${application.args}"/>
820                    <classpath>
821                        <path path="${run.classpath}"/>
822                    </classpath>
823                    <syspropertyset>
824                        <propertyref prefix="run-sys-prop."/>
825                        <mapper from="run-sys-prop.*" to="*" type="glob"/>
826                    </syspropertyset>
827                    <customize/>
828                </java>
829            </sequential>
830        </macrodef>
831    </target>
832    <target depends="-profile-pre-init, init, -profile-post-init, -profile-init-macrodef-profile" if="profiler.info.jvmargs.agent" name="-profile-init-check">
833        <fail unless="profiler.info.jvm">Must set JVM to use for profiling in profiler.info.jvm</fail>
834        <fail unless="profiler.info.jvmargs.agent">Must set profiler agent JVM arguments in profiler.info.jvmargs.agent</fail>
835    </target>
836    <!--
837                end of pre NB7.2 profiling section
838            -->
839    <target depends="-init-debug-args" name="-init-macrodef-nbjpda">
840        <macrodef name="nbjpdastart" uri="http://www.netbeans.org/ns/j2se-project/1">
841            <attribute default="${main.class}" name="name"/>
842            <attribute default="${debug.modulepath}" name="modulepath"/>
843            <attribute default="${debug.classpath}" name="classpath"/>
844            <attribute default="" name="stopclassname"/>
845            <sequential>
846                <nbjpdastart addressproperty="jpda.address" name="@{name}" stopclassname="@{stopclassname}" transport="${debug-transport}">
847                    <modulepath>
848                        <path path="@{modulepath}"/>
849                    </modulepath>
850                    <classpath>
851                        <path path="@{classpath}"/>
852                    </classpath>
853                </nbjpdastart>
854            </sequential>
855        </macrodef>
856        <macrodef name="nbjpdareload" uri="http://www.netbeans.org/ns/j2se-project/1">
857            <attribute default="${build.classes.dir}" name="dir"/>
858            <sequential>
859                <nbjpdareload>
860                    <fileset dir="@{dir}" includes="${fix.classes}">
861                        <include name="${fix.includes}*.class"/>
862                    </fileset>
863                </nbjpdareload>
864            </sequential>
865        </macrodef>
866    </target>
867    <target name="-init-debug-args">
868        <condition else="dt_socket" property="debug-transport-by-os" value="dt_shmem">
869            <os family="windows"/>
870        </condition>
871        <condition else="${debug-transport-by-os}" property="debug-transport" value="${debug.transport}">
872            <isset property="debug.transport"/>
873        </condition>
874    </target>
875    <target depends="-init-debug-args" name="-init-macrodef-debug">
876        <macrodef name="debug" uri="http://www.netbeans.org/ns/j2se-project/3">
877            <attribute default="${module.name}" name="modulename"/>
878            <attribute default="${main.class}" name="classname"/>
879            <attribute default="${debug.modulepath}" name="modulepath"/>
880            <attribute default="${debug.classpath}" name="classpath"/>
881            <element name="customizeDebuggee" optional="true"/>
882            <sequential>
883                <j2seproject1:java classname="@{classname}" classpath="@{classpath}" modulename="@{modulename}" modulepath="@{modulepath}">
884                    <customize>
885                        <jvmarg value="-agentlib:jdwp=transport=${debug-transport},address=${jpda.address}"/>
886                        <customizeDebuggee/>
887                    </customize>
888                </j2seproject1:java>
889            </sequential>
890        </macrodef>
891    </target>
892    <target depends="-init-source-module-properties" if="named.module.internal" name="-init-macrodef-java-with-module">
893        <macrodef name="java" uri="http://www.netbeans.org/ns/j2se-project/1">
894            <attribute default="${module.name}" name="modulename"/>
895            <attribute default="${main.class}" name="classname"/>
896            <attribute default="${run.modulepath}" name="modulepath"/>
897            <attribute default="${run.upgrademodulepath}" name="upgrademodulepath"/>
898            <attribute default="${run.classpath}" name="classpath"/>
899            <attribute default="jvm" name="jvm"/>
900            <element name="customize" optional="true"/>
901            <sequential>
902                <java classname="@{classname}" dir="${work.dir}" failonerror="${java.failonerror}" fork="true" module="@{modulename}">
903                    <classpath>
904                        <path path="@{classpath}"/>
905                    </classpath>
906                    <modulepath>
907                        <pathelement path="@{modulepath}"/>
908                        <pathelement location="${module.build.classes.dir}"/>
909                    </modulepath>
910                    <upgrademodulepath>
911                        <path path="@{upgrademodulepath}"/>
912                    </upgrademodulepath>
913                    <jvmarg value="-Dfile.encoding=${runtime.encoding}"/>
914                    <redirector errorencoding="${runtime.encoding}" inputencoding="${runtime.encoding}" outputencoding="${runtime.encoding}"/>
915                    <jvmarg line="${run.jvmargs}"/>
916                    <jvmarg line="${run.jvmargs.ide}"/>
917                    <syspropertyset>
918                        <propertyref prefix="run-sys-prop."/>
919                        <mapper from="run-sys-prop.*" to="*" type="glob"/>
920                    </syspropertyset>
921                    <customize/>
922                </java>
923            </sequential>
924        </macrodef>
925    </target>
926    <target depends="-init-source-module-properties" if="unnamed.module.internal" name="-init-macrodef-java-with-unnamed-module">
927        <macrodef name="java" uri="http://www.netbeans.org/ns/j2se-project/1">
928            <attribute default="" name="modulename"/>
929            <attribute default="${main.class}" name="classname"/>
930            <attribute default="${run.modulepath}" name="modulepath"/>
931            <attribute default="${run.upgrademodulepath}" name="upgrademodulepath"/>
932            <attribute default="${run.classpath}" name="classpath"/>
933            <attribute default="jvm" name="jvm"/>
934            <element name="customize" optional="true"/>
935            <sequential>
936                <java classname="@{classname}" dir="${work.dir}" failonerror="${java.failonerror}" fork="true">
937                    <classpath>
938                        <path path="@{classpath}"/>
939                    </classpath>
940                    <modulepath>
941                        <path path="@{modulepath}"/>
942                    </modulepath>
943                    <upgrademodulepath>
944                        <path path="@{upgrademodulepath}"/>
945                    </upgrademodulepath>
946                    <jvmarg value="-Dfile.encoding=${runtime.encoding}"/>
947                    <redirector errorencoding="${runtime.encoding}" inputencoding="${runtime.encoding}" outputencoding="${runtime.encoding}"/>
948                    <jvmarg line="${run.jvmargs}"/>
949                    <jvmarg line="${run.jvmargs.ide}"/>
950                    <syspropertyset>
951                        <propertyref prefix="run-sys-prop."/>
952                        <mapper from="run-sys-prop.*" to="*" type="glob"/>
953                    </syspropertyset>
954                    <customize/>
955                </java>
956            </sequential>
957        </macrodef>
958    </target>
959    <target depends="-init-source-module-properties" name="-init-macrodef-java-without-module" unless="modules.supported.internal">
960        <macrodef name="java" uri="http://www.netbeans.org/ns/j2se-project/1">
961            <attribute default="" name="modulename"/>
962            <attribute default="${main.class}" name="classname"/>
963            <attribute default="" name="modulepath"/>
964            <attribute default="${run.classpath}" name="classpath"/>
965            <attribute default="jvm" name="jvm"/>
966            <element name="customize" optional="true"/>
967            <sequential>
968                <java classname="@{classname}" dir="${work.dir}" failonerror="${java.failonerror}" fork="true">
969                    <jvmarg line="${endorsed.classpath.cmd.line.arg}"/>
970                    <jvmarg value="-Dfile.encoding=${runtime.encoding}"/>
971                    <redirector errorencoding="${runtime.encoding}" inputencoding="${runtime.encoding}" outputencoding="${runtime.encoding}"/>
972                    <jvmarg line="${run.jvmargs}"/>
973                    <jvmarg line="${run.jvmargs.ide}"/>
974                    <classpath>
975                        <path path="@{classpath}"/>
976                    </classpath>
977                    <syspropertyset>
978                        <propertyref prefix="run-sys-prop."/>
979                        <mapper from="run-sys-prop.*" to="*" type="glob"/>
980                    </syspropertyset>
981                    <customize/>
982                </java>
983            </sequential>
984        </macrodef>
985    </target>
986    <target depends="-init-macrodef-java-with-module, -init-macrodef-java-with-unnamed-module, -init-macrodef-java-without-module" name="-init-macrodef-java"/>
987    <target name="-init-macrodef-copylibs">
988        <macrodef name="copylibs" uri="http://www.netbeans.org/ns/j2se-project/3">
989            <attribute default="${manifest.file}" name="manifest"/>
990            <element name="customize" optional="true"/>
991            <sequential>
992                <property location="${build.classes.dir}" name="build.classes.dir.resolved"/>
993                <pathconvert property="run.classpath.without.build.classes.dir">
994                    <path path="${run.classpath}"/>
995                    <map from="${build.classes.dir.resolved}" to=""/>
996                </pathconvert>
997                <pathconvert pathsep=" " property="jar.classpath">
998                    <path path="${run.classpath.without.build.classes.dir}"/>
999                    <chainedmapper>
1000                        <flattenmapper/>
1001                        <filtermapper>
1002                            <replacestring from=" " to="%20"/>
1003                        </filtermapper>
1004                        <globmapper from="*" to="lib/*"/>
1005                    </chainedmapper>
1006                </pathconvert>
1007                <taskdef classname="org.netbeans.modules.java.j2seproject.copylibstask.CopyLibs" classpath="${libs.CopyLibs.classpath}" name="copylibs"/>
1008                <copylibs compress="${jar.compress}" excludeFromCopy="${copylibs.excludes}" index="${jar.index}" indexMetaInf="${jar.index.metainf}" jarfile="${dist.jar}" manifest="@{manifest}" manifestencoding="UTF-8" rebase="${copylibs.rebase}" runtimeclasspath="${run.classpath.without.build.classes.dir}">
1009                    <fileset dir="${build.classes.dir}" excludes="${dist.archive.excludes}"/>
1010                    <manifest>
1011                        <attribute name="Class-Path" value="${jar.classpath}"/>
1012                        <customize/>
1013                    </manifest>
1014                </copylibs>
1015            </sequential>
1016        </macrodef>
1017    </target>
1018    <target name="-init-presetdef-jar">
1019        <presetdef name="jar" uri="http://www.netbeans.org/ns/j2se-project/1">
1020            <jar compress="${jar.compress}" index="${jar.index}" jarfile="${dist.jar}" manifestencoding="UTF-8">
1021                <j2seproject1:fileset dir="${build.classes.dir}" excludes="${dist.archive.excludes}"/>
1022            </jar>
1023        </presetdef>
1024    </target>
1025    <target name="-init-ap-cmdline-properties">
1026        <property name="annotation.processing.enabled" value="true"/>
1027        <property name="annotation.processing.processors.list" value=""/>
1028        <property name="annotation.processing.processor.options" value=""/>
1029        <property name="annotation.processing.run.all.processors" value="true"/>
1030        <property name="javac.processorpath" value="${javac.classpath}"/>
1031        <property name="javac.test.processorpath" value="${javac.test.classpath}"/>
1032        <condition property="ap.supported.internal" value="true">
1033            <not>
1034                <matches pattern="1\.[0-5](\..*)?" string="${javac.source}"/>
1035            </not>
1036        </condition>
1037    </target>
1038    <target depends="-init-ap-cmdline-properties" if="ap.supported.internal" name="-init-ap-cmdline-supported">
1039        <condition else="" property="ap.processors.internal" value="-processor ${annotation.processing.processors.list}">
1040            <isfalse value="${annotation.processing.run.all.processors}"/>
1041        </condition>
1042        <condition else="" property="ap.proc.none.internal" value="-proc:none">
1043            <isfalse value="${annotation.processing.enabled}"/>
1044        </condition>
1045    </target>
1046    <target depends="-init-ap-cmdline-properties,-init-ap-cmdline-supported" name="-init-ap-cmdline">
1047        <property name="ap.cmd.line.internal" value=""/>
1048    </target>
1049    <target depends="-pre-init,-init-private,-init-user,-init-project,-do-init,-post-init,-init-check,-init-macrodef-property,-init-macrodef-javac,-init-macrodef-test,-init-macrodef-test-debug,-init-macrodef-nbjpda,-init-macrodef-debug,-init-macrodef-java,-init-presetdef-jar,-init-ap-cmdline" name="init"/>
1050    <!--
1051                ===================
1052                COMPILATION SECTION
1053                ===================
1054            -->
1055    <target name="-deps-jar-init" unless="built-jar.properties">
1056        <property location="${build.dir}/built-jar.properties" name="built-jar.properties"/>
1057        <delete file="${built-jar.properties}" quiet="true"/>
1058    </target>
1059    <target if="already.built.jar.${basedir}" name="-warn-already-built-jar">
1060        <echo level="warn" message="Cycle detected: abcl was already built"/>
1061    </target>
1062    <target depends="init,-deps-jar-init" name="deps-jar" unless="no.deps">
1063        <mkdir dir="${build.dir}"/>
1064        <touch file="${built-jar.properties}" verbose="false"/>
1065        <property file="${built-jar.properties}" prefix="already.built.jar."/>
1066        <antcall target="-warn-already-built-jar"/>
1067        <propertyfile file="${built-jar.properties}">
1068            <entry key="${basedir}" value=""/>
1069        </propertyfile>
1070    </target>
1071    <target depends="init,-check-automatic-build,-clean-after-automatic-build" name="-verify-automatic-build"/>
1072    <target depends="init" name="-check-automatic-build">
1073        <available file="${build.classes.dir}/.netbeans_automatic_build" property="netbeans.automatic.build"/>
1074    </target>
1075    <target depends="init" if="netbeans.automatic.build" name="-clean-after-automatic-build">
1076        <antcall target="clean">
1077            <param name="no.dependencies" value="true"/>
1078        </antcall>
1079    </target>
1080    <target depends="init,deps-jar" name="-pre-pre-compile">
1081        <mkdir dir="${build.classes.dir}"/>
1082    </target>
1083    <target name="-pre-compile">
1084        <!-- Empty placeholder for easier customization. -->
1085        <!-- You can override this target in the ../build.xml file. -->
1086    </target>
1087    <target if="do.depend.true" name="-compile-depend">
1088        <pathconvert property="build.generated.subdirs">
1089            <dirset dir="${build.generated.sources.dir}" erroronmissingdir="false">
1090                <include name="*"/>
1091            </dirset>
1092        </pathconvert>
1093        <j2seproject3:depend srcdir="${src.dir}:${build.generated.subdirs}"/>
1094    </target>
1095    <target depends="init,deps-jar,-pre-pre-compile,-pre-compile, -copy-persistence-xml,-compile-depend" if="have.sources" name="-do-compile">
1096        <j2seproject3:javac gensrcdir="${build.generated.sources.dir}"/>
1097        <copy todir="${build.classes.dir}">
1098            <fileset dir="${src.dir}" excludes="${build.classes.excludes},${excludes}" includes="${includes}"/>
1099        </copy>
1100    </target>
1101    <target if="has.persistence.xml" name="-copy-persistence-xml">
1102        <mkdir dir="${build.classes.dir}/META-INF"/>
1103        <copy todir="${build.classes.dir}/META-INF">
1104            <fileset dir="${meta.inf.dir}" includes="persistence.xml orm.xml"/>
1105        </copy>
1106    </target>
1107    <target name="-post-compile">
1108        <!-- Empty placeholder for easier customization. -->
1109        <!-- You can override this target in the ../build.xml file. -->
1110    </target>
1111    <target depends="init,deps-jar,-verify-automatic-build,-pre-pre-compile,-pre-compile,-do-compile,-post-compile" description="Compile project." name="compile"/>
1112    <target name="-pre-compile-single">
1113        <!-- Empty placeholder for easier customization. -->
1114        <!-- You can override this target in the ../build.xml file. -->
1115    </target>
1116    <target depends="init,deps-jar,-pre-pre-compile" name="-do-compile-single">
1117        <fail unless="javac.includes">Must select some files in the IDE or set javac.includes</fail>
1118        <j2seproject3:force-recompile/>
1119        <j2seproject3:javac excludes="" gensrcdir="${build.generated.sources.dir}" includes="${javac.includes}, module-info.java" sourcepath="${src.dir}"/>
1120    </target>
1121    <target name="-post-compile-single">
1122        <!-- Empty placeholder for easier customization. -->
1123        <!-- You can override this target in the ../build.xml file. -->
1124    </target>
1125    <target depends="init,deps-jar,-verify-automatic-build,-pre-pre-compile,-pre-compile-single,-do-compile-single,-post-compile-single" name="compile-single"/>
1126    <!--
1127                ====================
1128                JAR BUILDING SECTION
1129                ====================
1130            -->
1131    <target depends="init" name="-pre-pre-jar">
1132        <dirname file="${dist.jar}" property="dist.jar.dir"/>
1133        <mkdir dir="${dist.jar.dir}"/>
1134    </target>
1135    <target name="-pre-jar">
1136        <!-- Empty placeholder for easier customization. -->
1137        <!-- You can override this target in the ../build.xml file. -->
1138    </target>
1139    <target depends="init,compile" name="-check-module-main-class">
1140        <pathconvert property="main.class.file">
1141            <string value="${main.class}"/>
1142            <unpackagemapper from="*" to="*.class"/>
1143        </pathconvert>
1144        <condition property="do.module.main.class">
1145            <and>
1146                <isset property="main.class.available"/>
1147                <available file="${build.classes.dir}/module-info.class"/>
1148                <available file="${build.classes.dir}/${main.class.file}"/>
1149                <isset property="libs.CopyLibs.classpath"/>
1150                <available classname="org.netbeans.modules.java.j2seproject.moduletask.ModuleMainClass" classpath="${libs.CopyLibs.classpath}"/>
1151            </and>
1152        </condition>
1153    </target>
1154    <target depends="-check-module-main-class" if="do.module.main.class" name="-set-module-main-class">
1155        <taskdef classname="org.netbeans.modules.java.j2seproject.moduletask.ModuleMainClass" classpath="${libs.CopyLibs.classpath}" name="modulemainclass"/>
1156        <modulemainclass failonerror="false" mainclass="${main.class}" moduleinfo="${build.classes.dir}/module-info.class"/>
1157    </target>
1158    <target depends="init" if="do.archive" name="-do-jar-create-manifest" unless="manifest.available">
1159        <tempfile deleteonexit="true" destdir="${build.dir}" property="tmp.manifest.file"/>
1160        <touch file="${tmp.manifest.file}" verbose="false"/>
1161    </target>
1162    <target depends="init" if="do.archive+manifest.available" name="-do-jar-copy-manifest">
1163        <tempfile deleteonexit="true" destdir="${build.dir}" property="tmp.manifest.file"/>
1164        <copy encoding="${manifest.encoding}" file="${manifest.file}" outputencoding="UTF-8" tofile="${tmp.manifest.file}"/>
1165    </target>
1166    <target depends="init,-do-jar-create-manifest,-do-jar-copy-manifest" if="do.archive+main.class.available" name="-do-jar-set-mainclass">
1167        <manifest encoding="UTF-8" file="${tmp.manifest.file}" mode="update">
1168            <attribute name="Main-Class" value="${main.class}"/>
1169        </manifest>
1170    </target>
1171    <target depends="init,-do-jar-create-manifest,-do-jar-copy-manifest" if="do.archive+profile.available" name="-do-jar-set-profile">
1172        <manifest encoding="UTF-8" file="${tmp.manifest.file}" mode="update">
1173            <attribute name="Profile" value="${javac.profile}"/>
1174        </manifest>
1175    </target>
1176    <target depends="init,-do-jar-create-manifest,-do-jar-copy-manifest" if="do.archive+splashscreen.available" name="-do-jar-set-splashscreen">
1177        <basename file="${application.splash}" property="splashscreen.basename"/>
1178        <mkdir dir="${build.classes.dir}/META-INF"/>
1179        <copy failonerror="false" file="${application.splash}" todir="${build.classes.dir}/META-INF"/>
1180        <manifest encoding="UTF-8" file="${tmp.manifest.file}" mode="update">
1181            <attribute name="SplashScreen-Image" value="META-INF/${splashscreen.basename}"/>
1182        </manifest>
1183    </target>
1184    <target depends="init,compile" name="-check-do-mkdist">
1185        <condition property="do.mkdist">
1186            <and>
1187                <isset property="do.archive"/>
1188                <isset property="libs.CopyLibs.classpath"/>
1189                <not>
1190                    <istrue value="${mkdist.disabled}"/>
1191                </not>
1192                <not>
1193                    <available file="${build.classes.dir}/module-info.class"/>
1194                </not>
1195            </and>
1196        </condition>
1197    </target>
1198    <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,-check-do-mkdist" if="do.mkdist" name="-do-jar-copylibs">
1199        <j2seproject3:copylibs manifest="${tmp.manifest.file}"/>
1200        <echo level="info">To run this application from the command line without Ant, try:</echo>
1201        <property location="${dist.jar}" name="dist.jar.resolved"/>
1202        <echo level="info">java -jar "${dist.jar.resolved}"</echo>
1203    </target>
1204    <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,-check-do-mkdist" if="do.archive" name="-do-jar-jar" unless="do.mkdist">
1205        <j2seproject1:jar manifest="${tmp.manifest.file}"/>
1206        <property location="${build.classes.dir}" name="build.classes.dir.resolved"/>
1207        <property location="${dist.jar}" name="dist.jar.resolved"/>
1208        <condition else="${dist.jar.resolved}" property="jar.usage.message.class.path.replacement" value="">
1209            <isset property="named.module.internal"/>
1210        </condition>
1211        <pathconvert property="run.classpath.with.dist.jar">
1212            <path path="${run.classpath}"/>
1213            <map from="${build.classes.dir.resolved}" to="${jar.usage.message.class.path.replacement}"/>
1214        </pathconvert>
1215        <pathconvert property="run.modulepath.with.dist.jar">
1216            <path location="${dist.jar.resolved}"/>
1217            <path path="${run.modulepath}"/>
1218            <map from="${build.classes.dir.resolved}" to="${dist.jar.resolved}"/>
1219        </pathconvert>
1220        <condition else="${run.modulepath}" property="jar.usage.message.run.modulepath.with.dist.jar" value="${run.modulepath.with.dist.jar}">
1221            <isset property="named.module.internal"/>
1222        </condition>
1223        <condition else="" property="jar.usage.message.module.path" value=" -p ${jar.usage.message.run.modulepath.with.dist.jar}">
1224            <and>
1225                <isset property="modules.supported.internal"/>
1226                <length length="0" string="${jar.usage.message.run.modulepath.with.dist.jar}" when="greater"/>
1227            </and>
1228        </condition>
1229        <condition else="" property="jar.usage.message.class.path" value=" -cp ${run.classpath.with.dist.jar}">
1230            <length length="0" string="${run.classpath.with.dist.jar}" when="greater"/>
1231        </condition>
1232        <condition else="/${main.class}" property="jar.usage.message.main.class.class.selector" value="">
1233            <isset property="do.module.main.class"/>
1234        </condition>
1235        <condition else=" ${main.class}" property="jar.usage.message.main.class" value=" -m ${module.name}${jar.usage.message.main.class.class.selector}">
1236            <isset property="named.module.internal"/>
1237        </condition>
1238        <condition else="" property="jar.usage.message" value="To run this application from the command line without Ant, try:${line.separator}${platform.java}${jar.usage.message.module.path}${jar.usage.message.class.path}${jar.usage.message.main.class}">
1239            <isset property="main.class.available"/>
1240        </condition>
1241        <condition else="debug" property="jar.usage.level" value="info">
1242            <isset property="main.class.available"/>
1243        </condition>
1244        <echo level="${jar.usage.level}" message="${jar.usage.message}"/>
1245    </target>
1246    <target depends="-do-jar-copylibs" if="do.archive" name="-do-jar-delete-manifest">
1247        <delete>
1248            <fileset file="${tmp.manifest.file}"/>
1249        </delete>
1250    </target>
1251    <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"/>
1252    <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"/>
1253    <target name="-post-jar">
1254        <!-- Empty placeholder for easier customization. -->
1255        <!-- You can override this target in the ../build.xml file. -->
1256    </target>
1257    <target depends="init,compile,-pre-jar,-set-module-main-class,-do-jar-without-libraries,-do-jar-with-libraries,-post-jar" name="-do-jar"/>
1258    <target depends="init,compile,-pre-jar,-do-jar,-post-jar,deploy" description="Build JAR." name="jar"/>
1259    <!--
1260                =================
1261                DEPLOY SECTION
1262                =================
1263            -->
1264    <target name="-pre-deploy">
1265        <!-- Empty placeholder for easier customization. -->
1266        <!-- You can override this target in the ../build.xml file. -->
1267    </target>
1268    <target depends="init" name="-check-jlink">
1269        <condition property="do.jlink.internal">
1270            <and>
1271                <istrue value="${do.jlink}"/>
1272                <isset property="do.archive"/>
1273                <isset property="named.module.internal"/>
1274            </and>
1275        </condition>
1276    </target>
1277    <target depends="init,-do-jar,-post-jar,-pre-deploy,-check-jlink" if="do.jlink.internal" name="-do-deploy">
1278        <delete dir="${dist.jlink.dir}" failonerror="false" quiet="true"/>
1279        <property name="jlink.launcher.name" value="${application.title}"/>
1280        <condition else="${module.name}" property="jlink.add.modules" value="${module.name},${jlink.additionalmodules}">
1281            <and>
1282                <isset property="jlink.additionalmodules"/>
1283                <length length="0" string="${jlink.additionalmodules}" when="greater"/>
1284            </and>
1285        </condition>
1286        <condition property="jlink.do.strip.internal">
1287            <and>
1288                <isset property="jlink.strip"/>
1289                <istrue value="${jlink.strip}"/>
1290            </and>
1291        </condition>
1292        <condition property="jlink.do.additionalparam.internal">
1293            <and>
1294                <isset property="jlink.additionalparam"/>
1295                <length length="0" string="${jlink.additionalparam}" when="greater"/>
1296            </and>
1297        </condition>
1298        <condition property="jlink.do.launcher.internal">
1299            <and>
1300                <istrue value="${jlink.launcher}"/>
1301                <isset property="main.class.available"/>
1302            </and>
1303        </condition>
1304        <property name="platform.jlink" value="${jdk.home}/bin/jlink"/>
1305        <property name="jlink.systemmodules.internal" value="${jdk.home}/jmods"/>
1306        <exec executable="${platform.jlink}">
1307            <arg value="--module-path"/>
1308            <arg path="${jlink.systemmodules.internal}:${run.modulepath}:${dist.jar}"/>
1309            <arg value="--add-modules"/>
1310            <arg value="${jlink.add.modules}"/>
1311            <arg if:set="jlink.do.strip.internal" value="--strip-debug"/>
1312            <arg if:set="jlink.do.launcher.internal" value="--launcher"/>
1313            <arg if:set="jlink.do.launcher.internal" value="${jlink.launcher.name}=${module.name}/${main.class}"/>
1314            <arg if:set="jlink.do.additionalparam.internal" line="${jlink.additionalparam}"/>
1315            <arg value="--output"/>
1316            <arg value="${dist.jlink.output}"/>
1317        </exec>
1318    </target>
1319    <target name="-post-deploy">
1320        <!-- Empty placeholder for easier customization. -->
1321        <!-- You can override this target in the ../build.xml file. -->
1322    </target>
1323    <target depends="-do-jar,-post-jar,-pre-deploy,-do-deploy,-post-deploy" name="deploy"/>
1324    <!--
1325                =================
1326                EXECUTION SECTION
1327                =================
1328            -->
1329    <target depends="init,compile" description="Run a main class." name="run">
1330        <j2seproject1:java>
1331            <customize>
1332                <arg line="${application.args}"/>
1333            </customize>
1334        </j2seproject1:java>
1335    </target>
1336    <target name="-do-not-recompile">
1337        <property name="javac.includes.binary" value=""/>
1338    </target>
1339    <target depends="init,compile-single" name="run-single">
1340        <fail unless="run.class">Must select one file in the IDE or set run.class</fail>
1341        <j2seproject1:java classname="${run.class}"/>
1342    </target>
1343    <target depends="init,compile-test-single" name="run-test-with-main">
1344        <fail unless="run.class">Must select one file in the IDE or set run.class</fail>
1345        <j2seproject1:java classname="${run.class}" classpath="${run.test.classpath}"/>
1346    </target>
1347    <!--
1348                =================
1349                DEBUGGING SECTION
1350                =================
1351            -->
1352    <target depends="init" if="netbeans.home" name="-debug-start-debugger">
1353        <j2seproject1:nbjpdastart name="${debug.class}"/>
1354    </target>
1355    <target depends="init" if="netbeans.home" name="-debug-start-debugger-main-test">
1356        <j2seproject1:nbjpdastart classpath="${debug.test.classpath}" name="${debug.class}"/>
1357    </target>
1358    <target depends="init,compile" name="-debug-start-debuggee">
1359        <j2seproject3:debug>
1360            <customizeDebuggee>
1361                <arg line="${application.args}"/>
1362            </customizeDebuggee>
1363        </j2seproject3:debug>
1364    </target>
1365    <target depends="init,compile,-debug-start-debugger,-debug-start-debuggee" description="Debug project in IDE." if="netbeans.home" name="debug"/>
1366    <target depends="init" if="netbeans.home" name="-debug-start-debugger-stepinto">
1367        <j2seproject1:nbjpdastart stopclassname="${main.class}"/>
1368    </target>
1369    <target depends="init,compile,-debug-start-debugger-stepinto,-debug-start-debuggee" if="netbeans.home" name="debug-stepinto"/>
1370    <target depends="init,compile-single" if="netbeans.home" name="-debug-start-debuggee-single">
1371        <fail unless="debug.class">Must select one file in the IDE or set debug.class</fail>
1372        <j2seproject3:debug classname="${debug.class}"/>
1373    </target>
1374    <target depends="init,compile-single,-debug-start-debugger,-debug-start-debuggee-single" if="netbeans.home" name="debug-single"/>
1375    <target depends="init,compile-test-single" if="netbeans.home" name="-debug-start-debuggee-main-test">
1376        <fail unless="debug.class">Must select one file in the IDE or set debug.class</fail>
1377        <j2seproject3:debug classname="${debug.class}" classpath="${debug.test.classpath}"/>
1378    </target>
1379    <target depends="init,compile-test-single,-debug-start-debugger-main-test,-debug-start-debuggee-main-test" if="netbeans.home" name="debug-test-with-main"/>
1380    <target depends="init" name="-pre-debug-fix">
1381        <fail unless="fix.includes">Must set fix.includes</fail>
1382        <property name="javac.includes" value="${fix.includes}.java"/>
1383    </target>
1384    <target depends="init,-pre-debug-fix,compile-single" if="netbeans.home" name="-do-debug-fix">
1385        <j2seproject1:nbjpdareload/>
1386    </target>
1387    <target depends="init,-pre-debug-fix,-do-debug-fix" if="netbeans.home" name="debug-fix"/>
1388    <!--
1389                =================
1390                PROFILING SECTION
1391                =================
1392            -->
1393    <!--
1394                pre NB7.2 profiler integration
1395            -->
1396    <target depends="profile-init,compile" description="Profile a project in the IDE." if="profiler.info.jvmargs.agent" name="-profile-pre72">
1397        <fail unless="netbeans.home">This target only works when run from inside the NetBeans IDE.</fail>
1398        <nbprofiledirect>
1399            <classpath>
1400                <path path="${run.classpath}"/>
1401            </classpath>
1402        </nbprofiledirect>
1403        <profile/>
1404    </target>
1405    <target depends="profile-init,compile-single" description="Profile a selected class in the IDE." if="profiler.info.jvmargs.agent" name="-profile-single-pre72">
1406        <fail unless="profile.class">Must select one file in the IDE or set profile.class</fail>
1407        <fail unless="netbeans.home">This target only works when run from inside the NetBeans IDE.</fail>
1408        <nbprofiledirect>
1409            <classpath>
1410                <path path="${run.classpath}"/>
1411            </classpath>
1412        </nbprofiledirect>
1413        <profile classname="${profile.class}"/>
1414    </target>
1415    <target depends="profile-init,compile-single" if="profiler.info.jvmargs.agent" name="-profile-applet-pre72">
1416        <fail unless="netbeans.home">This target only works when run from inside the NetBeans IDE.</fail>
1417        <nbprofiledirect>
1418            <classpath>
1419                <path path="${run.classpath}"/>
1420            </classpath>
1421        </nbprofiledirect>
1422        <profile classname="sun.applet.AppletViewer">
1423            <customize>
1424                <arg value="${applet.url}"/>
1425            </customize>
1426        </profile>
1427    </target>
1428    <target depends="-init-macrodef-junit,profile-init,compile-test-single" if="profiler.info.jvmargs.agent" name="-profile-test-single-pre72">
1429        <fail unless="netbeans.home">This target only works when run from inside the NetBeans IDE.</fail>
1430        <nbprofiledirect>
1431            <classpath>
1432                <path path="${run.test.classpath}"/>
1433            </classpath>
1434        </nbprofiledirect>
1435        <j2seproject3:junit excludes="${excludes}" includes="${includes}" testincludes="${profile.class}" testmethods="">
1436            <customize>
1437                <jvmarg value="-agentlib:jdwp=transport=${debug-transport},address=${jpda.address}"/>
1438                <env key="${profiler.info.pathvar}" path="${profiler.info.agentpath}:${profiler.current.path}"/>
1439                <jvmarg value="${profiler.info.jvmargs.agent}"/>
1440                <jvmarg line="${profiler.info.jvmargs}"/>
1441                <classpath>
1442                    <path path="${run.test.classpath}"/>
1443                </classpath>
1444            </customize>
1445        </j2seproject3:junit>
1446    </target>
1447    <!--
1448                end of pre NB72 profiling section
1449            -->
1450    <target if="netbeans.home" name="-profile-check">
1451        <condition property="profiler.configured">
1452            <or>
1453                <contains casesensitive="true" string="${run.jvmargs.ide}" substring="-agentpath:"/>
1454                <contains casesensitive="true" string="${run.jvmargs.ide}" substring="-javaagent:"/>
1455            </or>
1456        </condition>
1457    </target>
1458    <target depends="-profile-check,-profile-pre72" description="Profile a project in the IDE." if="profiler.configured" name="profile" unless="profiler.info.jvmargs.agent">
1459        <startprofiler/>
1460        <antcall target="run"/>
1461    </target>
1462    <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">
1463        <fail unless="run.class">Must select one file in the IDE or set run.class</fail>
1464        <startprofiler/>
1465        <antcall target="run-single"/>
1466    </target>
1467    <target depends="-profile-test-single-pre72" description="Profile a selected test in the IDE." name="profile-test-single"/>
1468    <target depends="-profile-check" description="Profile a selected test in the IDE." if="profiler.configured" name="profile-test" unless="profiler.info.jvmargs">
1469        <fail unless="test.includes">Must select some files in the IDE or set test.includes</fail>
1470        <startprofiler/>
1471        <antcall target="test-single"/>
1472    </target>
1473    <target depends="-profile-check" description="Profile a selected class in the IDE." if="profiler.configured" name="profile-test-with-main">
1474        <fail unless="run.class">Must select one file in the IDE or set run.class</fail>
1475        <startprofiler/>
1476        <antcall target="run-test-with-main"/>
1477    </target>
1478    <target depends="-profile-check,-profile-applet-pre72" if="profiler.configured" name="profile-applet" unless="profiler.info.jvmargs.agent">
1479        <fail unless="applet.url">Must select one file in the IDE or set applet.url</fail>
1480        <startprofiler/>
1481        <antcall target="run-applet"/>
1482    </target>
1483    <!--
1484                ===============
1485                JAVADOC SECTION
1486                ===============
1487            -->
1488    <target depends="init" if="have.sources" name="-javadoc-build">
1489        <mkdir dir="${dist.javadoc.dir}"/>
1490        <condition else="" property="javadoc.endorsed.classpath.cmd.line.arg" value="-J${endorsed.classpath.cmd.line.arg}">
1491            <and>
1492                <isset property="endorsed.classpath.cmd.line.arg"/>
1493                <not>
1494                    <equals arg1="${endorsed.classpath.cmd.line.arg}" arg2=""/>
1495                </not>
1496            </and>
1497        </condition>
1498        <condition else="" property="bug5101868workaround" value="*.java">
1499            <matches pattern="1\.[56](\..*)?" string="${java.version}"/>
1500        </condition>
1501        <condition else="" property="javadoc.html5.cmd.line.arg" value="-html5">
1502            <and>
1503                <isset property="javadoc.html5"/>
1504                <available file="${jdk.home}${file.separator}lib${file.separator}jrt-fs.jar"/>
1505            </and>
1506        </condition>
1507        <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}">
1508            <classpath>
1509                <path path="${javac.classpath}"/>
1510            </classpath>
1511            <fileset dir="${src.dir}" excludes="${bug5101868workaround},${excludes}" includes="${includes}">
1512                <filename name="**/*.java"/>
1513            </fileset>
1514            <fileset dir="${build.generated.sources.dir}" erroronmissingdir="false">
1515                <include name="**/*.java"/>
1516                <exclude name="*.java"/>
1517            </fileset>
1518            <arg line="${javadoc.endorsed.classpath.cmd.line.arg}"/>
1519            <arg line="${javadoc.html5.cmd.line.arg}"/>
1520        </javadoc>
1521        <copy todir="${dist.javadoc.dir}">
1522            <fileset dir="${src.dir}" excludes="${excludes}" includes="${includes}">
1523                <filename name="**/doc-files/**"/>
1524            </fileset>
1525            <fileset dir="${build.generated.sources.dir}" erroronmissingdir="false">
1526                <include name="**/doc-files/**"/>
1527            </fileset>
1528        </copy>
1529    </target>
1530    <target depends="init,-javadoc-build" if="netbeans.home" name="-javadoc-browse" unless="no.javadoc.preview">
1531        <nbbrowse file="${dist.javadoc.dir}/index.html"/>
1532    </target>
1533    <target depends="init,-javadoc-build,-javadoc-browse" description="Build Javadoc." name="javadoc"/>
1534    <!--
1535                =========================
1536                TEST COMPILATION SECTION
1537                =========================
1538            -->
1539    <target depends="init,compile" if="have.tests" name="-pre-pre-compile-test">
1540        <mkdir dir="${build.test.classes.dir}"/>
1541    </target>
1542    <target name="-pre-compile-test">
1543        <!-- Empty placeholder for easier customization. -->
1544        <!-- You can override this target in the ../build.xml file. -->
1545    </target>
1546    <target depends="-init-source-module-properties" if="named.module.internal" name="-init-test-javac-module-properties-with-module">
1547        <j2seproject3:modulename property="test.module.name" sourcepath="${test.src.dir}"/>
1548        <condition else="${empty.dir}" property="javac.test.sourcepath" value="${test.src.dir}">
1549            <and>
1550                <isset property="test.module.name"/>
1551                <length length="0" string="${test.module.name}" when="greater"/>
1552            </and>
1553        </condition>
1554        <condition else="--patch-module ${module.name}=${test.src.dir} --add-reads ${module.name}=ALL-UNNAMED" property="javac.test.compilerargs" value="--add-reads ${test.module.name}=ALL-UNNAMED">
1555            <and>
1556                <isset property="test.module.name"/>
1557                <length length="0" string="${test.module.name}" when="greater"/>
1558            </and>
1559        </condition>
1560    </target>
1561    <target depends="-init-source-module-properties" if="named.module.internal" name="-init-test-run-module-properties">
1562        <condition else="${module.name}" property="run.test.addexport.source.module.internal" value="${test.module.name}">
1563            <and>
1564                <isset property="test.module.name"/>
1565                <length length="0" string="${test.module.name}" when="greater"/>
1566            </and>
1567        </condition>
1568        <fileset dir="${build.test.classes.dir}" id="run.test.packages.internal" includes="**/*.class"/>
1569        <property location="${build.test.classes.dir}" name="build.test.classes.dir.abs.internal"/>
1570        <pathconvert pathsep=" " property="run.test.addexports.internal" refid="run.test.packages.internal">
1571            <chainedmapper>
1572                <regexpmapper from="^(.*)\Q${file.separator}\E.*\.class$$" to="\1"/>
1573                <filtermapper>
1574                    <uniqfilter/>
1575                    <replacestring from="${build.test.classes.dir.abs.internal}" to=""/>
1576                </filtermapper>
1577                <cutdirsmapper dirs="1"/>
1578                <packagemapper from="*" to="--add-exports ${run.test.addexport.source.module.internal}/*=ALL-UNNAMED"/>
1579            </chainedmapper>
1580        </pathconvert>
1581        <condition else="--patch-module ${module.name}=${build.test.classes.dir} --add-modules ${module.name} --add-reads ${module.name}=ALL-UNNAMED ${run.test.addexports.internal}" property="run.test.jvmargs" value="--add-modules ${test.module.name} --add-reads ${test.module.name}=ALL-UNNAMED ${run.test.addexports.internal}">
1582            <and>
1583                <isset property="test.module.name"/>
1584                <length length="0" string="${test.module.name}" when="greater"/>
1585            </and>
1586        </condition>
1587    </target>
1588    <target depends="-init-source-module-properties" name="-init-test-module-properties-without-module" unless="named.module.internal">
1589        <property name="javac.test.sourcepath" value="${empty.dir}"/>
1590        <property name="javac.test.compilerargs" value=""/>
1591        <property name="run.test.jvmargs" value=""/>
1592    </target>
1593    <target depends="-init-test-javac-module-properties-with-module,-init-test-module-properties-without-module" name="-init-test-module-properties"/>
1594    <target if="do.depend.true" name="-compile-test-depend">
1595        <j2seproject3:depend classpath="${javac.test.classpath}" destdir="${build.test.classes.dir}" srcdir="${test.src.dir}"/>
1596    </target>
1597    <target depends="init,deps-jar,compile,-init-test-module-properties,-pre-pre-compile-test,-pre-compile-test,-compile-test-depend" if="have.tests" name="-do-compile-test">
1598        <j2seproject3:javac apgeneratedsrcdir="${build.test.classes.dir}" classpath="${javac.test.classpath}" debug="true" destdir="${build.test.classes.dir}" modulepath="${javac.test.modulepath}" processorpath="${javac.test.processorpath}" sourcepath="${javac.test.sourcepath}" srcdir="${test.src.dir}">
1599            <customize>
1600                <compilerarg line="${javac.test.compilerargs}"/>
1601            </customize>
1602        </j2seproject3:javac>
1603        <copy todir="${build.test.classes.dir}">
1604            <fileset dir="${test.src.dir}" excludes="${build.classes.excludes},${excludes}" includes="${includes}"/>
1605        </copy>
1606    </target>
1607    <target name="-post-compile-test">
1608        <!-- Empty placeholder for easier customization. -->
1609        <!-- You can override this target in the ../build.xml file. -->
1610    </target>
1611    <target depends="init,compile,-pre-pre-compile-test,-pre-compile-test,-do-compile-test,-post-compile-test" name="compile-test"/>
1612    <target name="-pre-compile-test-single">
1613        <!-- Empty placeholder for easier customization. -->
1614        <!-- You can override this target in the ../build.xml file. -->
1615    </target>
1616    <target depends="init,deps-jar,compile,-init-test-module-properties,-pre-pre-compile-test,-pre-compile-test-single" if="have.tests" name="-do-compile-test-single">
1617        <fail unless="javac.includes">Must select some files in the IDE or set javac.includes</fail>
1618        <j2seproject3:force-recompile destdir="${build.test.classes.dir}"/>
1619        <j2seproject3:javac apgeneratedsrcdir="${build.test.classes.dir}" classpath="${javac.test.classpath}" debug="true" destdir="${build.test.classes.dir}" excludes="" includes="${javac.includes}, module-info.java" modulepath="${javac.test.modulepath}" processorpath="${javac.test.processorpath}" sourcepath="${test.src.dir}" srcdir="${test.src.dir}">
1620            <customize>
1621                <compilerarg line="${javac.test.compilerargs}"/>
1622            </customize>
1623        </j2seproject3:javac>
1624        <copy todir="${build.test.classes.dir}">
1625            <fileset dir="${test.src.dir}" excludes="${build.classes.excludes},${excludes}" includes="${includes}"/>
1626        </copy>
1627    </target>
1628    <target name="-post-compile-test-single">
1629        <!-- Empty placeholder for easier customization. -->
1630        <!-- You can override this target in the ../build.xml file. -->
1631    </target>
1632    <target depends="init,compile,-pre-pre-compile-test,-pre-compile-test-single,-do-compile-test-single,-post-compile-test-single" name="compile-test-single"/>
1633    <!--
1634                =======================
1635                TEST EXECUTION SECTION
1636                =======================
1637            -->
1638    <target depends="init" if="have.tests" name="-pre-test-run">
1639        <mkdir dir="${build.test.results.dir}"/>
1640    </target>
1641    <target depends="init,compile-test,-init-test-run-module-properties,-pre-test-run" if="have.tests" name="-do-test-run">
1642        <j2seproject3:test includes="${includes}" testincludes="**/*Test.java"/>
1643    </target>
1644    <target depends="init,compile-test,-pre-test-run,-do-test-run" if="have.tests" name="-post-test-run">
1645        <fail if="tests.failed" unless="ignore.failing.tests">Some tests failed; see details above.</fail>
1646    </target>
1647    <target depends="init" if="have.tests" name="test-report"/>
1648    <target depends="init" if="netbeans.home+have.tests" name="-test-browse"/>
1649    <target depends="init,compile-test,-pre-test-run,-do-test-run,test-report,-post-test-run,-test-browse" description="Run unit tests." name="test"/>
1650    <target depends="init" if="have.tests" name="-pre-test-run-single">
1651        <mkdir dir="${build.test.results.dir}"/>
1652    </target>
1653    <target depends="init,compile-test-single,-init-test-run-module-properties,-pre-test-run-single" if="have.tests" name="-do-test-run-single">
1654        <fail unless="test.includes">Must select some files in the IDE or set test.includes</fail>
1655        <j2seproject3:test excludes="" includes="${test.includes}" testincludes="${test.includes}"/>
1656    </target>
1657    <target depends="init,compile-test-single,-pre-test-run-single,-do-test-run-single" if="have.tests" name="-post-test-run-single">
1658        <fail if="tests.failed" unless="ignore.failing.tests">Some tests failed; see details above.</fail>
1659    </target>
1660    <target depends="init,compile-test-single,-init-test-run-module-properties,-pre-test-run-single,-do-test-run-single,-post-test-run-single" description="Run single unit test." name="test-single"/>
1661    <target depends="init,compile-test-single,-pre-test-run-single" if="have.tests" name="-do-test-run-single-method">
1662        <fail unless="test.class">Must select some files in the IDE or set test.class</fail>
1663        <fail unless="test.method">Must select some method in the IDE or set test.method</fail>
1664        <j2seproject3:test excludes="" includes="${javac.includes}" testincludes="${test.class}" testmethods="${test.method}"/>
1665    </target>
1666    <target depends="init,compile-test-single,-pre-test-run-single,-do-test-run-single-method" if="have.tests" name="-post-test-run-single-method">
1667        <fail if="tests.failed" unless="ignore.failing.tests">Some tests failed; see details above.</fail>
1668    </target>
1669    <target depends="init,compile-test-single,-init-test-run-module-properties,-pre-test-run-single,-do-test-run-single-method,-post-test-run-single-method" description="Run single unit test." name="test-single-method"/>
1670    <!--
1671                =======================
1672                TEST DEBUGGING SECTION
1673                =======================
1674            -->
1675    <target depends="init,compile-test-single,-pre-test-run-single" if="have.tests" name="-debug-start-debuggee-test">
1676        <fail unless="test.class">Must select one file in the IDE or set test.class</fail>
1677        <j2seproject3:test-debug excludes="" includes="${javac.includes}" testClass="${test.class}" testincludes="${javac.includes}"/>
1678    </target>
1679    <target depends="init,compile-test-single,-pre-test-run-single" if="have.tests" name="-debug-start-debuggee-test-method">
1680        <fail unless="test.class">Must select one file in the IDE or set test.class</fail>
1681        <fail unless="test.method">Must select some method in the IDE or set test.method</fail>
1682        <j2seproject3:test-debug excludes="" includes="${javac.includes}" testClass="${test.class}" testMethod="${test.method}" testincludes="${test.class}" testmethods="${test.method}"/>
1683    </target>
1684    <target depends="init,compile-test" if="netbeans.home+have.tests" name="-debug-start-debugger-test">
1685        <j2seproject1:nbjpdastart classpath="${debug.test.classpath}" name="${test.class}"/>
1686    </target>
1687    <target depends="init,compile-test-single,-init-test-run-module-properties,-debug-start-debugger-test,-debug-start-debuggee-test" name="debug-test"/>
1688    <target depends="init,compile-test-single,-init-test-run-module-properties,-debug-start-debugger-test,-debug-start-debuggee-test-method" name="debug-test-method"/>
1689    <target depends="debug-test-method" name="debug-single-method"/>
1690    <target depends="init,-pre-debug-fix,compile-test-single" if="netbeans.home" name="-do-debug-fix-test">
1691        <j2seproject1:nbjpdareload dir="${build.test.classes.dir}"/>
1692    </target>
1693    <target depends="init,-pre-debug-fix,-do-debug-fix-test" if="netbeans.home" name="debug-fix-test"/>
1694    <!--
1695                =========================
1696                APPLET EXECUTION SECTION
1697                =========================
1698            -->
1699    <target depends="init,compile-single" name="run-applet">
1700        <fail unless="applet.url">Must select one file in the IDE or set applet.url</fail>
1701        <j2seproject1:java classname="sun.applet.AppletViewer">
1702            <customize>
1703                <arg value="${applet.url}"/>
1704            </customize>
1705        </j2seproject1:java>
1706    </target>
1707    <!--
1708                =========================
1709                APPLET DEBUGGING  SECTION
1710                =========================
1711            -->
1712    <target depends="init,compile-single" if="netbeans.home" name="-debug-start-debuggee-applet">
1713        <fail unless="applet.url">Must select one file in the IDE or set applet.url</fail>
1714        <j2seproject3:debug classname="sun.applet.AppletViewer">
1715            <customizeDebuggee>
1716                <arg value="${applet.url}"/>
1717            </customizeDebuggee>
1718        </j2seproject3:debug>
1719    </target>
1720    <target depends="init,compile-single,-debug-start-debugger,-debug-start-debuggee-applet" if="netbeans.home" name="debug-applet"/>
1721    <!--
1722                ===============
1723                CLEANUP SECTION
1724                ===============
1725            -->
1726    <target name="-deps-clean-init" unless="built-clean.properties">
1727        <property location="${build.dir}/built-clean.properties" name="built-clean.properties"/>
1728        <delete file="${built-clean.properties}" quiet="true"/>
1729    </target>
1730    <target if="already.built.clean.${basedir}" name="-warn-already-built-clean">
1731        <echo level="warn" message="Cycle detected: abcl was already built"/>
1732    </target>
1733    <target depends="init,-deps-clean-init" name="deps-clean" unless="no.deps">
1734        <mkdir dir="${build.dir}"/>
1735        <touch file="${built-clean.properties}" verbose="false"/>
1736        <property file="${built-clean.properties}" prefix="already.built.clean."/>
1737        <antcall target="-warn-already-built-clean"/>
1738        <propertyfile file="${built-clean.properties}">
1739            <entry key="${basedir}" value=""/>
1740        </propertyfile>
1741    </target>
1742    <target depends="init" name="-do-clean">
1743        <delete dir="${build.dir}"/>
1744        <delete dir="${dist.jlink.output}"/>
1745        <delete dir="${dist.dir}" followsymlinks="false" includeemptydirs="true"/>
1746    </target>
1747    <target name="-post-clean">
1748        <!-- Empty placeholder for easier customization. -->
1749        <!-- You can override this target in the ../build.xml file. -->
1750    </target>
1751    <target depends="init,deps-clean,-do-clean,-post-clean" description="Clean build products." name="clean"/>
1752    <target name="-check-call-dep">
1753        <property file="${call.built.properties}" prefix="already.built."/>
1754        <condition property="should.call.dep">
1755            <and>
1756                <not>
1757                    <isset property="already.built.${call.subproject}"/>
1758                </not>
1759                <available file="${call.script}"/>
1760            </and>
1761        </condition>
1762    </target>
1763    <target depends="-check-call-dep" if="should.call.dep" name="-maybe-call-dep">
1764        <ant antfile="${call.script}" inheritall="false" target="${call.target}">
1765            <propertyset>
1766                <propertyref prefix="transfer."/>
1767                <mapper from="transfer.*" to="*" type="glob"/>
1768            </propertyset>
1769        </ant>
1770    </target>
1771</project>
Note: See TracBrowser for help on using the repository browser.