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