source: trunk/abcl/nbproject/build-impl.xml @ 14572

Last change on this file since 14572 was 14572, checked in by Mark Evenson, 10 years ago

Make LispStackFrame?.UNAVAILABLE_ARG a singleton object,

Memory profiling of ABCL shows that the classes with largest
allocation count are LispStackFrame? and
LispStackFrame?.UnavailableArgument?.

Contributed by Dmitry Nadezhin.

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