Diff of /nbproject/build-impl.xml [000000] .. [ce076b]

Switch to unified view

a b/nbproject/build-impl.xml
1
<?xml version="1.0" encoding="UTF-8"?>
2
<!--
3
*** GENERATED FROM project.xml - DO NOT EDIT  ***
4
***         EDIT ../build.xml INSTEAD         ***
5
6
For the purpose of easier reading the script
7
is divided into following sections:
8
9
  - initialization
10
  - compilation
11
  - jar
12
  - execution
13
  - debugging
14
  - javadoc
15
  - test compilation
16
  - test execution
17
  - test debugging
18
  - applet
19
  - cleanup
20
21
        -->
22
<project xmlns: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="biodiscml-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="biodiscml" 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 biodiscml -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: biodiscml 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: biodiscml 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>