1.1 --- a/samples/cloneproblem/nbproject/build-impl.xml Tue Mar 01 21:28:39 2011 +0100
1.2 +++ b/samples/cloneproblem/nbproject/build-impl.xml Mon Nov 11 13:17:34 2019 +0100
1.3 @@ -12,18 +12,18 @@
1.4 - execution
1.5 - debugging
1.6 - javadoc
1.7 - - junit compilation
1.8 - - junit execution
1.9 - - junit debugging
1.10 + - test compilation
1.11 + - test execution
1.12 + - test debugging
1.13 - applet
1.14 - cleanup
1.15
1.16 -->
1.17 -<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="cloneproblem-impl">
1.18 - <fail message="Please build using Ant 1.7.1 or higher.">
1.19 +<project xmlns:if="ant:if" xmlns:j2seproject1="http://www.netbeans.org/ns/j2se-project/1" xmlns:j2seproject3="http://www.netbeans.org/ns/j2se-project/3" xmlns:jaxrpc="http://www.netbeans.org/ns/j2se-project/jax-rpc" xmlns:unless="ant:unless" basedir=".." default="default" name="cloneproblem-impl">
1.20 + <fail message="Please build using Ant 1.8.0 or higher.">
1.21 <condition>
1.22 <not>
1.23 - <antversion atleast="1.7.1"/>
1.24 + <antversion atleast="1.8.0"/>
1.25 </not>
1.26 </condition>
1.27 </fail>
1.28 @@ -46,14 +46,80 @@
1.29 <property file="${user.properties.file}"/>
1.30 <!-- The two properties below are usually overridden -->
1.31 <!-- by the active platform. Just a fallback. -->
1.32 - <property name="default.javac.source" value="1.4"/>
1.33 - <property name="default.javac.target" value="1.4"/>
1.34 + <property name="default.javac.source" value="1.6"/>
1.35 + <property name="default.javac.target" value="1.6"/>
1.36 </target>
1.37 <target depends="-pre-init,-init-private,-init-user" name="-init-project">
1.38 <property file="nbproject/configs/${config}.properties"/>
1.39 <property file="nbproject/project.properties"/>
1.40 </target>
1.41 - <target depends="-pre-init,-init-private,-init-user,-init-project,-init-macrodef-property" name="-do-init">
1.42 + <target name="-init-modules-supported">
1.43 + <condition property="modules.supported.internal" value="true">
1.44 + <not>
1.45 + <matches pattern="1\.[0-8](\..*)?" string="${javac.source}"/>
1.46 + </not>
1.47 + </condition>
1.48 + </target>
1.49 + <target depends="-init-modules-supported" if="modules.supported.internal" name="-init-macrodef-modulename">
1.50 + <macrodef name="modulename" uri="http://www.netbeans.org/ns/j2se-project/3">
1.51 + <attribute name="property"/>
1.52 + <attribute name="sourcepath"/>
1.53 + <sequential>
1.54 + <loadresource property="@{property}" quiet="true">
1.55 + <javaresource classpath="@{sourcepath}" name="module-info.java" parentFirst="false"/>
1.56 + <filterchain>
1.57 + <stripjavacomments/>
1.58 + <linecontainsregexp>
1.59 + <regexp pattern="module .* \{"/>
1.60 + </linecontainsregexp>
1.61 + <tokenfilter>
1.62 + <linetokenizer/>
1.63 + <replaceregex flags="s" pattern="(\s*module\s+)(\S*)(\s*\{.*)" replace="\2"/>
1.64 + </tokenfilter>
1.65 + <striplinebreaks/>
1.66 + </filterchain>
1.67 + </loadresource>
1.68 + </sequential>
1.69 + </macrodef>
1.70 + </target>
1.71 + <target depends="-init-modules-supported,-init-macrodef-modulename" if="modules.supported.internal" name="-init-source-module-properties">
1.72 + <fail message="Java 9 support requires Ant 1.10.0 or higher.">
1.73 + <condition>
1.74 + <not>
1.75 + <antversion atleast="1.10.0"/>
1.76 + </not>
1.77 + </condition>
1.78 + </fail>
1.79 + <j2seproject3:modulename property="module.name" sourcepath="${src.dir}"/>
1.80 + <condition property="named.module.internal">
1.81 + <and>
1.82 + <isset property="module.name"/>
1.83 + <length length="0" string="${module.name}" when="greater"/>
1.84 + </and>
1.85 + </condition>
1.86 + <condition property="unnamed.module.internal">
1.87 + <not>
1.88 + <isset property="named.module.internal"/>
1.89 + </not>
1.90 + </condition>
1.91 + <property name="javac.modulepath" value=""/>
1.92 + <property name="run.modulepath" value="${javac.modulepath}"/>
1.93 + <property name="module.build.classes.dir" value="${build.classes.dir}"/>
1.94 + <property name="debug.modulepath" value="${run.modulepath}"/>
1.95 + <property name="javac.upgrademodulepath" value=""/>
1.96 + <property name="run.upgrademodulepath" value="${javac.upgrademodulepath}"/>
1.97 + <condition else="" property="javac.systemmodulepath.cmd.line.arg" value="--system '${javac.systemmodulepath}'">
1.98 + <and>
1.99 + <isset property="javac.systemmodulepath"/>
1.100 + <length length="0" string="${javac.systemmodulepath}" when="greater"/>
1.101 + </and>
1.102 + </condition>
1.103 + <property name="dist.jlink.dir" value="${dist.dir}/jlink"/>
1.104 + <property name="dist.jlink.output" value="${dist.jlink.dir}/${application.title}"/>
1.105 + <property name="module.name" value=""/>
1.106 + </target>
1.107 + <target depends="-pre-init,-init-private,-init-user,-init-project,-init-macrodef-property,-init-modules-supported" name="-do-init">
1.108 + <property name="platform.java" value="${java.home}/bin/java"/>
1.109 <available file="${manifest.file}" property="manifest.available"/>
1.110 <condition property="splashscreen.available">
1.111 <and>
1.112 @@ -71,31 +137,22 @@
1.113 </not>
1.114 </and>
1.115 </condition>
1.116 - <condition property="manifest.available+main.class">
1.117 + <condition property="profile.available">
1.118 <and>
1.119 - <isset property="manifest.available"/>
1.120 - <isset property="main.class.available"/>
1.121 + <isset property="javac.profile"/>
1.122 + <length length="0" string="${javac.profile}" when="greater"/>
1.123 + <not>
1.124 + <matches pattern="1\.[0-7](\..*)?" string="${javac.source}"/>
1.125 + </not>
1.126 </and>
1.127 </condition>
1.128 <condition property="do.archive">
1.129 - <not>
1.130 - <istrue value="${jar.archive.disabled}"/>
1.131 - </not>
1.132 - </condition>
1.133 - <condition property="do.mkdist">
1.134 - <and>
1.135 - <isset property="do.archive"/>
1.136 - <isset property="libs.CopyLibs.classpath"/>
1.137 + <or>
1.138 <not>
1.139 - <istrue value="${mkdist.disabled}"/>
1.140 + <istrue value="${jar.archive.disabled}"/>
1.141 </not>
1.142 - </and>
1.143 - </condition>
1.144 - <condition property="manifest.available+main.class+mkdist.available">
1.145 - <and>
1.146 - <istrue value="${manifest.available+main.class}"/>
1.147 - <isset property="do.mkdist"/>
1.148 - </and>
1.149 + <istrue value="${not.archive.disabled}"/>
1.150 + </or>
1.151 </condition>
1.152 <condition property="do.archive+manifest.available">
1.153 <and>
1.154 @@ -115,24 +172,12 @@
1.155 <istrue value="${do.archive}"/>
1.156 </and>
1.157 </condition>
1.158 - <condition property="do.archive+manifest.available+main.class">
1.159 + <condition property="do.archive+profile.available">
1.160 <and>
1.161 - <istrue value="${manifest.available+main.class}"/>
1.162 + <isset property="profile.available"/>
1.163 <istrue value="${do.archive}"/>
1.164 </and>
1.165 </condition>
1.166 - <condition property="manifest.available-mkdist.available">
1.167 - <or>
1.168 - <istrue value="${manifest.available}"/>
1.169 - <isset property="do.mkdist"/>
1.170 - </or>
1.171 - </condition>
1.172 - <condition property="manifest.available+main.class-mkdist.available">
1.173 - <or>
1.174 - <istrue value="${manifest.available+main.class}"/>
1.175 - <isset property="do.mkdist"/>
1.176 - </or>
1.177 - </condition>
1.178 <condition property="have.tests">
1.179 <or>
1.180 <available file="${test.src.dir}"/>
1.181 @@ -156,6 +201,7 @@
1.182 </and>
1.183 </condition>
1.184 <property name="run.jvmargs" value=""/>
1.185 + <property name="run.jvmargs.ide" value=""/>
1.186 <property name="javac.compilerargs" value=""/>
1.187 <property name="work.dir" value="${basedir}"/>
1.188 <condition property="no.deps">
1.189 @@ -168,6 +214,7 @@
1.190 <property name="application.args" value=""/>
1.191 <property name="source.encoding" value="${file.encoding}"/>
1.192 <property name="runtime.encoding" value="${source.encoding}"/>
1.193 + <property name="manifest.encoding" value="${source.encoding}"/>
1.194 <condition property="javadoc.encoding.used" value="${javadoc.encoding}">
1.195 <and>
1.196 <isset property="javadoc.encoding"/>
1.197 @@ -185,12 +232,56 @@
1.198 </condition>
1.199 <path id="endorsed.classpath.path" path="${endorsed.classpath}"/>
1.200 <condition else="" property="endorsed.classpath.cmd.line.arg" value="-Xbootclasspath/p:'${toString:endorsed.classpath.path}'">
1.201 - <length length="0" string="${endorsed.classpath}" when="greater"/>
1.202 + <and>
1.203 + <isset property="endorsed.classpath"/>
1.204 + <not>
1.205 + <equals arg1="${endorsed.classpath}" arg2="" trim="true"/>
1.206 + </not>
1.207 + </and>
1.208 </condition>
1.209 - <property name="javac.fork" value="true"/>
1.210 + <condition else="" property="javac.profile.cmd.line.arg" value="-profile ${javac.profile}">
1.211 + <isset property="profile.available"/>
1.212 + </condition>
1.213 + <condition else="false" property="jdkBug6558476">
1.214 + <and>
1.215 + <matches pattern="1\.[56]" string="${java.specification.version}"/>
1.216 + <not>
1.217 + <os family="unix"/>
1.218 + </not>
1.219 + </and>
1.220 + </condition>
1.221 + <condition else="false" property="javac.fork">
1.222 + <or>
1.223 + <istrue value="${jdkBug6558476}"/>
1.224 + <istrue value="${javac.external.vm}"/>
1.225 + </or>
1.226 + </condition>
1.227 <property name="jar.index" value="false"/>
1.228 <property name="jar.index.metainf" value="${jar.index}"/>
1.229 + <property name="copylibs.rebase" value="true"/>
1.230 <available file="${meta.inf.dir}/persistence.xml" property="has.persistence.xml"/>
1.231 + <condition property="junit.available">
1.232 + <or>
1.233 + <available classname="org.junit.Test" classpath="${run.test.classpath}"/>
1.234 + <available classname="junit.framework.Test" classpath="${run.test.classpath}"/>
1.235 + </or>
1.236 + </condition>
1.237 + <condition property="testng.available">
1.238 + <available classname="org.testng.annotations.Test" classpath="${run.test.classpath}"/>
1.239 + </condition>
1.240 + <condition property="junit+testng.available">
1.241 + <and>
1.242 + <istrue value="${junit.available}"/>
1.243 + <istrue value="${testng.available}"/>
1.244 + </and>
1.245 + </condition>
1.246 + <condition else="testng" property="testng.mode" value="mixed">
1.247 + <istrue value="${junit+testng.available}"/>
1.248 + </condition>
1.249 + <condition else="" property="testng.debug.mode" value="-mixed">
1.250 + <istrue value="${junit+testng.available}"/>
1.251 + </condition>
1.252 + <property name="java.failonerror" value="true"/>
1.253 </target>
1.254 <target name="-post-init">
1.255 <!-- Empty placeholder for easier customization. -->
1.256 @@ -217,11 +308,80 @@
1.257 </sequential>
1.258 </macrodef>
1.259 </target>
1.260 - <target depends="-init-ap-cmdline-properties" if="ap.supported.internal" name="-init-macrodef-javac-with-processors">
1.261 + <target depends="-init-ap-cmdline-properties,-init-source-module-properties" if="modules.supported.internal" name="-init-macrodef-javac-with-module">
1.262 <macrodef name="javac" uri="http://www.netbeans.org/ns/j2se-project/3">
1.263 <attribute default="${src.dir}" name="srcdir"/>
1.264 <attribute default="${build.classes.dir}" name="destdir"/>
1.265 <attribute default="${javac.classpath}" name="classpath"/>
1.266 + <attribute default="${javac.modulepath}" name="modulepath"/>
1.267 + <attribute default="${javac.upgrademodulepath}" name="upgrademodulepath"/>
1.268 + <attribute default="${javac.processorpath}" name="processorpath"/>
1.269 + <attribute default="${javac.processormodulepath}" name="processormodulepath"/>
1.270 + <attribute default="${build.generated.sources.dir}/ap-source-output" name="apgeneratedsrcdir"/>
1.271 + <attribute default="${includes}" name="includes"/>
1.272 + <attribute default="${excludes}" name="excludes"/>
1.273 + <attribute default="${javac.debug}" name="debug"/>
1.274 + <attribute default="${empty.dir}" name="sourcepath" unless:set="named.module.internal"/>
1.275 + <attribute default="${src.dir}" if:set="named.module.internal" name="sourcepath"/>
1.276 + <attribute default="${empty.dir}" name="gensrcdir"/>
1.277 + <element name="customize" optional="true"/>
1.278 + <sequential>
1.279 + <condition property="warn.excludes.internal">
1.280 + <and>
1.281 + <isset property="named.module.internal"/>
1.282 + <length length="0" string="@{excludes}" trim="true" when="greater"/>
1.283 + </and>
1.284 + </condition>
1.285 + <echo if:set="warn.excludes.internal" level="warning" message="The javac excludes are not supported in the JDK 9 Named Module."/>
1.286 + <property location="${build.dir}/empty" name="empty.dir"/>
1.287 + <mkdir dir="${empty.dir}"/>
1.288 + <mkdir dir="@{apgeneratedsrcdir}"/>
1.289 + <condition property="processormodulepath.set">
1.290 + <resourcecount count="0" when="greater">
1.291 + <path>
1.292 + <pathelement path="@{processormodulepath}"/>
1.293 + </path>
1.294 + </resourcecount>
1.295 + </condition>
1.296 + <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}">
1.297 + <src>
1.298 + <dirset dir="@{gensrcdir}" erroronmissingdir="false">
1.299 + <include name="*"/>
1.300 + </dirset>
1.301 + </src>
1.302 + <classpath>
1.303 + <path path="@{classpath}"/>
1.304 + </classpath>
1.305 + <modulepath>
1.306 + <path path="@{modulepath}"/>
1.307 + </modulepath>
1.308 + <upgrademodulepath>
1.309 + <path path="@{upgrademodulepath}"/>
1.310 + </upgrademodulepath>
1.311 + <compilerarg line="${javac.systemmodulepath.cmd.line.arg}"/>
1.312 + <compilerarg line="${javac.profile.cmd.line.arg}"/>
1.313 + <compilerarg line="${javac.compilerargs}"/>
1.314 + <compilerarg if:set="processormodulepath.set" value="--processor-module-path"/>
1.315 + <compilerarg if:set="processormodulepath.set" path="@{processormodulepath}"/>
1.316 + <compilerarg unless:set="processormodulepath.set" value="-processorpath"/>
1.317 + <compilerarg path="@{processorpath}:${empty.dir}" unless:set="processormodulepath.set"/>
1.318 + <compilerarg line="${ap.processors.internal}"/>
1.319 + <compilerarg line="${annotation.processing.processor.options}"/>
1.320 + <compilerarg value="-s"/>
1.321 + <compilerarg path="@{apgeneratedsrcdir}"/>
1.322 + <compilerarg line="${ap.proc.none.internal}"/>
1.323 + <customize/>
1.324 + </javac>
1.325 + </sequential>
1.326 + </macrodef>
1.327 + </target>
1.328 + <target depends="-init-ap-cmdline-properties,-init-source-module-properties" if="ap.supported.internal" name="-init-macrodef-javac-with-processors" unless="modules.supported.internal">
1.329 + <macrodef name="javac" uri="http://www.netbeans.org/ns/j2se-project/3">
1.330 + <attribute default="${src.dir}" name="srcdir"/>
1.331 + <attribute default="${build.classes.dir}" name="destdir"/>
1.332 + <attribute default="${javac.classpath}" name="classpath"/>
1.333 + <attribute default="${javac.modulepath}" name="modulepath"/>
1.334 + <attribute default="${javac.upgrademodulepath}" name="upgrademodulepath"/>
1.335 <attribute default="${javac.processorpath}" name="processorpath"/>
1.336 <attribute default="${build.generated.sources.dir}/ap-source-output" name="apgeneratedsrcdir"/>
1.337 <attribute default="${includes}" name="includes"/>
1.338 @@ -244,6 +404,7 @@
1.339 <path path="@{classpath}"/>
1.340 </classpath>
1.341 <compilerarg line="${endorsed.classpath.cmd.line.arg}"/>
1.342 + <compilerarg line="${javac.profile.cmd.line.arg}"/>
1.343 <compilerarg line="${javac.compilerargs}"/>
1.344 <compilerarg value="-processorpath"/>
1.345 <compilerarg path="@{processorpath}:${empty.dir}"/>
1.346 @@ -257,11 +418,13 @@
1.347 </sequential>
1.348 </macrodef>
1.349 </target>
1.350 - <target depends="-init-ap-cmdline-properties" name="-init-macrodef-javac-without-processors" unless="ap.supported.internal">
1.351 + <target depends="-init-ap-cmdline-properties,-init-source-module-properties" name="-init-macrodef-javac-without-processors" unless="ap.supported.internal">
1.352 <macrodef name="javac" uri="http://www.netbeans.org/ns/j2se-project/3">
1.353 <attribute default="${src.dir}" name="srcdir"/>
1.354 <attribute default="${build.classes.dir}" name="destdir"/>
1.355 <attribute default="${javac.classpath}" name="classpath"/>
1.356 + <attribute default="${javac.modulepath}" name="modulepath"/>
1.357 + <attribute default="${javac.upgrademodulepath}" name="upgrademodulepath"/>
1.358 <attribute default="${javac.processorpath}" name="processorpath"/>
1.359 <attribute default="${build.generated.sources.dir}/ap-source-output" name="apgeneratedsrcdir"/>
1.360 <attribute default="${includes}" name="includes"/>
1.361 @@ -283,13 +446,14 @@
1.362 <path path="@{classpath}"/>
1.363 </classpath>
1.364 <compilerarg line="${endorsed.classpath.cmd.line.arg}"/>
1.365 + <compilerarg line="${javac.profile.cmd.line.arg}"/>
1.366 <compilerarg line="${javac.compilerargs}"/>
1.367 <customize/>
1.368 </javac>
1.369 </sequential>
1.370 </macrodef>
1.371 </target>
1.372 - <target depends="-init-macrodef-javac-with-processors,-init-macrodef-javac-without-processors" name="-init-macrodef-javac">
1.373 + <target depends="-init-macrodef-javac-with-module,-init-macrodef-javac-with-processors,-init-macrodef-javac-without-processors" name="-init-macrodef-javac">
1.374 <macrodef name="depend" uri="http://www.netbeans.org/ns/j2se-project/3">
1.375 <attribute default="${src.dir}" name="srcdir"/>
1.376 <attribute default="${build.classes.dir}" name="destdir"/>
1.377 @@ -323,45 +487,317 @@
1.378 </sequential>
1.379 </macrodef>
1.380 </target>
1.381 - <target name="-init-macrodef-junit">
1.382 + <target if="${junit.available}" name="-init-macrodef-junit-init">
1.383 + <condition else="false" property="nb.junit.batch" value="true">
1.384 + <and>
1.385 + <istrue value="${junit.available}"/>
1.386 + <not>
1.387 + <isset property="test.method"/>
1.388 + </not>
1.389 + </and>
1.390 + </condition>
1.391 + <condition else="false" property="nb.junit.single" value="true">
1.392 + <and>
1.393 + <istrue value="${junit.available}"/>
1.394 + <isset property="test.method"/>
1.395 + </and>
1.396 + </condition>
1.397 + </target>
1.398 + <target name="-init-test-properties">
1.399 + <property name="test.binaryincludes" value="<nothing>"/>
1.400 + <property name="test.binarytestincludes" value=""/>
1.401 + <property name="test.binaryexcludes" value=""/>
1.402 + </target>
1.403 + <target depends="-init-modules-supported" if="modules.supported.internal" name="-init-macrodef-junit-prototype-with-module">
1.404 + <macrodef name="junit-prototype" uri="http://www.netbeans.org/ns/j2se-project/3">
1.405 + <attribute default="${includes}" name="includes"/>
1.406 + <attribute default="${excludes}" name="excludes"/>
1.407 + <element name="customizePrototype" optional="true"/>
1.408 + <sequential>
1.409 + <property name="junit.forkmode" value="perTest"/>
1.410 + <junit dir="${work.dir}" errorproperty="tests.failed" failureproperty="tests.failed" fork="true" forkmode="${junit.forkmode}" showoutput="true" tempdir="${build.dir}">
1.411 + <syspropertyset>
1.412 + <propertyref prefix="test-sys-prop."/>
1.413 + <mapper from="test-sys-prop.*" to="*" type="glob"/>
1.414 + </syspropertyset>
1.415 + <classpath>
1.416 + <path path="${run.test.classpath}"/>
1.417 + </classpath>
1.418 + <modulepath>
1.419 + <path path="${run.test.modulepath}"/>
1.420 + </modulepath>
1.421 + <formatter type="brief" usefile="false"/>
1.422 + <formatter type="xml"/>
1.423 + <jvmarg line="${endorsed.classpath.cmd.line.arg}"/>
1.424 + <jvmarg value="-ea"/>
1.425 + <jvmarg line="${run.test.jvmargs}"/>
1.426 + <customizePrototype/>
1.427 + </junit>
1.428 + </sequential>
1.429 + </macrodef>
1.430 + </target>
1.431 + <target depends="-init-modules-supported" name="-init-macrodef-junit-prototype-without-module" unless="modules.supported.internal">
1.432 + <macrodef name="junit-prototype" uri="http://www.netbeans.org/ns/j2se-project/3">
1.433 + <attribute default="${includes}" name="includes"/>
1.434 + <attribute default="${excludes}" name="excludes"/>
1.435 + <element name="customizePrototype" optional="true"/>
1.436 + <sequential>
1.437 + <property name="junit.forkmode" value="perTest"/>
1.438 + <junit dir="${work.dir}" errorproperty="tests.failed" failureproperty="tests.failed" fork="true" forkmode="${junit.forkmode}" showoutput="true" tempdir="${build.dir}">
1.439 + <syspropertyset>
1.440 + <propertyref prefix="test-sys-prop."/>
1.441 + <mapper from="test-sys-prop.*" to="*" type="glob"/>
1.442 + </syspropertyset>
1.443 + <classpath>
1.444 + <path path="${run.test.classpath}"/>
1.445 + </classpath>
1.446 + <formatter type="brief" usefile="false"/>
1.447 + <formatter type="xml"/>
1.448 + <jvmarg line="${endorsed.classpath.cmd.line.arg}"/>
1.449 + <jvmarg value="-ea"/>
1.450 + <customizePrototype/>
1.451 + </junit>
1.452 + </sequential>
1.453 + </macrodef>
1.454 + </target>
1.455 + <target depends="-init-test-properties,-init-macrodef-junit-prototype-with-module,-init-macrodef-junit-prototype-without-module" if="${nb.junit.single}" name="-init-macrodef-junit-single" unless="${nb.junit.batch}">
1.456 <macrodef name="junit" uri="http://www.netbeans.org/ns/j2se-project/3">
1.457 <attribute default="${includes}" name="includes"/>
1.458 <attribute default="${excludes}" name="excludes"/>
1.459 <attribute default="**" name="testincludes"/>
1.460 + <attribute default="" name="testmethods"/>
1.461 + <element name="customize" optional="true"/>
1.462 <sequential>
1.463 - <property name="junit.forkmode" value="perTest"/>
1.464 - <junit dir="${work.dir}" errorproperty="tests.failed" failureproperty="tests.failed" fork="true" forkmode="${junit.forkmode}" showoutput="true" tempdir="${build.dir}">
1.465 - <batchtest todir="${build.test.results.dir}">
1.466 - <fileset dir="${test.src.dir}" excludes="@{excludes},${excludes}" includes="@{includes}">
1.467 - <filename name="@{testincludes}"/>
1.468 - </fileset>
1.469 - </batchtest>
1.470 + <j2seproject3:junit-prototype>
1.471 + <customizePrototype>
1.472 + <test methods="@{testmethods}" name="@{testincludes}" todir="${build.test.results.dir}"/>
1.473 + <customize/>
1.474 + </customizePrototype>
1.475 + </j2seproject3:junit-prototype>
1.476 + </sequential>
1.477 + </macrodef>
1.478 + </target>
1.479 + <target depends="-init-test-properties,-init-macrodef-junit-prototype-with-module,-init-macrodef-junit-prototype-without-module" if="${nb.junit.batch}" name="-init-macrodef-junit-batch" unless="${nb.junit.single}">
1.480 + <macrodef name="junit" uri="http://www.netbeans.org/ns/j2se-project/3">
1.481 + <attribute default="${includes}" name="includes"/>
1.482 + <attribute default="${excludes}" name="excludes"/>
1.483 + <attribute default="**" name="testincludes"/>
1.484 + <attribute default="" name="testmethods"/>
1.485 + <element name="customize" optional="true"/>
1.486 + <sequential>
1.487 + <j2seproject3:junit-prototype>
1.488 + <customizePrototype>
1.489 + <batchtest todir="${build.test.results.dir}">
1.490 + <fileset dir="${test.src.dir}" excludes="@{excludes},${excludes}" includes="@{includes}">
1.491 + <filename name="@{testincludes}"/>
1.492 + </fileset>
1.493 + <fileset dir="${build.test.classes.dir}" excludes="@{excludes},${excludes},${test.binaryexcludes}" includes="${test.binaryincludes}">
1.494 + <filename name="${test.binarytestincludes}"/>
1.495 + </fileset>
1.496 + </batchtest>
1.497 + <customize/>
1.498 + </customizePrototype>
1.499 + </j2seproject3:junit-prototype>
1.500 + </sequential>
1.501 + </macrodef>
1.502 + </target>
1.503 + <target depends="-init-macrodef-junit-init,-init-macrodef-junit-single, -init-macrodef-junit-batch" if="${junit.available}" name="-init-macrodef-junit"/>
1.504 + <target if="${testng.available}" name="-init-macrodef-testng">
1.505 + <macrodef name="testng" uri="http://www.netbeans.org/ns/j2se-project/3">
1.506 + <attribute default="${includes}" name="includes"/>
1.507 + <attribute default="${excludes}" name="excludes"/>
1.508 + <attribute default="**" name="testincludes"/>
1.509 + <attribute default="" name="testmethods"/>
1.510 + <element name="customize" optional="true"/>
1.511 + <sequential>
1.512 + <condition else="" property="testng.methods.arg" value="@{testincludes}.@{testmethods}">
1.513 + <isset property="test.method"/>
1.514 + </condition>
1.515 + <union id="test.set">
1.516 + <fileset dir="${test.src.dir}" excludes="@{excludes},**/*.xml,${excludes}" includes="@{includes}">
1.517 + <filename name="@{testincludes}"/>
1.518 + </fileset>
1.519 + </union>
1.520 + <taskdef classname="org.testng.TestNGAntTask" classpath="${run.test.classpath}" name="testng"/>
1.521 + <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="cloneproblem" testname="TestNG tests" workingDir="${work.dir}">
1.522 + <xmlfileset dir="${build.test.classes.dir}" includes="@{testincludes}"/>
1.523 + <propertyset>
1.524 + <propertyref prefix="test-sys-prop."/>
1.525 + <mapper from="test-sys-prop.*" to="*" type="glob"/>
1.526 + </propertyset>
1.527 <classpath>
1.528 <path path="${run.test.classpath}"/>
1.529 </classpath>
1.530 - <syspropertyset>
1.531 - <propertyref prefix="test-sys-prop."/>
1.532 - <mapper from="test-sys-prop.*" to="*" type="glob"/>
1.533 - </syspropertyset>
1.534 - <formatter type="brief" usefile="false"/>
1.535 - <formatter type="xml"/>
1.536 <jvmarg line="${endorsed.classpath.cmd.line.arg}"/>
1.537 - <jvmarg value="-ea"/>
1.538 - <jvmarg line="${run.jvmargs}"/>
1.539 - </junit>
1.540 + <customize/>
1.541 + </testng>
1.542 </sequential>
1.543 </macrodef>
1.544 </target>
1.545 - <target depends="-profile-pre-init, init, -profile-post-init, -profile-init-macrodef-profile, -profile-init-check" name="profile-init"/>
1.546 - <target name="-profile-pre-init">
1.547 + <target name="-init-macrodef-test-impl">
1.548 + <macrodef name="test-impl" uri="http://www.netbeans.org/ns/j2se-project/3">
1.549 + <attribute default="${includes}" name="includes"/>
1.550 + <attribute default="${excludes}" name="excludes"/>
1.551 + <attribute default="**" name="testincludes"/>
1.552 + <attribute default="" name="testmethods"/>
1.553 + <element implicit="true" name="customize" optional="true"/>
1.554 + <sequential>
1.555 + <echo>No tests executed.</echo>
1.556 + </sequential>
1.557 + </macrodef>
1.558 + </target>
1.559 + <target depends="-init-macrodef-junit" if="${junit.available}" name="-init-macrodef-junit-impl">
1.560 + <macrodef name="test-impl" uri="http://www.netbeans.org/ns/j2se-project/3">
1.561 + <attribute default="${includes}" name="includes"/>
1.562 + <attribute default="${excludes}" name="excludes"/>
1.563 + <attribute default="**" name="testincludes"/>
1.564 + <attribute default="" name="testmethods"/>
1.565 + <element implicit="true" name="customize" optional="true"/>
1.566 + <sequential>
1.567 + <j2seproject3:junit excludes="@{excludes}" includes="@{includes}" testincludes="@{testincludes}" testmethods="@{testmethods}">
1.568 + <customize/>
1.569 + </j2seproject3:junit>
1.570 + </sequential>
1.571 + </macrodef>
1.572 + </target>
1.573 + <target depends="-init-macrodef-testng" if="${testng.available}" name="-init-macrodef-testng-impl">
1.574 + <macrodef name="test-impl" uri="http://www.netbeans.org/ns/j2se-project/3">
1.575 + <attribute default="${includes}" name="includes"/>
1.576 + <attribute default="${excludes}" name="excludes"/>
1.577 + <attribute default="**" name="testincludes"/>
1.578 + <attribute default="" name="testmethods"/>
1.579 + <element implicit="true" name="customize" optional="true"/>
1.580 + <sequential>
1.581 + <j2seproject3:testng excludes="@{excludes}" includes="@{includes}" testincludes="@{testincludes}" testmethods="@{testmethods}">
1.582 + <customize/>
1.583 + </j2seproject3:testng>
1.584 + </sequential>
1.585 + </macrodef>
1.586 + </target>
1.587 + <target depends="-init-macrodef-test-impl,-init-macrodef-junit-impl,-init-macrodef-testng-impl" name="-init-macrodef-test">
1.588 + <macrodef name="test" uri="http://www.netbeans.org/ns/j2se-project/3">
1.589 + <attribute default="${includes}" name="includes"/>
1.590 + <attribute default="${excludes}" name="excludes"/>
1.591 + <attribute default="**" name="testincludes"/>
1.592 + <attribute default="" name="testmethods"/>
1.593 + <sequential>
1.594 + <j2seproject3:test-impl excludes="@{excludes}" includes="@{includes}" testincludes="@{testincludes}" testmethods="@{testmethods}">
1.595 + <customize>
1.596 + <jvmarg line="${run.jvmargs}"/>
1.597 + <jvmarg line="${run.jvmargs.ide}"/>
1.598 + </customize>
1.599 + </j2seproject3:test-impl>
1.600 + </sequential>
1.601 + </macrodef>
1.602 + </target>
1.603 + <target depends="-init-macrodef-junit" if="${junit.available}" name="-init-macrodef-junit-debug-impl">
1.604 + <macrodef name="test-debug-impl" uri="http://www.netbeans.org/ns/j2se-project/3">
1.605 + <attribute default="${includes}" name="includes"/>
1.606 + <attribute default="${excludes}" name="excludes"/>
1.607 + <attribute default="**" name="testincludes"/>
1.608 + <attribute default="" name="testmethods"/>
1.609 + <element name="customizeDebuggee" optional="true"/>
1.610 + <sequential>
1.611 + <j2seproject3:junit excludes="@{excludes}" includes="@{includes}" testincludes="@{testincludes}" testmethods="@{testmethods}">
1.612 + <customize>
1.613 + <jvmarg value="-agentlib:jdwp=transport=${debug-transport},address=${jpda.address}"/>
1.614 + <customizeDebuggee/>
1.615 + </customize>
1.616 + </j2seproject3:junit>
1.617 + </sequential>
1.618 + </macrodef>
1.619 + </target>
1.620 + <target if="${testng.available}" name="-init-macrodef-testng-debug">
1.621 + <macrodef name="testng-debug" uri="http://www.netbeans.org/ns/j2se-project/3">
1.622 + <attribute default="${main.class}" name="testClass"/>
1.623 + <attribute default="" name="testMethod"/>
1.624 + <element name="customize2" optional="true"/>
1.625 + <sequential>
1.626 + <condition else="-testclass @{testClass}" property="test.class.or.method" value="-methods @{testClass}.@{testMethod}">
1.627 + <isset property="test.method"/>
1.628 + </condition>
1.629 + <condition else="-suitename cloneproblem -testname @{testClass} ${test.class.or.method}" property="testng.cmd.args" value="@{testClass}">
1.630 + <matches pattern=".*\.xml" string="@{testClass}"/>
1.631 + </condition>
1.632 + <delete dir="${build.test.results.dir}" quiet="true"/>
1.633 + <mkdir dir="${build.test.results.dir}"/>
1.634 + <j2seproject3:debug classname="org.testng.TestNG" classpath="${debug.test.classpath}">
1.635 + <customizeDebuggee>
1.636 + <customize2/>
1.637 + <jvmarg value="-ea"/>
1.638 + <arg line="${testng.debug.mode}"/>
1.639 + <arg line="-d ${build.test.results.dir}"/>
1.640 + <arg line="-listener org.testng.reporters.VerboseReporter"/>
1.641 + <arg line="${testng.cmd.args}"/>
1.642 + </customizeDebuggee>
1.643 + </j2seproject3:debug>
1.644 + </sequential>
1.645 + </macrodef>
1.646 + </target>
1.647 + <target depends="-init-macrodef-testng-debug" if="${testng.available}" name="-init-macrodef-testng-debug-impl">
1.648 + <macrodef name="testng-debug-impl" uri="http://www.netbeans.org/ns/j2se-project/3">
1.649 + <attribute default="${main.class}" name="testClass"/>
1.650 + <attribute default="" name="testMethod"/>
1.651 + <element implicit="true" name="customize2" optional="true"/>
1.652 + <sequential>
1.653 + <j2seproject3:testng-debug testClass="@{testClass}" testMethod="@{testMethod}">
1.654 + <customize2/>
1.655 + </j2seproject3:testng-debug>
1.656 + </sequential>
1.657 + </macrodef>
1.658 + </target>
1.659 + <target depends="-init-macrodef-junit-debug-impl" if="${junit.available}" name="-init-macrodef-test-debug-junit">
1.660 + <macrodef name="test-debug" uri="http://www.netbeans.org/ns/j2se-project/3">
1.661 + <attribute default="${includes}" name="includes"/>
1.662 + <attribute default="${excludes}" name="excludes"/>
1.663 + <attribute default="**" name="testincludes"/>
1.664 + <attribute default="" name="testmethods"/>
1.665 + <attribute default="${main.class}" name="testClass"/>
1.666 + <attribute default="" name="testMethod"/>
1.667 + <sequential>
1.668 + <j2seproject3:test-debug-impl excludes="@{excludes}" includes="@{includes}" testincludes="@{testincludes}" testmethods="@{testmethods}">
1.669 + <customizeDebuggee>
1.670 + <jvmarg line="${run.jvmargs}"/>
1.671 + <jvmarg line="${run.jvmargs.ide}"/>
1.672 + </customizeDebuggee>
1.673 + </j2seproject3:test-debug-impl>
1.674 + </sequential>
1.675 + </macrodef>
1.676 + </target>
1.677 + <target depends="-init-macrodef-testng-debug-impl" if="${testng.available}" name="-init-macrodef-test-debug-testng">
1.678 + <macrodef name="test-debug" uri="http://www.netbeans.org/ns/j2se-project/3">
1.679 + <attribute default="${includes}" name="includes"/>
1.680 + <attribute default="${excludes}" name="excludes"/>
1.681 + <attribute default="**" name="testincludes"/>
1.682 + <attribute default="" name="testmethods"/>
1.683 + <attribute default="${main.class}" name="testClass"/>
1.684 + <attribute default="" name="testMethod"/>
1.685 + <sequential>
1.686 + <j2seproject3:testng-debug-impl testClass="@{testClass}" testMethod="@{testMethod}">
1.687 + <customize2>
1.688 + <syspropertyset>
1.689 + <propertyref prefix="test-sys-prop."/>
1.690 + <mapper from="test-sys-prop.*" to="*" type="glob"/>
1.691 + </syspropertyset>
1.692 + </customize2>
1.693 + </j2seproject3:testng-debug-impl>
1.694 + </sequential>
1.695 + </macrodef>
1.696 + </target>
1.697 + <target depends="-init-macrodef-test-debug-junit,-init-macrodef-test-debug-testng" name="-init-macrodef-test-debug"/>
1.698 + <!--
1.699 + pre NB7.2 profiling section; consider it deprecated
1.700 + -->
1.701 + <target depends="-profile-pre-init, init, -profile-post-init, -profile-init-macrodef-profile, -profile-init-check" if="profiler.info.jvmargs.agent" name="profile-init"/>
1.702 + <target if="profiler.info.jvmargs.agent" name="-profile-pre-init">
1.703 <!-- Empty placeholder for easier customization. -->
1.704 <!-- You can override this target in the ../build.xml file. -->
1.705 </target>
1.706 - <target name="-profile-post-init">
1.707 + <target if="profiler.info.jvmargs.agent" name="-profile-post-init">
1.708 <!-- Empty placeholder for easier customization. -->
1.709 <!-- You can override this target in the ../build.xml file. -->
1.710 </target>
1.711 - <target name="-profile-init-macrodef-profile">
1.712 + <target if="profiler.info.jvmargs.agent" name="-profile-init-macrodef-profile">
1.713 <macrodef name="resolve">
1.714 <attribute name="name"/>
1.715 <attribute name="value"/>
1.716 @@ -375,7 +811,8 @@
1.717 <sequential>
1.718 <property environment="env"/>
1.719 <resolve name="profiler.current.path" value="${profiler.info.pathvar}"/>
1.720 - <java classname="@{classname}" dir="${profiler.info.dir}" fork="true" jvm="${profiler.info.jvm}">
1.721 + <java classname="@{classname}" dir="${profiler.info.dir}" failonerror="${java.failonerror}" fork="true" jvm="${profiler.info.jvm}">
1.722 + <jvmarg line="${endorsed.classpath.cmd.line.arg}"/>
1.723 <jvmarg value="${profiler.info.jvmargs.agent}"/>
1.724 <jvmarg line="${profiler.info.jvmargs}"/>
1.725 <env key="${profiler.info.pathvar}" path="${profiler.info.agentpath}:${profiler.current.path}"/>
1.726 @@ -392,17 +829,24 @@
1.727 </sequential>
1.728 </macrodef>
1.729 </target>
1.730 - <target depends="-profile-pre-init, init, -profile-post-init, -profile-init-macrodef-profile" name="-profile-init-check">
1.731 + <target depends="-profile-pre-init, init, -profile-post-init, -profile-init-macrodef-profile" if="profiler.info.jvmargs.agent" name="-profile-init-check">
1.732 <fail unless="profiler.info.jvm">Must set JVM to use for profiling in profiler.info.jvm</fail>
1.733 <fail unless="profiler.info.jvmargs.agent">Must set profiler agent JVM arguments in profiler.info.jvmargs.agent</fail>
1.734 </target>
1.735 + <!--
1.736 + end of pre NB7.2 profiling section
1.737 + -->
1.738 <target depends="-init-debug-args" name="-init-macrodef-nbjpda">
1.739 <macrodef name="nbjpdastart" uri="http://www.netbeans.org/ns/j2se-project/1">
1.740 <attribute default="${main.class}" name="name"/>
1.741 + <attribute default="${debug.modulepath}" name="modulepath"/>
1.742 <attribute default="${debug.classpath}" name="classpath"/>
1.743 <attribute default="" name="stopclassname"/>
1.744 <sequential>
1.745 <nbjpdastart addressproperty="jpda.address" name="@{name}" stopclassname="@{stopclassname}" transport="${debug-transport}">
1.746 + <modulepath>
1.747 + <path path="@{modulepath}"/>
1.748 + </modulepath>
1.749 <classpath>
1.750 <path path="@{classpath}"/>
1.751 </classpath>
1.752 @@ -421,18 +865,6 @@
1.753 </macrodef>
1.754 </target>
1.755 <target name="-init-debug-args">
1.756 - <property name="version-output" value="java version "${ant.java.version}"/>
1.757 - <condition property="have-jdk-older-than-1.4">
1.758 - <or>
1.759 - <contains string="${version-output}" substring="java version "1.0"/>
1.760 - <contains string="${version-output}" substring="java version "1.1"/>
1.761 - <contains string="${version-output}" substring="java version "1.2"/>
1.762 - <contains string="${version-output}" substring="java version "1.3"/>
1.763 - </or>
1.764 - </condition>
1.765 - <condition else="-Xdebug" property="debug-args-line" value="-Xdebug -Xnoagent -Djava.compiler=none">
1.766 - <istrue value="${have-jdk-older-than-1.4}"/>
1.767 - </condition>
1.768 <condition else="dt_socket" property="debug-transport-by-os" value="dt_shmem">
1.769 <os family="windows"/>
1.770 </condition>
1.771 @@ -442,17 +874,103 @@
1.772 </target>
1.773 <target depends="-init-debug-args" name="-init-macrodef-debug">
1.774 <macrodef name="debug" uri="http://www.netbeans.org/ns/j2se-project/3">
1.775 + <attribute default="${module.name}" name="modulename"/>
1.776 <attribute default="${main.class}" name="classname"/>
1.777 + <attribute default="${debug.modulepath}" name="modulepath"/>
1.778 <attribute default="${debug.classpath}" name="classpath"/>
1.779 + <element name="customizeDebuggee" optional="true"/>
1.780 + <sequential>
1.781 + <j2seproject1:java classname="@{classname}" classpath="@{classpath}" modulename="@{modulename}" modulepath="@{modulepath}">
1.782 + <customize>
1.783 + <jvmarg value="-agentlib:jdwp=transport=${debug-transport},address=${jpda.address}"/>
1.784 + <customizeDebuggee/>
1.785 + </customize>
1.786 + </j2seproject1:java>
1.787 + </sequential>
1.788 + </macrodef>
1.789 + </target>
1.790 + <target depends="-init-source-module-properties" if="named.module.internal" name="-init-macrodef-java-with-module">
1.791 + <macrodef name="java" uri="http://www.netbeans.org/ns/j2se-project/1">
1.792 + <attribute default="${module.name}" name="modulename"/>
1.793 + <attribute default="${main.class}" name="classname"/>
1.794 + <attribute default="${run.modulepath}" name="modulepath"/>
1.795 + <attribute default="${run.upgrademodulepath}" name="upgrademodulepath"/>
1.796 + <attribute default="${run.classpath}" name="classpath"/>
1.797 + <attribute default="jvm" name="jvm"/>
1.798 <element name="customize" optional="true"/>
1.799 <sequential>
1.800 - <java classname="@{classname}" dir="${work.dir}" fork="true">
1.801 - <jvmarg line="${endorsed.classpath.cmd.line.arg}"/>
1.802 - <jvmarg line="${debug-args-line}"/>
1.803 - <jvmarg value="-Xrunjdwp:transport=${debug-transport},address=${jpda.address}"/>
1.804 + <java classname="@{classname}" dir="${work.dir}" failonerror="${java.failonerror}" fork="true" module="@{modulename}">
1.805 + <classpath>
1.806 + <path path="@{classpath}"/>
1.807 + </classpath>
1.808 + <modulepath>
1.809 + <pathelement path="@{modulepath}"/>
1.810 + <pathelement location="${module.build.classes.dir}"/>
1.811 + </modulepath>
1.812 + <upgrademodulepath>
1.813 + <path path="@{upgrademodulepath}"/>
1.814 + </upgrademodulepath>
1.815 <jvmarg value="-Dfile.encoding=${runtime.encoding}"/>
1.816 <redirector errorencoding="${runtime.encoding}" inputencoding="${runtime.encoding}" outputencoding="${runtime.encoding}"/>
1.817 <jvmarg line="${run.jvmargs}"/>
1.818 + <jvmarg line="${run.jvmargs.ide}"/>
1.819 + <syspropertyset>
1.820 + <propertyref prefix="run-sys-prop."/>
1.821 + <mapper from="run-sys-prop.*" to="*" type="glob"/>
1.822 + </syspropertyset>
1.823 + <customize/>
1.824 + </java>
1.825 + </sequential>
1.826 + </macrodef>
1.827 + </target>
1.828 + <target depends="-init-source-module-properties" if="unnamed.module.internal" name="-init-macrodef-java-with-unnamed-module">
1.829 + <macrodef name="java" uri="http://www.netbeans.org/ns/j2se-project/1">
1.830 + <attribute default="" name="modulename"/>
1.831 + <attribute default="${main.class}" name="classname"/>
1.832 + <attribute default="${run.modulepath}" name="modulepath"/>
1.833 + <attribute default="${run.upgrademodulepath}" name="upgrademodulepath"/>
1.834 + <attribute default="${run.classpath}" name="classpath"/>
1.835 + <attribute default="jvm" name="jvm"/>
1.836 + <element name="customize" optional="true"/>
1.837 + <sequential>
1.838 + <java classname="@{classname}" dir="${work.dir}" failonerror="${java.failonerror}" fork="true">
1.839 + <classpath>
1.840 + <path path="@{classpath}"/>
1.841 + </classpath>
1.842 + <modulepath>
1.843 + <path path="@{modulepath}"/>
1.844 + </modulepath>
1.845 + <upgrademodulepath>
1.846 + <path path="@{upgrademodulepath}"/>
1.847 + </upgrademodulepath>
1.848 + <jvmarg value="-Dfile.encoding=${runtime.encoding}"/>
1.849 + <redirector errorencoding="${runtime.encoding}" inputencoding="${runtime.encoding}" outputencoding="${runtime.encoding}"/>
1.850 + <jvmarg line="${run.jvmargs}"/>
1.851 + <jvmarg line="${run.jvmargs.ide}"/>
1.852 + <syspropertyset>
1.853 + <propertyref prefix="run-sys-prop."/>
1.854 + <mapper from="run-sys-prop.*" to="*" type="glob"/>
1.855 + </syspropertyset>
1.856 + <customize/>
1.857 + </java>
1.858 + </sequential>
1.859 + </macrodef>
1.860 + </target>
1.861 + <target depends="-init-source-module-properties" name="-init-macrodef-java-without-module" unless="modules.supported.internal">
1.862 + <macrodef name="java" uri="http://www.netbeans.org/ns/j2se-project/1">
1.863 + <attribute default="" name="modulename"/>
1.864 + <attribute default="${main.class}" name="classname"/>
1.865 + <attribute default="" name="modulepath"/>
1.866 + <attribute default="${run.classpath}" name="classpath"/>
1.867 + <attribute default="jvm" name="jvm"/>
1.868 + <element name="customize" optional="true"/>
1.869 + <sequential>
1.870 + <java classname="@{classname}" dir="${work.dir}" failonerror="${java.failonerror}" fork="true">
1.871 + <jvmarg line="${endorsed.classpath.cmd.line.arg}"/>
1.872 + <jvmarg value="-Dfile.encoding=${runtime.encoding}"/>
1.873 + <redirector errorencoding="${runtime.encoding}" inputencoding="${runtime.encoding}" outputencoding="${runtime.encoding}"/>
1.874 + <jvmarg line="${run.jvmargs}"/>
1.875 + <jvmarg line="${run.jvmargs.ide}"/>
1.876 <classpath>
1.877 <path path="@{classpath}"/>
1.878 </classpath>
1.879 @@ -465,29 +983,7 @@
1.880 </sequential>
1.881 </macrodef>
1.882 </target>
1.883 - <target name="-init-macrodef-java">
1.884 - <macrodef name="java" uri="http://www.netbeans.org/ns/j2se-project/1">
1.885 - <attribute default="${main.class}" name="classname"/>
1.886 - <attribute default="${run.classpath}" name="classpath"/>
1.887 - <element name="customize" optional="true"/>
1.888 - <sequential>
1.889 - <java classname="@{classname}" dir="${work.dir}" fork="true">
1.890 - <jvmarg line="${endorsed.classpath.cmd.line.arg}"/>
1.891 - <jvmarg value="-Dfile.encoding=${runtime.encoding}"/>
1.892 - <redirector errorencoding="${runtime.encoding}" inputencoding="${runtime.encoding}" outputencoding="${runtime.encoding}"/>
1.893 - <jvmarg line="${run.jvmargs}"/>
1.894 - <classpath>
1.895 - <path path="@{classpath}"/>
1.896 - </classpath>
1.897 - <syspropertyset>
1.898 - <propertyref prefix="run-sys-prop."/>
1.899 - <mapper from="run-sys-prop.*" to="*" type="glob"/>
1.900 - </syspropertyset>
1.901 - <customize/>
1.902 - </java>
1.903 - </sequential>
1.904 - </macrodef>
1.905 - </target>
1.906 + <target depends="-init-macrodef-java-with-module, -init-macrodef-java-with-unnamed-module, -init-macrodef-java-without-module" name="-init-macrodef-java"/>
1.907 <target name="-init-macrodef-copylibs">
1.908 <macrodef name="copylibs" uri="http://www.netbeans.org/ns/j2se-project/3">
1.909 <attribute default="${manifest.file}" name="manifest"/>
1.910 @@ -502,12 +998,15 @@
1.911 <path path="${run.classpath.without.build.classes.dir}"/>
1.912 <chainedmapper>
1.913 <flattenmapper/>
1.914 + <filtermapper>
1.915 + <replacestring from=" " to="%20"/>
1.916 + </filtermapper>
1.917 <globmapper from="*" to="lib/*"/>
1.918 </chainedmapper>
1.919 </pathconvert>
1.920 <taskdef classname="org.netbeans.modules.java.j2seproject.copylibstask.CopyLibs" classpath="${libs.CopyLibs.classpath}" name="copylibs"/>
1.921 - <copylibs compress="${jar.compress}" index="${jar.index}" indexMetaInf="${jar.index.metainf}" jarfile="${dist.jar}" manifest="@{manifest}" runtimeclasspath="${run.classpath.without.build.classes.dir}">
1.922 - <fileset dir="${build.classes.dir}"/>
1.923 + <copylibs compress="${jar.compress}" excludeFromCopy="${copylibs.excludes}" index="${jar.index}" indexMetaInf="${jar.index.metainf}" jarfile="${dist.jar}" manifest="@{manifest}" manifestencoding="UTF-8" rebase="${copylibs.rebase}" runtimeclasspath="${run.classpath.without.build.classes.dir}">
1.924 + <fileset dir="${build.classes.dir}" excludes="${dist.archive.excludes}"/>
1.925 <manifest>
1.926 <attribute name="Class-Path" value="${jar.classpath}"/>
1.927 <customize/>
1.928 @@ -518,8 +1017,8 @@
1.929 </target>
1.930 <target name="-init-presetdef-jar">
1.931 <presetdef name="jar" uri="http://www.netbeans.org/ns/j2se-project/1">
1.932 - <jar compress="${jar.compress}" index="${jar.index}" jarfile="${dist.jar}">
1.933 - <j2seproject1:fileset dir="${build.classes.dir}"/>
1.934 + <jar compress="${jar.compress}" index="${jar.index}" jarfile="${dist.jar}" manifestencoding="UTF-8">
1.935 + <j2seproject1:fileset dir="${build.classes.dir}" excludes="${dist.archive.excludes}"/>
1.936 </jar>
1.937 </presetdef>
1.938 </target>
1.939 @@ -547,7 +1046,7 @@
1.940 <target depends="-init-ap-cmdline-properties,-init-ap-cmdline-supported" name="-init-ap-cmdline">
1.941 <property name="ap.cmd.line.internal" value=""/>
1.942 </target>
1.943 - <target depends="-pre-init,-init-private,-init-user,-init-project,-do-init,-post-init,-init-check,-init-macrodef-property,-init-macrodef-javac,-init-macrodef-junit,-init-macrodef-nbjpda,-init-macrodef-debug,-init-macrodef-java,-init-presetdef-jar,-init-ap-cmdline" name="init"/>
1.944 + <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"/>
1.945 <!--
1.946 ===================
1.947 COMPILATION SECTION
1.948 @@ -574,7 +1073,9 @@
1.949 <available file="${build.classes.dir}/.netbeans_automatic_build" property="netbeans.automatic.build"/>
1.950 </target>
1.951 <target depends="init" if="netbeans.automatic.build" name="-clean-after-automatic-build">
1.952 - <antcall target="clean"/>
1.953 + <antcall target="clean">
1.954 + <param name="no.dependencies" value="true"/>
1.955 + </antcall>
1.956 </target>
1.957 <target depends="init,deps-jar" name="-pre-pre-compile">
1.958 <mkdir dir="${build.classes.dir}"/>
1.959 @@ -600,7 +1101,7 @@
1.960 <target if="has.persistence.xml" name="-copy-persistence-xml">
1.961 <mkdir dir="${build.classes.dir}/META-INF"/>
1.962 <copy todir="${build.classes.dir}/META-INF">
1.963 - <fileset dir="${meta.inf.dir}" includes="persistence.xml"/>
1.964 + <fileset dir="${meta.inf.dir}" includes="persistence.xml orm.xml"/>
1.965 </copy>
1.966 </target>
1.967 <target name="-post-compile">
1.968 @@ -615,7 +1116,7 @@
1.969 <target depends="init,deps-jar,-pre-pre-compile" name="-do-compile-single">
1.970 <fail unless="javac.includes">Must select some files in the IDE or set javac.includes</fail>
1.971 <j2seproject3:force-recompile/>
1.972 - <j2seproject3:javac excludes="" gensrcdir="${build.generated.sources.dir}" includes="${javac.includes}" sourcepath="${src.dir}"/>
1.973 + <j2seproject3:javac excludes="" gensrcdir="${build.generated.sources.dir}" includes="${javac.includes}, module-info.java" sourcepath="${src.dir}"/>
1.974 </target>
1.975 <target name="-post-compile-single">
1.976 <!-- Empty placeholder for easier customization. -->
1.977 @@ -635,65 +1136,191 @@
1.978 <!-- Empty placeholder for easier customization. -->
1.979 <!-- You can override this target in the ../build.xml file. -->
1.980 </target>
1.981 - <target depends="init,compile,-pre-pre-jar,-pre-jar" if="do.archive" name="-do-jar-without-manifest" unless="manifest.available-mkdist.available">
1.982 - <j2seproject1:jar/>
1.983 + <target depends="init,compile" name="-check-module-main-class">
1.984 + <pathconvert property="main.class.file">
1.985 + <string value="${main.class}"/>
1.986 + <unpackagemapper from="*" to="*.class"/>
1.987 + </pathconvert>
1.988 + <condition property="do.module.main.class">
1.989 + <and>
1.990 + <isset property="main.class.available"/>
1.991 + <available file="${build.classes.dir}/module-info.class"/>
1.992 + <available file="${build.classes.dir}/${main.class.file}"/>
1.993 + <isset property="libs.CopyLibs.classpath"/>
1.994 + <available classname="org.netbeans.modules.java.j2seproject.moduletask.ModuleMainClass" classpath="${libs.CopyLibs.classpath}"/>
1.995 + </and>
1.996 + </condition>
1.997 </target>
1.998 - <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">
1.999 - <j2seproject1:jar manifest="${manifest.file}"/>
1.1000 + <target depends="-check-module-main-class" if="do.module.main.class" name="-set-module-main-class">
1.1001 + <taskdef classname="org.netbeans.modules.java.j2seproject.moduletask.ModuleMainClass" classpath="${libs.CopyLibs.classpath}" name="modulemainclass"/>
1.1002 + <modulemainclass failonerror="false" mainclass="${main.class}" moduleinfo="${build.classes.dir}/module-info.class"/>
1.1003 </target>
1.1004 - <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">
1.1005 - <j2seproject1:jar manifest="${manifest.file}">
1.1006 - <j2seproject1:manifest>
1.1007 - <j2seproject1:attribute name="Main-Class" value="${main.class}"/>
1.1008 - </j2seproject1:manifest>
1.1009 - </j2seproject1:jar>
1.1010 - <echo level="info">To run this application from the command line without Ant, try:</echo>
1.1011 - <property location="${build.classes.dir}" name="build.classes.dir.resolved"/>
1.1012 - <property location="${dist.jar}" name="dist.jar.resolved"/>
1.1013 - <pathconvert property="run.classpath.with.dist.jar">
1.1014 - <path path="${run.classpath}"/>
1.1015 - <map from="${build.classes.dir.resolved}" to="${dist.jar.resolved}"/>
1.1016 - </pathconvert>
1.1017 - <echo level="info">java -cp "${run.classpath.with.dist.jar}" ${main.class}</echo>
1.1018 - </target>
1.1019 - <target depends="init" if="do.archive" name="-do-jar-with-libraries-create-manifest" unless="manifest.available">
1.1020 + <target depends="init" if="do.archive" name="-do-jar-create-manifest" unless="manifest.available">
1.1021 <tempfile deleteonexit="true" destdir="${build.dir}" property="tmp.manifest.file"/>
1.1022 <touch file="${tmp.manifest.file}" verbose="false"/>
1.1023 </target>
1.1024 - <target depends="init" if="do.archive+manifest.available" name="-do-jar-with-libraries-copy-manifest">
1.1025 + <target depends="init" if="do.archive+manifest.available" name="-do-jar-copy-manifest">
1.1026 <tempfile deleteonexit="true" destdir="${build.dir}" property="tmp.manifest.file"/>
1.1027 - <copy file="${manifest.file}" tofile="${tmp.manifest.file}"/>
1.1028 + <copy encoding="${manifest.encoding}" file="${manifest.file}" outputencoding="UTF-8" tofile="${tmp.manifest.file}"/>
1.1029 </target>
1.1030 - <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">
1.1031 - <manifest file="${tmp.manifest.file}" mode="update">
1.1032 + <target depends="init,-do-jar-create-manifest,-do-jar-copy-manifest" if="do.archive+main.class.available" name="-do-jar-set-mainclass">
1.1033 + <manifest encoding="UTF-8" file="${tmp.manifest.file}" mode="update">
1.1034 <attribute name="Main-Class" value="${main.class}"/>
1.1035 </manifest>
1.1036 </target>
1.1037 - <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">
1.1038 + <target depends="init,-do-jar-create-manifest,-do-jar-copy-manifest" if="do.archive+profile.available" name="-do-jar-set-profile">
1.1039 + <manifest encoding="UTF-8" file="${tmp.manifest.file}" mode="update">
1.1040 + <attribute name="Profile" value="${javac.profile}"/>
1.1041 + </manifest>
1.1042 + </target>
1.1043 + <target depends="init,-do-jar-create-manifest,-do-jar-copy-manifest" if="do.archive+splashscreen.available" name="-do-jar-set-splashscreen">
1.1044 <basename file="${application.splash}" property="splashscreen.basename"/>
1.1045 <mkdir dir="${build.classes.dir}/META-INF"/>
1.1046 <copy failonerror="false" file="${application.splash}" todir="${build.classes.dir}/META-INF"/>
1.1047 - <manifest file="${tmp.manifest.file}" mode="update">
1.1048 + <manifest encoding="UTF-8" file="${tmp.manifest.file}" mode="update">
1.1049 <attribute name="SplashScreen-Image" value="META-INF/${splashscreen.basename}"/>
1.1050 </manifest>
1.1051 </target>
1.1052 - <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">
1.1053 + <target depends="init,compile" name="-check-do-mkdist">
1.1054 + <condition property="do.mkdist">
1.1055 + <and>
1.1056 + <isset property="do.archive"/>
1.1057 + <isset property="libs.CopyLibs.classpath"/>
1.1058 + <not>
1.1059 + <istrue value="${mkdist.disabled}"/>
1.1060 + </not>
1.1061 + <not>
1.1062 + <available file="${build.classes.dir}/module-info.class"/>
1.1063 + </not>
1.1064 + </and>
1.1065 + </condition>
1.1066 + </target>
1.1067 + <target depends="init,-init-macrodef-copylibs,compile,-pre-pre-jar,-pre-jar,-do-jar-create-manifest,-do-jar-copy-manifest,-do-jar-set-mainclass,-do-jar-set-profile,-do-jar-set-splashscreen,-check-do-mkdist" if="do.mkdist" name="-do-jar-copylibs">
1.1068 <j2seproject3:copylibs manifest="${tmp.manifest.file}"/>
1.1069 <echo level="info">To run this application from the command line without Ant, try:</echo>
1.1070 <property location="${dist.jar}" name="dist.jar.resolved"/>
1.1071 <echo level="info">java -jar "${dist.jar.resolved}"</echo>
1.1072 </target>
1.1073 - <target depends="-do-jar-with-libraries-pack" if="do.archive" name="-do-jar-with-libraries-delete-manifest">
1.1074 + <target depends="init,compile,-pre-pre-jar,-pre-jar,-do-jar-create-manifest,-do-jar-copy-manifest,-do-jar-set-mainclass,-do-jar-set-profile,-do-jar-set-splashscreen,-check-do-mkdist" if="do.archive" name="-do-jar-jar" unless="do.mkdist">
1.1075 + <j2seproject1:jar manifest="${tmp.manifest.file}"/>
1.1076 + <property location="${build.classes.dir}" name="build.classes.dir.resolved"/>
1.1077 + <property location="${dist.jar}" name="dist.jar.resolved"/>
1.1078 + <condition else="${dist.jar.resolved}" property="jar.usage.message.class.path.replacement" value="">
1.1079 + <isset property="named.module.internal"/>
1.1080 + </condition>
1.1081 + <pathconvert property="run.classpath.with.dist.jar">
1.1082 + <path path="${run.classpath}"/>
1.1083 + <map from="${build.classes.dir.resolved}" to="${jar.usage.message.class.path.replacement}"/>
1.1084 + </pathconvert>
1.1085 + <pathconvert property="run.modulepath.with.dist.jar">
1.1086 + <path location="${dist.jar.resolved}"/>
1.1087 + <path path="${run.modulepath}"/>
1.1088 + <map from="${build.classes.dir.resolved}" to="${dist.jar.resolved}"/>
1.1089 + </pathconvert>
1.1090 + <condition else="${run.modulepath}" property="jar.usage.message.run.modulepath.with.dist.jar" value="${run.modulepath.with.dist.jar}">
1.1091 + <isset property="named.module.internal"/>
1.1092 + </condition>
1.1093 + <condition else="" property="jar.usage.message.module.path" value=" -p ${jar.usage.message.run.modulepath.with.dist.jar}">
1.1094 + <and>
1.1095 + <isset property="modules.supported.internal"/>
1.1096 + <length length="0" string="${jar.usage.message.run.modulepath.with.dist.jar}" when="greater"/>
1.1097 + </and>
1.1098 + </condition>
1.1099 + <condition else="" property="jar.usage.message.class.path" value=" -cp ${run.classpath.with.dist.jar}">
1.1100 + <length length="0" string="${run.classpath.with.dist.jar}" when="greater"/>
1.1101 + </condition>
1.1102 + <condition else="/${main.class}" property="jar.usage.message.main.class.class.selector" value="">
1.1103 + <isset property="do.module.main.class"/>
1.1104 + </condition>
1.1105 + <condition else=" ${main.class}" property="jar.usage.message.main.class" value=" -m ${module.name}${jar.usage.message.main.class.class.selector}">
1.1106 + <isset property="named.module.internal"/>
1.1107 + </condition>
1.1108 + <condition else="" property="jar.usage.message" value="To run this application from the command line without Ant, try:${line.separator}${platform.java}${jar.usage.message.module.path}${jar.usage.message.class.path}${jar.usage.message.main.class}">
1.1109 + <isset property="main.class.available"/>
1.1110 + </condition>
1.1111 + <condition else="debug" property="jar.usage.level" value="info">
1.1112 + <isset property="main.class.available"/>
1.1113 + </condition>
1.1114 + <echo level="${jar.usage.level}" message="${jar.usage.message}"/>
1.1115 + </target>
1.1116 + <target depends="-do-jar-copylibs" if="do.archive" name="-do-jar-delete-manifest">
1.1117 <delete>
1.1118 <fileset file="${tmp.manifest.file}"/>
1.1119 </delete>
1.1120 </target>
1.1121 - <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"/>
1.1122 + <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"/>
1.1123 + <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"/>
1.1124 <target name="-post-jar">
1.1125 <!-- Empty placeholder for easier customization. -->
1.1126 <!-- You can override this target in the ../build.xml file. -->
1.1127 </target>
1.1128 - <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"/>
1.1129 + <target depends="init,compile,-pre-jar,-set-module-main-class,-do-jar-without-libraries,-do-jar-with-libraries,-post-jar" name="-do-jar"/>
1.1130 + <target depends="init,compile,-pre-jar,-do-jar,-post-jar,deploy" description="Build JAR." name="jar"/>
1.1131 + <!--
1.1132 + =================
1.1133 + DEPLOY SECTION
1.1134 + =================
1.1135 + -->
1.1136 + <target name="-pre-deploy">
1.1137 + <!-- Empty placeholder for easier customization. -->
1.1138 + <!-- You can override this target in the ../build.xml file. -->
1.1139 + </target>
1.1140 + <target depends="init" name="-check-jlink">
1.1141 + <condition property="do.jlink.internal">
1.1142 + <and>
1.1143 + <istrue value="${do.jlink}"/>
1.1144 + <isset property="do.archive"/>
1.1145 + <isset property="named.module.internal"/>
1.1146 + </and>
1.1147 + </condition>
1.1148 + </target>
1.1149 + <target depends="init,-do-jar,-post-jar,-pre-deploy,-check-jlink" if="do.jlink.internal" name="-do-deploy">
1.1150 + <delete dir="${dist.jlink.dir}" failonerror="false" quiet="true"/>
1.1151 + <property name="jlink.launcher.name" value="${application.title}"/>
1.1152 + <condition else="${module.name}" property="jlink.add.modules" value="${module.name},${jlink.additionalmodules}">
1.1153 + <and>
1.1154 + <isset property="jlink.additionalmodules"/>
1.1155 + <length length="0" string="${jlink.additionalmodules}" when="greater"/>
1.1156 + </and>
1.1157 + </condition>
1.1158 + <condition property="jlink.do.strip.internal">
1.1159 + <and>
1.1160 + <isset property="jlink.strip"/>
1.1161 + <istrue value="${jlink.strip}"/>
1.1162 + </and>
1.1163 + </condition>
1.1164 + <condition property="jlink.do.additionalparam.internal">
1.1165 + <and>
1.1166 + <isset property="jlink.additionalparam"/>
1.1167 + <length length="0" string="${jlink.additionalparam}" when="greater"/>
1.1168 + </and>
1.1169 + </condition>
1.1170 + <condition property="jlink.do.launcher.internal">
1.1171 + <and>
1.1172 + <istrue value="${jlink.launcher}"/>
1.1173 + <isset property="main.class.available"/>
1.1174 + </and>
1.1175 + </condition>
1.1176 + <property name="platform.jlink" value="${jdk.home}/bin/jlink"/>
1.1177 + <property name="jlink.systemmodules.internal" value="${jdk.home}/jmods"/>
1.1178 + <exec executable="${platform.jlink}">
1.1179 + <arg value="--module-path"/>
1.1180 + <arg path="${jlink.systemmodules.internal}:${run.modulepath}:${dist.jar}"/>
1.1181 + <arg value="--add-modules"/>
1.1182 + <arg value="${jlink.add.modules}"/>
1.1183 + <arg if:set="jlink.do.strip.internal" value="--strip-debug"/>
1.1184 + <arg if:set="jlink.do.launcher.internal" value="--launcher"/>
1.1185 + <arg if:set="jlink.do.launcher.internal" value="${jlink.launcher.name}=${module.name}/${main.class}"/>
1.1186 + <arg if:set="jlink.do.additionalparam.internal" line="${jlink.additionalparam}"/>
1.1187 + <arg value="--output"/>
1.1188 + <arg value="${dist.jlink.output}"/>
1.1189 + </exec>
1.1190 + </target>
1.1191 + <target name="-post-deploy">
1.1192 + <!-- Empty placeholder for easier customization. -->
1.1193 + <!-- You can override this target in the ../build.xml file. -->
1.1194 + </target>
1.1195 + <target depends="-do-jar,-post-jar,-pre-deploy,-do-deploy,-post-deploy" name="deploy"/>
1.1196 <!--
1.1197 =================
1.1198 EXECUTION SECTION
1.1199 @@ -730,9 +1357,9 @@
1.1200 </target>
1.1201 <target depends="init,compile" name="-debug-start-debuggee">
1.1202 <j2seproject3:debug>
1.1203 - <customize>
1.1204 + <customizeDebuggee>
1.1205 <arg line="${application.args}"/>
1.1206 - </customize>
1.1207 + </customizeDebuggee>
1.1208 </j2seproject3:debug>
1.1209 </target>
1.1210 <target depends="init,compile,-debug-start-debugger,-debug-start-debuggee" description="Debug project in IDE." if="netbeans.home" name="debug"/>
1.1211 @@ -763,7 +1390,11 @@
1.1212 PROFILING SECTION
1.1213 =================
1.1214 -->
1.1215 - <target depends="profile-init,compile" description="Profile a project in the IDE." if="netbeans.home" name="profile">
1.1216 + <!--
1.1217 + pre NB7.2 profiler integration
1.1218 + -->
1.1219 + <target depends="profile-init,compile" description="Profile a project in the IDE." if="profiler.info.jvmargs.agent" name="-profile-pre72">
1.1220 + <fail unless="netbeans.home">This target only works when run from inside the NetBeans IDE.</fail>
1.1221 <nbprofiledirect>
1.1222 <classpath>
1.1223 <path path="${run.classpath}"/>
1.1224 @@ -771,8 +1402,9 @@
1.1225 </nbprofiledirect>
1.1226 <profile/>
1.1227 </target>
1.1228 - <target depends="profile-init,compile-single" description="Profile a selected class in the IDE." if="netbeans.home" name="profile-single">
1.1229 + <target depends="profile-init,compile-single" description="Profile a selected class in the IDE." if="profiler.info.jvmargs.agent" name="-profile-single-pre72">
1.1230 <fail unless="profile.class">Must select one file in the IDE or set profile.class</fail>
1.1231 + <fail unless="netbeans.home">This target only works when run from inside the NetBeans IDE.</fail>
1.1232 <nbprofiledirect>
1.1233 <classpath>
1.1234 <path path="${run.classpath}"/>
1.1235 @@ -780,12 +1412,8 @@
1.1236 </nbprofiledirect>
1.1237 <profile classname="${profile.class}"/>
1.1238 </target>
1.1239 - <!--
1.1240 - =========================
1.1241 - APPLET PROFILING SECTION
1.1242 - =========================
1.1243 - -->
1.1244 - <target depends="profile-init,compile-single" if="netbeans.home" name="profile-applet">
1.1245 + <target depends="profile-init,compile-single" if="profiler.info.jvmargs.agent" name="-profile-applet-pre72">
1.1246 + <fail unless="netbeans.home">This target only works when run from inside the NetBeans IDE.</fail>
1.1247 <nbprofiledirect>
1.1248 <classpath>
1.1249 <path path="${run.classpath}"/>
1.1250 @@ -797,32 +1425,60 @@
1.1251 </customize>
1.1252 </profile>
1.1253 </target>
1.1254 - <!--
1.1255 - =========================
1.1256 - TESTS PROFILING SECTION
1.1257 - =========================
1.1258 - -->
1.1259 - <target depends="profile-init,compile-test-single" if="netbeans.home" name="profile-test-single">
1.1260 + <target depends="-init-macrodef-junit,profile-init,compile-test-single" if="profiler.info.jvmargs.agent" name="-profile-test-single-pre72">
1.1261 + <fail unless="netbeans.home">This target only works when run from inside the NetBeans IDE.</fail>
1.1262 <nbprofiledirect>
1.1263 <classpath>
1.1264 <path path="${run.test.classpath}"/>
1.1265 </classpath>
1.1266 </nbprofiledirect>
1.1267 - <junit dir="${profiler.info.dir}" errorproperty="tests.failed" failureproperty="tests.failed" fork="true" jvm="${profiler.info.jvm}" showoutput="true">
1.1268 - <env key="${profiler.info.pathvar}" path="${profiler.info.agentpath}:${profiler.current.path}"/>
1.1269 - <jvmarg value="${profiler.info.jvmargs.agent}"/>
1.1270 - <jvmarg line="${profiler.info.jvmargs}"/>
1.1271 - <test name="${profile.class}"/>
1.1272 - <classpath>
1.1273 - <path path="${run.test.classpath}"/>
1.1274 - </classpath>
1.1275 - <syspropertyset>
1.1276 - <propertyref prefix="test-sys-prop."/>
1.1277 - <mapper from="test-sys-prop.*" to="*" type="glob"/>
1.1278 - </syspropertyset>
1.1279 - <formatter type="brief" usefile="false"/>
1.1280 - <formatter type="xml"/>
1.1281 - </junit>
1.1282 + <j2seproject3:junit excludes="${excludes}" includes="${includes}" testincludes="${profile.class}" testmethods="">
1.1283 + <customize>
1.1284 + <jvmarg value="-agentlib:jdwp=transport=${debug-transport},address=${jpda.address}"/>
1.1285 + <env key="${profiler.info.pathvar}" path="${profiler.info.agentpath}:${profiler.current.path}"/>
1.1286 + <jvmarg value="${profiler.info.jvmargs.agent}"/>
1.1287 + <jvmarg line="${profiler.info.jvmargs}"/>
1.1288 + <classpath>
1.1289 + <path path="${run.test.classpath}"/>
1.1290 + </classpath>
1.1291 + </customize>
1.1292 + </j2seproject3:junit>
1.1293 + </target>
1.1294 + <!--
1.1295 + end of pre NB72 profiling section
1.1296 + -->
1.1297 + <target if="netbeans.home" name="-profile-check">
1.1298 + <condition property="profiler.configured">
1.1299 + <or>
1.1300 + <contains casesensitive="true" string="${run.jvmargs.ide}" substring="-agentpath:"/>
1.1301 + <contains casesensitive="true" string="${run.jvmargs.ide}" substring="-javaagent:"/>
1.1302 + </or>
1.1303 + </condition>
1.1304 + </target>
1.1305 + <target depends="-profile-check,-profile-pre72" description="Profile a project in the IDE." if="profiler.configured" name="profile" unless="profiler.info.jvmargs.agent">
1.1306 + <startprofiler/>
1.1307 + <antcall target="run"/>
1.1308 + </target>
1.1309 + <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">
1.1310 + <fail unless="run.class">Must select one file in the IDE or set run.class</fail>
1.1311 + <startprofiler/>
1.1312 + <antcall target="run-single"/>
1.1313 + </target>
1.1314 + <target depends="-profile-test-single-pre72" description="Profile a selected test in the IDE." name="profile-test-single"/>
1.1315 + <target depends="-profile-check" description="Profile a selected test in the IDE." if="profiler.configured" name="profile-test" unless="profiler.info.jvmargs">
1.1316 + <fail unless="test.includes">Must select some files in the IDE or set test.includes</fail>
1.1317 + <startprofiler/>
1.1318 + <antcall target="test-single"/>
1.1319 + </target>
1.1320 + <target depends="-profile-check" description="Profile a selected class in the IDE." if="profiler.configured" name="profile-test-with-main">
1.1321 + <fail unless="run.class">Must select one file in the IDE or set run.class</fail>
1.1322 + <startprofiler/>
1.1323 + <antcall target="run-test-with-main"/>
1.1324 + </target>
1.1325 + <target depends="-profile-check,-profile-applet-pre72" if="profiler.configured" name="profile-applet" unless="profiler.info.jvmargs.agent">
1.1326 + <fail unless="applet.url">Must select one file in the IDE or set applet.url</fail>
1.1327 + <startprofiler/>
1.1328 + <antcall target="run-applet"/>
1.1329 </target>
1.1330 <!--
1.1331 ===============
1.1332 @@ -831,16 +1487,36 @@
1.1333 -->
1.1334 <target depends="init" if="have.sources" name="-javadoc-build">
1.1335 <mkdir dir="${dist.javadoc.dir}"/>
1.1336 - <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}">
1.1337 + <condition else="" property="javadoc.endorsed.classpath.cmd.line.arg" value="-J${endorsed.classpath.cmd.line.arg}">
1.1338 + <and>
1.1339 + <isset property="endorsed.classpath.cmd.line.arg"/>
1.1340 + <not>
1.1341 + <equals arg1="${endorsed.classpath.cmd.line.arg}" arg2=""/>
1.1342 + </not>
1.1343 + </and>
1.1344 + </condition>
1.1345 + <condition else="" property="bug5101868workaround" value="*.java">
1.1346 + <matches pattern="1\.[56](\..*)?" string="${java.version}"/>
1.1347 + </condition>
1.1348 + <condition else="" property="javadoc.html5.cmd.line.arg" value="-html5">
1.1349 + <and>
1.1350 + <isset property="javadoc.html5"/>
1.1351 + <available file="${jdk.home}${file.separator}lib${file.separator}jrt-fs.jar"/>
1.1352 + </and>
1.1353 + </condition>
1.1354 + <javadoc additionalparam="-J-Dfile.encoding=${file.encoding} ${javadoc.additionalparam}" author="${javadoc.author}" charset="UTF-8" destdir="${dist.javadoc.dir}" docencoding="UTF-8" encoding="${javadoc.encoding.used}" failonerror="true" noindex="${javadoc.noindex}" nonavbar="${javadoc.nonavbar}" notree="${javadoc.notree}" private="${javadoc.private}" source="${javac.source}" splitindex="${javadoc.splitindex}" use="${javadoc.use}" useexternalfile="true" version="${javadoc.version}" windowtitle="${javadoc.windowtitle}">
1.1355 <classpath>
1.1356 <path path="${javac.classpath}"/>
1.1357 </classpath>
1.1358 - <fileset dir="${src.dir}" excludes="${excludes}" includes="${includes}">
1.1359 + <fileset dir="${src.dir}" excludes="${bug5101868workaround},${excludes}" includes="${includes}">
1.1360 <filename name="**/*.java"/>
1.1361 </fileset>
1.1362 <fileset dir="${build.generated.sources.dir}" erroronmissingdir="false">
1.1363 <include name="**/*.java"/>
1.1364 + <exclude name="*.java"/>
1.1365 </fileset>
1.1366 + <arg line="${javadoc.endorsed.classpath.cmd.line.arg}"/>
1.1367 + <arg line="${javadoc.html5.cmd.line.arg}"/>
1.1368 </javadoc>
1.1369 <copy todir="${dist.javadoc.dir}">
1.1370 <fileset dir="${src.dir}" excludes="${excludes}" includes="${includes}">
1.1371 @@ -857,7 +1533,7 @@
1.1372 <target depends="init,-javadoc-build,-javadoc-browse" description="Build Javadoc." name="javadoc"/>
1.1373 <!--
1.1374 =========================
1.1375 - JUNIT COMPILATION SECTION
1.1376 + TEST COMPILATION SECTION
1.1377 =========================
1.1378 -->
1.1379 <target depends="init,compile" if="have.tests" name="-pre-pre-compile-test">
1.1380 @@ -867,11 +1543,63 @@
1.1381 <!-- Empty placeholder for easier customization. -->
1.1382 <!-- You can override this target in the ../build.xml file. -->
1.1383 </target>
1.1384 + <target depends="-init-source-module-properties" if="named.module.internal" name="-init-test-javac-module-properties-with-module">
1.1385 + <j2seproject3:modulename property="test.module.name" sourcepath="${test.src.dir}"/>
1.1386 + <condition else="${empty.dir}" property="javac.test.sourcepath" value="${test.src.dir}">
1.1387 + <and>
1.1388 + <isset property="test.module.name"/>
1.1389 + <length length="0" string="${test.module.name}" when="greater"/>
1.1390 + </and>
1.1391 + </condition>
1.1392 + <condition else="--patch-module ${module.name}=${test.src.dir} --add-reads ${module.name}=ALL-UNNAMED" property="javac.test.compilerargs" value="--add-reads ${test.module.name}=ALL-UNNAMED">
1.1393 + <and>
1.1394 + <isset property="test.module.name"/>
1.1395 + <length length="0" string="${test.module.name}" when="greater"/>
1.1396 + </and>
1.1397 + </condition>
1.1398 + </target>
1.1399 + <target depends="-init-source-module-properties" if="named.module.internal" name="-init-test-run-module-properties">
1.1400 + <condition else="${module.name}" property="run.test.addexport.source.module.internal" value="${test.module.name}">
1.1401 + <and>
1.1402 + <isset property="test.module.name"/>
1.1403 + <length length="0" string="${test.module.name}" when="greater"/>
1.1404 + </and>
1.1405 + </condition>
1.1406 + <fileset dir="${build.test.classes.dir}" id="run.test.packages.internal" includes="**/*.class"/>
1.1407 + <property location="${build.test.classes.dir}" name="build.test.classes.dir.abs.internal"/>
1.1408 + <pathconvert pathsep=" " property="run.test.addexports.internal" refid="run.test.packages.internal">
1.1409 + <chainedmapper>
1.1410 + <regexpmapper from="^(.*)\Q${file.separator}\E.*\.class$$" to="\1"/>
1.1411 + <filtermapper>
1.1412 + <uniqfilter/>
1.1413 + <replacestring from="${build.test.classes.dir.abs.internal}" to=""/>
1.1414 + </filtermapper>
1.1415 + <cutdirsmapper dirs="1"/>
1.1416 + <packagemapper from="*" to="--add-exports ${run.test.addexport.source.module.internal}/*=ALL-UNNAMED"/>
1.1417 + </chainedmapper>
1.1418 + </pathconvert>
1.1419 + <condition else="--patch-module ${module.name}=${build.test.classes.dir} --add-modules ${module.name} --add-reads ${module.name}=ALL-UNNAMED ${run.test.addexports.internal}" property="run.test.jvmargs" value="--add-modules ${test.module.name} --add-reads ${test.module.name}=ALL-UNNAMED ${run.test.addexports.internal}">
1.1420 + <and>
1.1421 + <isset property="test.module.name"/>
1.1422 + <length length="0" string="${test.module.name}" when="greater"/>
1.1423 + </and>
1.1424 + </condition>
1.1425 + </target>
1.1426 + <target depends="-init-source-module-properties" name="-init-test-module-properties-without-module" unless="named.module.internal">
1.1427 + <property name="javac.test.sourcepath" value="${empty.dir}"/>
1.1428 + <property name="javac.test.compilerargs" value=""/>
1.1429 + <property name="run.test.jvmargs" value=""/>
1.1430 + </target>
1.1431 + <target depends="-init-test-javac-module-properties-with-module,-init-test-module-properties-without-module" name="-init-test-module-properties"/>
1.1432 <target if="do.depend.true" name="-compile-test-depend">
1.1433 <j2seproject3:depend classpath="${javac.test.classpath}" destdir="${build.test.classes.dir}" srcdir="${test.src.dir}"/>
1.1434 </target>
1.1435 - <target depends="init,deps-jar,compile,-pre-pre-compile-test,-pre-compile-test,-compile-test-depend" if="have.tests" name="-do-compile-test">
1.1436 - <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}"/>
1.1437 + <target depends="init,deps-jar,compile,-init-test-module-properties,-pre-pre-compile-test,-pre-compile-test,-compile-test-depend" if="have.tests" name="-do-compile-test">
1.1438 + <j2seproject3:javac apgeneratedsrcdir="${build.test.classes.dir}" classpath="${javac.test.classpath}" debug="true" destdir="${build.test.classes.dir}" modulepath="${javac.test.modulepath}" processorpath="${javac.test.processorpath}" sourcepath="${javac.test.sourcepath}" srcdir="${test.src.dir}">
1.1439 + <customize>
1.1440 + <compilerarg line="${javac.test.compilerargs}"/>
1.1441 + </customize>
1.1442 + </j2seproject3:javac>
1.1443 <copy todir="${build.test.classes.dir}">
1.1444 <fileset dir="${test.src.dir}" excludes="${build.classes.excludes},${excludes}" includes="${includes}"/>
1.1445 </copy>
1.1446 @@ -885,10 +1613,14 @@
1.1447 <!-- Empty placeholder for easier customization. -->
1.1448 <!-- You can override this target in the ../build.xml file. -->
1.1449 </target>
1.1450 - <target depends="init,deps-jar,compile,-pre-pre-compile-test,-pre-compile-test-single" if="have.tests" name="-do-compile-test-single">
1.1451 + <target depends="init,deps-jar,compile,-init-test-module-properties,-pre-pre-compile-test,-pre-compile-test-single" if="have.tests" name="-do-compile-test-single">
1.1452 <fail unless="javac.includes">Must select some files in the IDE or set javac.includes</fail>
1.1453 <j2seproject3:force-recompile destdir="${build.test.classes.dir}"/>
1.1454 - <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}"/>
1.1455 + <j2seproject3:javac apgeneratedsrcdir="${build.test.classes.dir}" classpath="${javac.test.classpath}" debug="true" destdir="${build.test.classes.dir}" excludes="" includes="${javac.includes}, module-info.java" modulepath="${javac.test.modulepath}" processorpath="${javac.test.processorpath}" sourcepath="${test.src.dir}" srcdir="${test.src.dir}">
1.1456 + <customize>
1.1457 + <compilerarg line="${javac.test.compilerargs}"/>
1.1458 + </customize>
1.1459 + </j2seproject3:javac>
1.1460 <copy todir="${build.test.classes.dir}">
1.1461 <fileset dir="${test.src.dir}" excludes="${build.classes.excludes},${excludes}" includes="${includes}"/>
1.1462 </copy>
1.1463 @@ -900,14 +1632,14 @@
1.1464 <target depends="init,compile,-pre-pre-compile-test,-pre-compile-test-single,-do-compile-test-single,-post-compile-test-single" name="compile-test-single"/>
1.1465 <!--
1.1466 =======================
1.1467 - JUNIT EXECUTION SECTION
1.1468 + TEST EXECUTION SECTION
1.1469 =======================
1.1470 -->
1.1471 <target depends="init" if="have.tests" name="-pre-test-run">
1.1472 <mkdir dir="${build.test.results.dir}"/>
1.1473 </target>
1.1474 - <target depends="init,compile-test,-pre-test-run" if="have.tests" name="-do-test-run">
1.1475 - <j2seproject3:junit testincludes="**/*Test.java"/>
1.1476 + <target depends="init,compile-test,-init-test-run-module-properties,-pre-test-run" if="have.tests" name="-do-test-run">
1.1477 + <j2seproject3:test includes="${includes}" testincludes="**/*Test.java"/>
1.1478 </target>
1.1479 <target depends="init,compile-test,-pre-test-run,-do-test-run" if="have.tests" name="-post-test-run">
1.1480 <fail if="tests.failed" unless="ignore.failing.tests">Some tests failed; see details above.</fail>
1.1481 @@ -918,41 +1650,42 @@
1.1482 <target depends="init" if="have.tests" name="-pre-test-run-single">
1.1483 <mkdir dir="${build.test.results.dir}"/>
1.1484 </target>
1.1485 - <target depends="init,compile-test-single,-pre-test-run-single" if="have.tests" name="-do-test-run-single">
1.1486 + <target depends="init,compile-test-single,-init-test-run-module-properties,-pre-test-run-single" if="have.tests" name="-do-test-run-single">
1.1487 <fail unless="test.includes">Must select some files in the IDE or set test.includes</fail>
1.1488 - <j2seproject3:junit excludes="" includes="${test.includes}"/>
1.1489 + <j2seproject3:test excludes="" includes="${test.includes}" testincludes="${test.includes}"/>
1.1490 </target>
1.1491 <target depends="init,compile-test-single,-pre-test-run-single,-do-test-run-single" if="have.tests" name="-post-test-run-single">
1.1492 <fail if="tests.failed" unless="ignore.failing.tests">Some tests failed; see details above.</fail>
1.1493 </target>
1.1494 - <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"/>
1.1495 + <target depends="init,compile-test-single,-init-test-run-module-properties,-pre-test-run-single,-do-test-run-single,-post-test-run-single" description="Run single unit test." name="test-single"/>
1.1496 + <target depends="init,compile-test-single,-pre-test-run-single" if="have.tests" name="-do-test-run-single-method">
1.1497 + <fail unless="test.class">Must select some files in the IDE or set test.class</fail>
1.1498 + <fail unless="test.method">Must select some method in the IDE or set test.method</fail>
1.1499 + <j2seproject3:test excludes="" includes="${javac.includes}" testincludes="${test.class}" testmethods="${test.method}"/>
1.1500 + </target>
1.1501 + <target depends="init,compile-test-single,-pre-test-run-single,-do-test-run-single-method" if="have.tests" name="-post-test-run-single-method">
1.1502 + <fail if="tests.failed" unless="ignore.failing.tests">Some tests failed; see details above.</fail>
1.1503 + </target>
1.1504 + <target depends="init,compile-test-single,-init-test-run-module-properties,-pre-test-run-single,-do-test-run-single-method,-post-test-run-single-method" description="Run single unit test." name="test-single-method"/>
1.1505 <!--
1.1506 =======================
1.1507 - JUNIT DEBUGGING SECTION
1.1508 + TEST DEBUGGING SECTION
1.1509 =======================
1.1510 -->
1.1511 - <target depends="init,compile-test" if="have.tests" name="-debug-start-debuggee-test">
1.1512 + <target depends="init,compile-test-single,-pre-test-run-single" if="have.tests" name="-debug-start-debuggee-test">
1.1513 <fail unless="test.class">Must select one file in the IDE or set test.class</fail>
1.1514 - <property location="${build.test.results.dir}/TEST-${test.class}.xml" name="test.report.file"/>
1.1515 - <delete file="${test.report.file}"/>
1.1516 - <mkdir dir="${build.test.results.dir}"/>
1.1517 - <j2seproject3:debug classname="org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner" classpath="${ant.home}/lib/ant.jar:${ant.home}/lib/ant-junit.jar:${debug.test.classpath}">
1.1518 - <customize>
1.1519 - <syspropertyset>
1.1520 - <propertyref prefix="test-sys-prop."/>
1.1521 - <mapper from="test-sys-prop.*" to="*" type="glob"/>
1.1522 - </syspropertyset>
1.1523 - <arg value="${test.class}"/>
1.1524 - <arg value="showoutput=true"/>
1.1525 - <arg value="formatter=org.apache.tools.ant.taskdefs.optional.junit.BriefJUnitResultFormatter"/>
1.1526 - <arg value="formatter=org.apache.tools.ant.taskdefs.optional.junit.XMLJUnitResultFormatter,${test.report.file}"/>
1.1527 - </customize>
1.1528 - </j2seproject3:debug>
1.1529 + <j2seproject3:test-debug excludes="" includes="${javac.includes}" testClass="${test.class}" testincludes="${javac.includes}"/>
1.1530 + </target>
1.1531 + <target depends="init,compile-test-single,-pre-test-run-single" if="have.tests" name="-debug-start-debuggee-test-method">
1.1532 + <fail unless="test.class">Must select one file in the IDE or set test.class</fail>
1.1533 + <fail unless="test.method">Must select some method in the IDE or set test.method</fail>
1.1534 + <j2seproject3:test-debug excludes="" includes="${javac.includes}" testClass="${test.class}" testMethod="${test.method}" testincludes="${test.class}" testmethods="${test.method}"/>
1.1535 </target>
1.1536 <target depends="init,compile-test" if="netbeans.home+have.tests" name="-debug-start-debugger-test">
1.1537 <j2seproject1:nbjpdastart classpath="${debug.test.classpath}" name="${test.class}"/>
1.1538 </target>
1.1539 - <target depends="init,compile-test-single,-debug-start-debugger-test,-debug-start-debuggee-test" name="debug-test"/>
1.1540 + <target depends="init,compile-test-single,-init-test-run-module-properties,-debug-start-debugger-test,-debug-start-debuggee-test" name="debug-test"/>
1.1541 + <target depends="init,compile-test-single,-init-test-run-module-properties,-debug-start-debugger-test,-debug-start-debuggee-test-method" name="debug-test-method"/>
1.1542 <target depends="init,-pre-debug-fix,compile-test-single" if="netbeans.home" name="-do-debug-fix-test">
1.1543 <j2seproject1:nbjpdareload dir="${build.test.classes.dir}"/>
1.1544 </target>
1.1545 @@ -978,9 +1711,9 @@
1.1546 <target depends="init,compile-single" if="netbeans.home" name="-debug-start-debuggee-applet">
1.1547 <fail unless="applet.url">Must select one file in the IDE or set applet.url</fail>
1.1548 <j2seproject3:debug classname="sun.applet.AppletViewer">
1.1549 - <customize>
1.1550 + <customizeDebuggee>
1.1551 <arg value="${applet.url}"/>
1.1552 - </customize>
1.1553 + </customizeDebuggee>
1.1554 </j2seproject3:debug>
1.1555 </target>
1.1556 <target depends="init,compile-single,-debug-start-debugger,-debug-start-debuggee-applet" if="netbeans.home" name="debug-applet"/>
1.1557 @@ -1007,6 +1740,7 @@
1.1558 </target>
1.1559 <target depends="init" name="-do-clean">
1.1560 <delete dir="${build.dir}"/>
1.1561 + <delete dir="${dist.jlink.output}"/>
1.1562 <delete dir="${dist.dir}" followsymlinks="false" includeemptydirs="true"/>
1.1563 </target>
1.1564 <target name="-post-clean">
1.1565 @@ -1017,9 +1751,12 @@
1.1566 <target name="-check-call-dep">
1.1567 <property file="${call.built.properties}" prefix="already.built."/>
1.1568 <condition property="should.call.dep">
1.1569 - <not>
1.1570 - <isset property="already.built.${call.subproject}"/>
1.1571 - </not>
1.1572 + <and>
1.1573 + <not>
1.1574 + <isset property="already.built.${call.subproject}"/>
1.1575 + </not>
1.1576 + <available file="${call.script}"/>
1.1577 + </and>
1.1578 </condition>
1.1579 </target>
1.1580 <target depends="-check-call-dep" if="should.call.dep" name="-maybe-call-dep">