1.1 --- a/samples/aserverinfo/nbproject/build-impl.xml Thu Oct 30 21:30:10 2014 +0100
1.2 +++ b/samples/aserverinfo/nbproject/build-impl.xml Fri Apr 03 16:32:36 2020 +0200
1.3 @@ -19,7 +19,7 @@
1.4 - cleanup
1.5
1.6 -->
1.7 -<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="aserverinfo-impl">
1.8 +<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="aserverinfo-impl">
1.9 <fail message="Please build using Ant 1.8.0 or higher.">
1.10 <condition>
1.11 <not>
1.12 @@ -46,14 +46,79 @@
1.13 <property file="${user.properties.file}"/>
1.14 <!-- The two properties below are usually overridden -->
1.15 <!-- by the active platform. Just a fallback. -->
1.16 - <property name="default.javac.source" value="1.4"/>
1.17 - <property name="default.javac.target" value="1.4"/>
1.18 + <property name="default.javac.source" value="1.6"/>
1.19 + <property name="default.javac.target" value="1.6"/>
1.20 </target>
1.21 <target depends="-pre-init,-init-private,-init-user" name="-init-project">
1.22 <property file="nbproject/configs/${config}.properties"/>
1.23 <property file="nbproject/project.properties"/>
1.24 </target>
1.25 - <target depends="-pre-init,-init-private,-init-user,-init-project,-init-macrodef-property" name="-do-init">
1.26 + <target name="-init-modules-supported">
1.27 + <condition property="modules.supported.internal" value="true">
1.28 + <not>
1.29 + <matches pattern="1\.[0-8](\..*)?" string="${javac.source}"/>
1.30 + </not>
1.31 + </condition>
1.32 + </target>
1.33 + <target depends="-init-modules-supported" if="modules.supported.internal" name="-init-macrodef-modulename">
1.34 + <macrodef name="modulename" uri="http://www.netbeans.org/ns/j2se-project/3">
1.35 + <attribute name="property"/>
1.36 + <attribute name="sourcepath"/>
1.37 + <sequential>
1.38 + <loadresource property="@{property}" quiet="true">
1.39 + <javaresource classpath="@{sourcepath}" name="module-info.java" parentFirst="false"/>
1.40 + <filterchain>
1.41 + <stripjavacomments/>
1.42 + <linecontainsregexp>
1.43 + <regexp pattern="module .* \{"/>
1.44 + </linecontainsregexp>
1.45 + <tokenfilter>
1.46 + <linetokenizer/>
1.47 + <replaceregex flags="s" pattern="(\s*module\s+)(\S*)(\s*\{.*)" replace="\2"/>
1.48 + </tokenfilter>
1.49 + <striplinebreaks/>
1.50 + </filterchain>
1.51 + </loadresource>
1.52 + </sequential>
1.53 + </macrodef>
1.54 + </target>
1.55 + <target depends="-init-modules-supported,-init-macrodef-modulename" if="modules.supported.internal" name="-init-source-module-properties">
1.56 + <fail message="Java 9 support requires Ant 1.10.0 or higher.">
1.57 + <condition>
1.58 + <not>
1.59 + <antversion atleast="1.10.0"/>
1.60 + </not>
1.61 + </condition>
1.62 + </fail>
1.63 + <j2seproject3:modulename property="module.name" sourcepath="${src.dir}"/>
1.64 + <condition property="named.module.internal">
1.65 + <and>
1.66 + <isset property="module.name"/>
1.67 + <length length="0" string="${module.name}" when="greater"/>
1.68 + </and>
1.69 + </condition>
1.70 + <condition property="unnamed.module.internal">
1.71 + <not>
1.72 + <isset property="named.module.internal"/>
1.73 + </not>
1.74 + </condition>
1.75 + <property name="javac.modulepath" value=""/>
1.76 + <property name="run.modulepath" value="${javac.modulepath}"/>
1.77 + <property name="module.build.classes.dir" value="${build.classes.dir}"/>
1.78 + <property name="debug.modulepath" value="${run.modulepath}"/>
1.79 + <property name="javac.upgrademodulepath" value=""/>
1.80 + <property name="run.upgrademodulepath" value="${javac.upgrademodulepath}"/>
1.81 + <condition else="" property="javac.systemmodulepath.cmd.line.arg" value="--system '${javac.systemmodulepath}'">
1.82 + <and>
1.83 + <isset property="javac.systemmodulepath"/>
1.84 + <length length="0" string="${javac.systemmodulepath}" when="greater"/>
1.85 + </and>
1.86 + </condition>
1.87 + <property name="dist.jlink.dir" value="${dist.dir}/jlink"/>
1.88 + <property name="dist.jlink.output" value="${dist.jlink.dir}/${application.title}"/>
1.89 + <property name="module.name" value=""/>
1.90 + </target>
1.91 + <target depends="-pre-init,-init-private,-init-user,-init-project,-init-macrodef-property,-init-modules-supported" name="-do-init">
1.92 <property name="platform.java" value="${java.home}/bin/java"/>
1.93 <available file="${manifest.file}" property="manifest.available"/>
1.94 <condition property="splashscreen.available">
1.95 @@ -76,7 +141,9 @@
1.96 <and>
1.97 <isset property="javac.profile"/>
1.98 <length length="0" string="${javac.profile}" when="greater"/>
1.99 - <matches pattern="1\.[89](\..*)?" string="${javac.source}"/>
1.100 + <not>
1.101 + <matches pattern="1\.[0-7](\..*)?" string="${javac.source}"/>
1.102 + </not>
1.103 </and>
1.104 </condition>
1.105 <condition property="do.archive">
1.106 @@ -87,15 +154,6 @@
1.107 <istrue value="${not.archive.disabled}"/>
1.108 </or>
1.109 </condition>
1.110 - <condition property="do.mkdist">
1.111 - <and>
1.112 - <isset property="do.archive"/>
1.113 - <isset property="libs.CopyLibs.classpath"/>
1.114 - <not>
1.115 - <istrue value="${mkdist.disabled}"/>
1.116 - </not>
1.117 - </and>
1.118 - </condition>
1.119 <condition property="do.archive+manifest.available">
1.120 <and>
1.121 <isset property="manifest.available"/>
1.122 @@ -156,6 +214,7 @@
1.123 <property name="application.args" value=""/>
1.124 <property name="source.encoding" value="${file.encoding}"/>
1.125 <property name="runtime.encoding" value="${source.encoding}"/>
1.126 + <property name="manifest.encoding" value="${source.encoding}"/>
1.127 <condition property="javadoc.encoding.used" value="${javadoc.encoding}">
1.128 <and>
1.129 <isset property="javadoc.encoding"/>
1.130 @@ -191,7 +250,12 @@
1.131 </not>
1.132 </and>
1.133 </condition>
1.134 - <property name="javac.fork" value="${jdkBug6558476}"/>
1.135 + <condition else="false" property="javac.fork">
1.136 + <or>
1.137 + <istrue value="${jdkBug6558476}"/>
1.138 + <istrue value="${javac.external.vm}"/>
1.139 + </or>
1.140 + </condition>
1.141 <property name="jar.index" value="false"/>
1.142 <property name="jar.index.metainf" value="${jar.index}"/>
1.143 <property name="copylibs.rebase" value="true"/>
1.144 @@ -217,6 +281,7 @@
1.145 <condition else="" property="testng.debug.mode" value="-mixed">
1.146 <istrue value="${junit+testng.available}"/>
1.147 </condition>
1.148 + <property name="java.failonerror" value="true"/>
1.149 </target>
1.150 <target name="-post-init">
1.151 <!-- Empty placeholder for easier customization. -->
1.152 @@ -243,11 +308,80 @@
1.153 </sequential>
1.154 </macrodef>
1.155 </target>
1.156 - <target depends="-init-ap-cmdline-properties" if="ap.supported.internal" name="-init-macrodef-javac-with-processors">
1.157 + <target depends="-init-ap-cmdline-properties,-init-source-module-properties" if="modules.supported.internal" name="-init-macrodef-javac-with-module">
1.158 <macrodef name="javac" uri="http://www.netbeans.org/ns/j2se-project/3">
1.159 <attribute default="${src.dir}" name="srcdir"/>
1.160 <attribute default="${build.classes.dir}" name="destdir"/>
1.161 <attribute default="${javac.classpath}" name="classpath"/>
1.162 + <attribute default="${javac.modulepath}" name="modulepath"/>
1.163 + <attribute default="${javac.upgrademodulepath}" name="upgrademodulepath"/>
1.164 + <attribute default="${javac.processorpath}" name="processorpath"/>
1.165 + <attribute default="${javac.processormodulepath}" name="processormodulepath"/>
1.166 + <attribute default="${build.generated.sources.dir}/ap-source-output" name="apgeneratedsrcdir"/>
1.167 + <attribute default="${includes}" name="includes"/>
1.168 + <attribute default="${excludes}" name="excludes"/>
1.169 + <attribute default="${javac.debug}" name="debug"/>
1.170 + <attribute default="${empty.dir}" name="sourcepath" unless:set="named.module.internal"/>
1.171 + <attribute default="${src.dir}" if:set="named.module.internal" name="sourcepath"/>
1.172 + <attribute default="${empty.dir}" name="gensrcdir"/>
1.173 + <element name="customize" optional="true"/>
1.174 + <sequential>
1.175 + <condition property="warn.excludes.internal">
1.176 + <and>
1.177 + <isset property="named.module.internal"/>
1.178 + <length length="0" string="@{excludes}" trim="true" when="greater"/>
1.179 + </and>
1.180 + </condition>
1.181 + <echo if:set="warn.excludes.internal" level="warning" message="The javac excludes are not supported in the JDK 9 Named Module."/>
1.182 + <property location="${build.dir}/empty" name="empty.dir"/>
1.183 + <mkdir dir="${empty.dir}"/>
1.184 + <mkdir dir="@{apgeneratedsrcdir}"/>
1.185 + <condition property="processormodulepath.set">
1.186 + <resourcecount count="0" when="greater">
1.187 + <path>
1.188 + <pathelement path="@{processormodulepath}"/>
1.189 + </path>
1.190 + </resourcecount>
1.191 + </condition>
1.192 + <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.193 + <src>
1.194 + <dirset dir="@{gensrcdir}" erroronmissingdir="false">
1.195 + <include name="*"/>
1.196 + </dirset>
1.197 + </src>
1.198 + <classpath>
1.199 + <path path="@{classpath}"/>
1.200 + </classpath>
1.201 + <modulepath>
1.202 + <path path="@{modulepath}"/>
1.203 + </modulepath>
1.204 + <upgrademodulepath>
1.205 + <path path="@{upgrademodulepath}"/>
1.206 + </upgrademodulepath>
1.207 + <compilerarg line="${javac.systemmodulepath.cmd.line.arg}"/>
1.208 + <compilerarg line="${javac.profile.cmd.line.arg}"/>
1.209 + <compilerarg line="${javac.compilerargs}"/>
1.210 + <compilerarg if:set="processormodulepath.set" value="--processor-module-path"/>
1.211 + <compilerarg if:set="processormodulepath.set" path="@{processormodulepath}"/>
1.212 + <compilerarg unless:set="processormodulepath.set" value="-processorpath"/>
1.213 + <compilerarg path="@{processorpath}:${empty.dir}" unless:set="processormodulepath.set"/>
1.214 + <compilerarg line="${ap.processors.internal}"/>
1.215 + <compilerarg line="${annotation.processing.processor.options}"/>
1.216 + <compilerarg value="-s"/>
1.217 + <compilerarg path="@{apgeneratedsrcdir}"/>
1.218 + <compilerarg line="${ap.proc.none.internal}"/>
1.219 + <customize/>
1.220 + </javac>
1.221 + </sequential>
1.222 + </macrodef>
1.223 + </target>
1.224 + <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.225 + <macrodef name="javac" uri="http://www.netbeans.org/ns/j2se-project/3">
1.226 + <attribute default="${src.dir}" name="srcdir"/>
1.227 + <attribute default="${build.classes.dir}" name="destdir"/>
1.228 + <attribute default="${javac.classpath}" name="classpath"/>
1.229 + <attribute default="${javac.modulepath}" name="modulepath"/>
1.230 + <attribute default="${javac.upgrademodulepath}" name="upgrademodulepath"/>
1.231 <attribute default="${javac.processorpath}" name="processorpath"/>
1.232 <attribute default="${build.generated.sources.dir}/ap-source-output" name="apgeneratedsrcdir"/>
1.233 <attribute default="${includes}" name="includes"/>
1.234 @@ -284,11 +418,13 @@
1.235 </sequential>
1.236 </macrodef>
1.237 </target>
1.238 - <target depends="-init-ap-cmdline-properties" name="-init-macrodef-javac-without-processors" unless="ap.supported.internal">
1.239 + <target depends="-init-ap-cmdline-properties,-init-source-module-properties" name="-init-macrodef-javac-without-processors" unless="ap.supported.internal">
1.240 <macrodef name="javac" uri="http://www.netbeans.org/ns/j2se-project/3">
1.241 <attribute default="${src.dir}" name="srcdir"/>
1.242 <attribute default="${build.classes.dir}" name="destdir"/>
1.243 <attribute default="${javac.classpath}" name="classpath"/>
1.244 + <attribute default="${javac.modulepath}" name="modulepath"/>
1.245 + <attribute default="${javac.upgrademodulepath}" name="upgrademodulepath"/>
1.246 <attribute default="${javac.processorpath}" name="processorpath"/>
1.247 <attribute default="${build.generated.sources.dir}/ap-source-output" name="apgeneratedsrcdir"/>
1.248 <attribute default="${includes}" name="includes"/>
1.249 @@ -317,7 +453,7 @@
1.250 </sequential>
1.251 </macrodef>
1.252 </target>
1.253 - <target depends="-init-macrodef-javac-with-processors,-init-macrodef-javac-without-processors" name="-init-macrodef-javac">
1.254 + <target depends="-init-macrodef-javac-with-module,-init-macrodef-javac-with-processors,-init-macrodef-javac-without-processors" name="-init-macrodef-javac">
1.255 <macrodef name="depend" uri="http://www.netbeans.org/ns/j2se-project/3">
1.256 <attribute default="${src.dir}" name="srcdir"/>
1.257 <attribute default="${build.classes.dir}" name="destdir"/>
1.258 @@ -372,7 +508,59 @@
1.259 <property name="test.binarytestincludes" value=""/>
1.260 <property name="test.binaryexcludes" value=""/>
1.261 </target>
1.262 - <target if="${nb.junit.single}" name="-init-macrodef-junit-single" unless="${nb.junit.batch}">
1.263 + <target depends="-init-modules-supported" if="modules.supported.internal" name="-init-macrodef-junit-prototype-with-module">
1.264 + <macrodef name="junit-prototype" uri="http://www.netbeans.org/ns/j2se-project/3">
1.265 + <attribute default="${includes}" name="includes"/>
1.266 + <attribute default="${excludes}" name="excludes"/>
1.267 + <element name="customizePrototype" optional="true"/>
1.268 + <sequential>
1.269 + <property name="junit.forkmode" value="perTest"/>
1.270 + <junit dir="${work.dir}" errorproperty="tests.failed" failureproperty="tests.failed" fork="true" forkmode="${junit.forkmode}" showoutput="true" tempdir="${build.dir}">
1.271 + <syspropertyset>
1.272 + <propertyref prefix="test-sys-prop."/>
1.273 + <mapper from="test-sys-prop.*" to="*" type="glob"/>
1.274 + </syspropertyset>
1.275 + <classpath>
1.276 + <path path="${run.test.classpath}"/>
1.277 + </classpath>
1.278 + <modulepath>
1.279 + <path path="${run.test.modulepath}"/>
1.280 + </modulepath>
1.281 + <formatter type="brief" usefile="false"/>
1.282 + <formatter type="xml"/>
1.283 + <jvmarg line="${endorsed.classpath.cmd.line.arg}"/>
1.284 + <jvmarg value="-ea"/>
1.285 + <jvmarg line="${run.test.jvmargs}"/>
1.286 + <customizePrototype/>
1.287 + </junit>
1.288 + </sequential>
1.289 + </macrodef>
1.290 + </target>
1.291 + <target depends="-init-modules-supported" name="-init-macrodef-junit-prototype-without-module" unless="modules.supported.internal">
1.292 + <macrodef name="junit-prototype" uri="http://www.netbeans.org/ns/j2se-project/3">
1.293 + <attribute default="${includes}" name="includes"/>
1.294 + <attribute default="${excludes}" name="excludes"/>
1.295 + <element name="customizePrototype" optional="true"/>
1.296 + <sequential>
1.297 + <property name="junit.forkmode" value="perTest"/>
1.298 + <junit dir="${work.dir}" errorproperty="tests.failed" failureproperty="tests.failed" fork="true" forkmode="${junit.forkmode}" showoutput="true" tempdir="${build.dir}">
1.299 + <syspropertyset>
1.300 + <propertyref prefix="test-sys-prop."/>
1.301 + <mapper from="test-sys-prop.*" to="*" type="glob"/>
1.302 + </syspropertyset>
1.303 + <classpath>
1.304 + <path path="${run.test.classpath}"/>
1.305 + </classpath>
1.306 + <formatter type="brief" usefile="false"/>
1.307 + <formatter type="xml"/>
1.308 + <jvmarg line="${endorsed.classpath.cmd.line.arg}"/>
1.309 + <jvmarg value="-ea"/>
1.310 + <customizePrototype/>
1.311 + </junit>
1.312 + </sequential>
1.313 + </macrodef>
1.314 + </target>
1.315 + <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.316 <macrodef name="junit" uri="http://www.netbeans.org/ns/j2se-project/3">
1.317 <attribute default="${includes}" name="includes"/>
1.318 <attribute default="${excludes}" name="excludes"/>
1.319 @@ -380,22 +568,16 @@
1.320 <attribute default="" name="testmethods"/>
1.321 <element name="customize" optional="true"/>
1.322 <sequential>
1.323 - <property name="junit.forkmode" value="perTest"/>
1.324 - <junit dir="${work.dir}" errorproperty="tests.failed" failureproperty="tests.failed" fork="true" forkmode="${junit.forkmode}" showoutput="true" tempdir="${build.dir}">
1.325 - <test methods="@{testmethods}" name="@{testincludes}" todir="${build.test.results.dir}"/>
1.326 - <syspropertyset>
1.327 - <propertyref prefix="test-sys-prop."/>
1.328 - <mapper from="test-sys-prop.*" to="*" type="glob"/>
1.329 - </syspropertyset>
1.330 - <formatter type="brief" usefile="false"/>
1.331 - <formatter type="xml"/>
1.332 - <jvmarg value="-ea"/>
1.333 - <customize/>
1.334 - </junit>
1.335 + <j2seproject3:junit-prototype>
1.336 + <customizePrototype>
1.337 + <test methods="@{testmethods}" name="@{testincludes}" todir="${build.test.results.dir}"/>
1.338 + <customize/>
1.339 + </customizePrototype>
1.340 + </j2seproject3:junit-prototype>
1.341 </sequential>
1.342 </macrodef>
1.343 </target>
1.344 - <target depends="-init-test-properties" if="${nb.junit.batch}" name="-init-macrodef-junit-batch" unless="${nb.junit.single}">
1.345 + <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.346 <macrodef name="junit" uri="http://www.netbeans.org/ns/j2se-project/3">
1.347 <attribute default="${includes}" name="includes"/>
1.348 <attribute default="${excludes}" name="excludes"/>
1.349 @@ -403,25 +585,19 @@
1.350 <attribute default="" name="testmethods"/>
1.351 <element name="customize" optional="true"/>
1.352 <sequential>
1.353 - <property name="junit.forkmode" value="perTest"/>
1.354 - <junit dir="${work.dir}" errorproperty="tests.failed" failureproperty="tests.failed" fork="true" forkmode="${junit.forkmode}" showoutput="true" tempdir="${build.dir}">
1.355 - <batchtest todir="${build.test.results.dir}">
1.356 - <fileset dir="${test.src.dir}" excludes="@{excludes},${excludes}" includes="@{includes}">
1.357 - <filename name="@{testincludes}"/>
1.358 - </fileset>
1.359 - <fileset dir="${build.test.classes.dir}" excludes="@{excludes},${excludes},${test.binaryexcludes}" includes="${test.binaryincludes}">
1.360 - <filename name="${test.binarytestincludes}"/>
1.361 - </fileset>
1.362 - </batchtest>
1.363 - <syspropertyset>
1.364 - <propertyref prefix="test-sys-prop."/>
1.365 - <mapper from="test-sys-prop.*" to="*" type="glob"/>
1.366 - </syspropertyset>
1.367 - <formatter type="brief" usefile="false"/>
1.368 - <formatter type="xml"/>
1.369 - <jvmarg value="-ea"/>
1.370 - <customize/>
1.371 - </junit>
1.372 + <j2seproject3:junit-prototype>
1.373 + <customizePrototype>
1.374 + <batchtest todir="${build.test.results.dir}">
1.375 + <fileset dir="${test.src.dir}" excludes="@{excludes},${excludes}" includes="@{includes}">
1.376 + <filename name="@{testincludes}"/>
1.377 + </fileset>
1.378 + <fileset dir="${build.test.classes.dir}" excludes="@{excludes},${excludes},${test.binaryexcludes}" includes="${test.binaryincludes}">
1.379 + <filename name="${test.binarytestincludes}"/>
1.380 + </fileset>
1.381 + </batchtest>
1.382 + <customize/>
1.383 + </customizePrototype>
1.384 + </j2seproject3:junit-prototype>
1.385 </sequential>
1.386 </macrodef>
1.387 </target>
1.388 @@ -449,6 +625,10 @@
1.389 <propertyref prefix="test-sys-prop."/>
1.390 <mapper from="test-sys-prop.*" to="*" type="glob"/>
1.391 </propertyset>
1.392 + <classpath>
1.393 + <path path="${run.test.classpath}"/>
1.394 + </classpath>
1.395 + <jvmarg line="${endorsed.classpath.cmd.line.arg}"/>
1.396 <customize/>
1.397 </testng>
1.398 </sequential>
1.399 @@ -503,10 +683,6 @@
1.400 <sequential>
1.401 <j2seproject3:test-impl excludes="@{excludes}" includes="@{includes}" testincludes="@{testincludes}" testmethods="@{testmethods}">
1.402 <customize>
1.403 - <classpath>
1.404 - <path path="${run.test.classpath}"/>
1.405 - </classpath>
1.406 - <jvmarg line="${endorsed.classpath.cmd.line.arg}"/>
1.407 <jvmarg line="${run.jvmargs}"/>
1.408 <jvmarg line="${run.jvmargs.ide}"/>
1.409 </customize>
1.410 @@ -514,74 +690,20 @@
1.411 </sequential>
1.412 </macrodef>
1.413 </target>
1.414 - <target if="${junit.available}" name="-init-macrodef-junit-debug" unless="${nb.junit.batch}">
1.415 - <macrodef name="junit-debug" uri="http://www.netbeans.org/ns/j2se-project/3">
1.416 - <attribute default="${includes}" name="includes"/>
1.417 - <attribute default="${excludes}" name="excludes"/>
1.418 - <attribute default="**" name="testincludes"/>
1.419 - <attribute default="" name="testmethods"/>
1.420 - <element name="customize" optional="true"/>
1.421 - <sequential>
1.422 - <property name="junit.forkmode" value="perTest"/>
1.423 - <junit dir="${work.dir}" errorproperty="tests.failed" failureproperty="tests.failed" fork="true" forkmode="${junit.forkmode}" showoutput="true" tempdir="${build.dir}">
1.424 - <test methods="@{testmethods}" name="@{testincludes}" todir="${build.test.results.dir}"/>
1.425 - <syspropertyset>
1.426 - <propertyref prefix="test-sys-prop."/>
1.427 - <mapper from="test-sys-prop.*" to="*" type="glob"/>
1.428 - </syspropertyset>
1.429 - <formatter type="brief" usefile="false"/>
1.430 - <formatter type="xml"/>
1.431 - <jvmarg value="-ea"/>
1.432 - <jvmarg line="${debug-args-line}"/>
1.433 - <jvmarg value="-Xrunjdwp:transport=${debug-transport},address=${jpda.address}"/>
1.434 - <customize/>
1.435 - </junit>
1.436 - </sequential>
1.437 - </macrodef>
1.438 - </target>
1.439 - <target depends="-init-test-properties" if="${nb.junit.batch}" name="-init-macrodef-junit-debug-batch">
1.440 - <macrodef name="junit-debug" uri="http://www.netbeans.org/ns/j2se-project/3">
1.441 - <attribute default="${includes}" name="includes"/>
1.442 - <attribute default="${excludes}" name="excludes"/>
1.443 - <attribute default="**" name="testincludes"/>
1.444 - <attribute default="" name="testmethods"/>
1.445 - <element name="customize" optional="true"/>
1.446 - <sequential>
1.447 - <property name="junit.forkmode" value="perTest"/>
1.448 - <junit dir="${work.dir}" errorproperty="tests.failed" failureproperty="tests.failed" fork="true" forkmode="${junit.forkmode}" showoutput="true" tempdir="${build.dir}">
1.449 - <batchtest todir="${build.test.results.dir}">
1.450 - <fileset dir="${test.src.dir}" excludes="@{excludes},${excludes}" includes="@{includes}">
1.451 - <filename name="@{testincludes}"/>
1.452 - </fileset>
1.453 - <fileset dir="${build.test.classes.dir}" excludes="@{excludes},${excludes},${test.binaryexcludes}" includes="${test.binaryincludes}">
1.454 - <filename name="${test.binarytestincludes}"/>
1.455 - </fileset>
1.456 - </batchtest>
1.457 - <syspropertyset>
1.458 - <propertyref prefix="test-sys-prop."/>
1.459 - <mapper from="test-sys-prop.*" to="*" type="glob"/>
1.460 - </syspropertyset>
1.461 - <formatter type="brief" usefile="false"/>
1.462 - <formatter type="xml"/>
1.463 - <jvmarg value="-ea"/>
1.464 - <jvmarg line="${debug-args-line}"/>
1.465 - <jvmarg value="-Xrunjdwp:transport=${debug-transport},address=${jpda.address}"/>
1.466 - <customize/>
1.467 - </junit>
1.468 - </sequential>
1.469 - </macrodef>
1.470 - </target>
1.471 - <target depends="-init-macrodef-junit-debug,-init-macrodef-junit-debug-batch" if="${junit.available}" name="-init-macrodef-junit-debug-impl">
1.472 + <target depends="-init-macrodef-junit" if="${junit.available}" name="-init-macrodef-junit-debug-impl">
1.473 <macrodef name="test-debug-impl" uri="http://www.netbeans.org/ns/j2se-project/3">
1.474 <attribute default="${includes}" name="includes"/>
1.475 <attribute default="${excludes}" name="excludes"/>
1.476 <attribute default="**" name="testincludes"/>
1.477 <attribute default="" name="testmethods"/>
1.478 - <element implicit="true" name="customize" optional="true"/>
1.479 + <element name="customizeDebuggee" optional="true"/>
1.480 <sequential>
1.481 - <j2seproject3:junit-debug excludes="@{excludes}" includes="@{includes}" testincludes="@{testincludes}" testmethods="@{testmethods}">
1.482 - <customize/>
1.483 - </j2seproject3:junit-debug>
1.484 + <j2seproject3:junit excludes="@{excludes}" includes="@{includes}" testincludes="@{testincludes}" testmethods="@{testmethods}">
1.485 + <customize>
1.486 + <jvmarg value="-agentlib:jdwp=transport=${debug-transport},address=${jpda.address}"/>
1.487 + <customizeDebuggee/>
1.488 + </customize>
1.489 + </j2seproject3:junit>
1.490 </sequential>
1.491 </macrodef>
1.492 </target>
1.493 @@ -600,14 +722,14 @@
1.494 <delete dir="${build.test.results.dir}" quiet="true"/>
1.495 <mkdir dir="${build.test.results.dir}"/>
1.496 <j2seproject3:debug classname="org.testng.TestNG" classpath="${debug.test.classpath}">
1.497 - <customize>
1.498 + <customizeDebuggee>
1.499 <customize2/>
1.500 <jvmarg value="-ea"/>
1.501 <arg line="${testng.debug.mode}"/>
1.502 <arg line="-d ${build.test.results.dir}"/>
1.503 <arg line="-listener org.testng.reporters.VerboseReporter"/>
1.504 <arg line="${testng.cmd.args}"/>
1.505 - </customize>
1.506 + </customizeDebuggee>
1.507 </j2seproject3:debug>
1.508 </sequential>
1.509 </macrodef>
1.510 @@ -634,14 +756,10 @@
1.511 <attribute default="" name="testMethod"/>
1.512 <sequential>
1.513 <j2seproject3:test-debug-impl excludes="@{excludes}" includes="@{includes}" testincludes="@{testincludes}" testmethods="@{testmethods}">
1.514 - <customize>
1.515 - <classpath>
1.516 - <path path="${run.test.classpath}"/>
1.517 - </classpath>
1.518 - <jvmarg line="${endorsed.classpath.cmd.line.arg}"/>
1.519 + <customizeDebuggee>
1.520 <jvmarg line="${run.jvmargs}"/>
1.521 <jvmarg line="${run.jvmargs.ide}"/>
1.522 - </customize>
1.523 + </customizeDebuggee>
1.524 </j2seproject3:test-debug-impl>
1.525 </sequential>
1.526 </macrodef>
1.527 @@ -693,7 +811,7 @@
1.528 <sequential>
1.529 <property environment="env"/>
1.530 <resolve name="profiler.current.path" value="${profiler.info.pathvar}"/>
1.531 - <java classname="@{classname}" dir="${profiler.info.dir}" fork="true" jvm="${profiler.info.jvm}">
1.532 + <java classname="@{classname}" dir="${profiler.info.dir}" failonerror="${java.failonerror}" fork="true" jvm="${profiler.info.jvm}">
1.533 <jvmarg line="${endorsed.classpath.cmd.line.arg}"/>
1.534 <jvmarg value="${profiler.info.jvmargs.agent}"/>
1.535 <jvmarg line="${profiler.info.jvmargs}"/>
1.536 @@ -721,10 +839,14 @@
1.537 <target depends="-init-debug-args" name="-init-macrodef-nbjpda">
1.538 <macrodef name="nbjpdastart" uri="http://www.netbeans.org/ns/j2se-project/1">
1.539 <attribute default="${main.class}" name="name"/>
1.540 + <attribute default="${debug.modulepath}" name="modulepath"/>
1.541 <attribute default="${debug.classpath}" name="classpath"/>
1.542 <attribute default="" name="stopclassname"/>
1.543 <sequential>
1.544 <nbjpdastart addressproperty="jpda.address" name="@{name}" stopclassname="@{stopclassname}" transport="${debug-transport}">
1.545 + <modulepath>
1.546 + <path path="@{modulepath}"/>
1.547 + </modulepath>
1.548 <classpath>
1.549 <path path="@{classpath}"/>
1.550 </classpath>
1.551 @@ -743,18 +865,6 @@
1.552 </macrodef>
1.553 </target>
1.554 <target name="-init-debug-args">
1.555 - <property name="version-output" value="java version "${ant.java.version}"/>
1.556 - <condition property="have-jdk-older-than-1.4">
1.557 - <or>
1.558 - <contains string="${version-output}" substring="java version "1.0"/>
1.559 - <contains string="${version-output}" substring="java version "1.1"/>
1.560 - <contains string="${version-output}" substring="java version "1.2"/>
1.561 - <contains string="${version-output}" substring="java version "1.3"/>
1.562 - </or>
1.563 - </condition>
1.564 - <condition else="-Xdebug" property="debug-args-line" value="-Xdebug -Xnoagent -Djava.compiler=none">
1.565 - <istrue value="${have-jdk-older-than-1.4}"/>
1.566 - </condition>
1.567 <condition else="dt_socket" property="debug-transport-by-os" value="dt_shmem">
1.568 <os family="windows"/>
1.569 </condition>
1.570 @@ -764,21 +874,46 @@
1.571 </target>
1.572 <target depends="-init-debug-args" name="-init-macrodef-debug">
1.573 <macrodef name="debug" uri="http://www.netbeans.org/ns/j2se-project/3">
1.574 + <attribute default="${module.name}" name="modulename"/>
1.575 <attribute default="${main.class}" name="classname"/>
1.576 + <attribute default="${debug.modulepath}" name="modulepath"/>
1.577 <attribute default="${debug.classpath}" name="classpath"/>
1.578 + <element name="customizeDebuggee" optional="true"/>
1.579 + <sequential>
1.580 + <j2seproject1:java classname="@{classname}" classpath="@{classpath}" modulename="@{modulename}" modulepath="@{modulepath}">
1.581 + <customize>
1.582 + <jvmarg value="-agentlib:jdwp=transport=${debug-transport},address=${jpda.address}"/>
1.583 + <customizeDebuggee/>
1.584 + </customize>
1.585 + </j2seproject1:java>
1.586 + </sequential>
1.587 + </macrodef>
1.588 + </target>
1.589 + <target depends="-init-source-module-properties" if="named.module.internal" name="-init-macrodef-java-with-module">
1.590 + <macrodef name="java" uri="http://www.netbeans.org/ns/j2se-project/1">
1.591 + <attribute default="${module.name}" name="modulename"/>
1.592 + <attribute default="${main.class}" name="classname"/>
1.593 + <attribute default="${run.modulepath}" name="modulepath"/>
1.594 + <attribute default="${run.upgrademodulepath}" name="upgrademodulepath"/>
1.595 + <attribute default="${run.classpath}" name="classpath"/>
1.596 + <attribute default="jvm" name="jvm"/>
1.597 <element name="customize" optional="true"/>
1.598 <sequential>
1.599 - <java classname="@{classname}" dir="${work.dir}" fork="true">
1.600 - <jvmarg line="${endorsed.classpath.cmd.line.arg}"/>
1.601 - <jvmarg line="${debug-args-line}"/>
1.602 - <jvmarg value="-Xrunjdwp:transport=${debug-transport},address=${jpda.address}"/>
1.603 + <java classname="@{classname}" dir="${work.dir}" failonerror="${java.failonerror}" fork="true" module="@{modulename}">
1.604 + <classpath>
1.605 + <path path="@{classpath}"/>
1.606 + </classpath>
1.607 + <modulepath>
1.608 + <pathelement path="@{modulepath}"/>
1.609 + <pathelement location="${module.build.classes.dir}"/>
1.610 + </modulepath>
1.611 + <upgrademodulepath>
1.612 + <path path="@{upgrademodulepath}"/>
1.613 + </upgrademodulepath>
1.614 <jvmarg value="-Dfile.encoding=${runtime.encoding}"/>
1.615 <redirector errorencoding="${runtime.encoding}" inputencoding="${runtime.encoding}" outputencoding="${runtime.encoding}"/>
1.616 <jvmarg line="${run.jvmargs}"/>
1.617 <jvmarg line="${run.jvmargs.ide}"/>
1.618 - <classpath>
1.619 - <path path="@{classpath}"/>
1.620 - </classpath>
1.621 <syspropertyset>
1.622 <propertyref prefix="run-sys-prop."/>
1.623 <mapper from="run-sys-prop.*" to="*" type="glob"/>
1.624 @@ -788,14 +923,49 @@
1.625 </sequential>
1.626 </macrodef>
1.627 </target>
1.628 - <target name="-init-macrodef-java">
1.629 + <target depends="-init-source-module-properties" if="unnamed.module.internal" name="-init-macrodef-java-with-unnamed-module">
1.630 <macrodef name="java" uri="http://www.netbeans.org/ns/j2se-project/1">
1.631 + <attribute default="" name="modulename"/>
1.632 <attribute default="${main.class}" name="classname"/>
1.633 + <attribute default="${run.modulepath}" name="modulepath"/>
1.634 + <attribute default="${run.upgrademodulepath}" name="upgrademodulepath"/>
1.635 <attribute default="${run.classpath}" name="classpath"/>
1.636 <attribute default="jvm" name="jvm"/>
1.637 <element name="customize" optional="true"/>
1.638 <sequential>
1.639 - <java classname="@{classname}" dir="${work.dir}" fork="true">
1.640 + <java classname="@{classname}" dir="${work.dir}" failonerror="${java.failonerror}" fork="true">
1.641 + <classpath>
1.642 + <path path="@{classpath}"/>
1.643 + </classpath>
1.644 + <modulepath>
1.645 + <path path="@{modulepath}"/>
1.646 + </modulepath>
1.647 + <upgrademodulepath>
1.648 + <path path="@{upgrademodulepath}"/>
1.649 + </upgrademodulepath>
1.650 + <jvmarg value="-Dfile.encoding=${runtime.encoding}"/>
1.651 + <redirector errorencoding="${runtime.encoding}" inputencoding="${runtime.encoding}" outputencoding="${runtime.encoding}"/>
1.652 + <jvmarg line="${run.jvmargs}"/>
1.653 + <jvmarg line="${run.jvmargs.ide}"/>
1.654 + <syspropertyset>
1.655 + <propertyref prefix="run-sys-prop."/>
1.656 + <mapper from="run-sys-prop.*" to="*" type="glob"/>
1.657 + </syspropertyset>
1.658 + <customize/>
1.659 + </java>
1.660 + </sequential>
1.661 + </macrodef>
1.662 + </target>
1.663 + <target depends="-init-source-module-properties" name="-init-macrodef-java-without-module" unless="modules.supported.internal">
1.664 + <macrodef name="java" uri="http://www.netbeans.org/ns/j2se-project/1">
1.665 + <attribute default="" name="modulename"/>
1.666 + <attribute default="${main.class}" name="classname"/>
1.667 + <attribute default="" name="modulepath"/>
1.668 + <attribute default="${run.classpath}" name="classpath"/>
1.669 + <attribute default="jvm" name="jvm"/>
1.670 + <element name="customize" optional="true"/>
1.671 + <sequential>
1.672 + <java classname="@{classname}" dir="${work.dir}" failonerror="${java.failonerror}" fork="true">
1.673 <jvmarg line="${endorsed.classpath.cmd.line.arg}"/>
1.674 <jvmarg value="-Dfile.encoding=${runtime.encoding}"/>
1.675 <redirector errorencoding="${runtime.encoding}" inputencoding="${runtime.encoding}" outputencoding="${runtime.encoding}"/>
1.676 @@ -813,6 +983,7 @@
1.677 </sequential>
1.678 </macrodef>
1.679 </target>
1.680 + <target depends="-init-macrodef-java-with-module, -init-macrodef-java-with-unnamed-module, -init-macrodef-java-without-module" name="-init-macrodef-java"/>
1.681 <target name="-init-macrodef-copylibs">
1.682 <macrodef name="copylibs" uri="http://www.netbeans.org/ns/j2se-project/3">
1.683 <attribute default="${manifest.file}" name="manifest"/>
1.684 @@ -834,7 +1005,7 @@
1.685 </chainedmapper>
1.686 </pathconvert>
1.687 <taskdef classname="org.netbeans.modules.java.j2seproject.copylibstask.CopyLibs" classpath="${libs.CopyLibs.classpath}" name="copylibs"/>
1.688 - <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}">
1.689 + <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.690 <fileset dir="${build.classes.dir}" excludes="${dist.archive.excludes}"/>
1.691 <manifest>
1.692 <attribute name="Class-Path" value="${jar.classpath}"/>
1.693 @@ -846,7 +1017,7 @@
1.694 </target>
1.695 <target name="-init-presetdef-jar">
1.696 <presetdef name="jar" uri="http://www.netbeans.org/ns/j2se-project/1">
1.697 - <jar compress="${jar.compress}" index="${jar.index}" jarfile="${dist.jar}">
1.698 + <jar compress="${jar.compress}" index="${jar.index}" jarfile="${dist.jar}" manifestencoding="UTF-8">
1.699 <j2seproject1:fileset dir="${build.classes.dir}" excludes="${dist.archive.excludes}"/>
1.700 </jar>
1.701 </presetdef>
1.702 @@ -902,7 +1073,9 @@
1.703 <available file="${build.classes.dir}/.netbeans_automatic_build" property="netbeans.automatic.build"/>
1.704 </target>
1.705 <target depends="init" if="netbeans.automatic.build" name="-clean-after-automatic-build">
1.706 - <antcall target="clean"/>
1.707 + <antcall target="clean">
1.708 + <param name="no.dependencies" value="true"/>
1.709 + </antcall>
1.710 </target>
1.711 <target depends="init,deps-jar" name="-pre-pre-compile">
1.712 <mkdir dir="${build.classes.dir}"/>
1.713 @@ -943,7 +1116,7 @@
1.714 <target depends="init,deps-jar,-pre-pre-compile" name="-do-compile-single">
1.715 <fail unless="javac.includes">Must select some files in the IDE or set javac.includes</fail>
1.716 <j2seproject3:force-recompile/>
1.717 - <j2seproject3:javac excludes="" gensrcdir="${build.generated.sources.dir}" includes="${javac.includes}" sourcepath="${src.dir}"/>
1.718 + <j2seproject3:javac excludes="" gensrcdir="${build.generated.sources.dir}" includes="${javac.includes}, module-info.java" sourcepath="${src.dir}"/>
1.719 </target>
1.720 <target name="-post-compile-single">
1.721 <!-- Empty placeholder for easier customization. -->
1.722 @@ -963,21 +1136,40 @@
1.723 <!-- Empty placeholder for easier customization. -->
1.724 <!-- You can override this target in the ../build.xml file. -->
1.725 </target>
1.726 + <target depends="init,compile" name="-check-module-main-class">
1.727 + <pathconvert property="main.class.file">
1.728 + <string value="${main.class}"/>
1.729 + <unpackagemapper from="*" to="*.class"/>
1.730 + </pathconvert>
1.731 + <condition property="do.module.main.class">
1.732 + <and>
1.733 + <isset property="main.class.available"/>
1.734 + <available file="${build.classes.dir}/module-info.class"/>
1.735 + <available file="${build.classes.dir}/${main.class.file}"/>
1.736 + <isset property="libs.CopyLibs.classpath"/>
1.737 + <available classname="org.netbeans.modules.java.j2seproject.moduletask.ModuleMainClass" classpath="${libs.CopyLibs.classpath}"/>
1.738 + </and>
1.739 + </condition>
1.740 + </target>
1.741 + <target depends="-check-module-main-class" if="do.module.main.class" name="-set-module-main-class">
1.742 + <taskdef classname="org.netbeans.modules.java.j2seproject.moduletask.ModuleMainClass" classpath="${libs.CopyLibs.classpath}" name="modulemainclass"/>
1.743 + <modulemainclass failonerror="false" mainclass="${main.class}" moduleinfo="${build.classes.dir}/module-info.class"/>
1.744 + </target>
1.745 <target depends="init" if="do.archive" name="-do-jar-create-manifest" unless="manifest.available">
1.746 <tempfile deleteonexit="true" destdir="${build.dir}" property="tmp.manifest.file"/>
1.747 <touch file="${tmp.manifest.file}" verbose="false"/>
1.748 </target>
1.749 <target depends="init" if="do.archive+manifest.available" name="-do-jar-copy-manifest">
1.750 <tempfile deleteonexit="true" destdir="${build.dir}" property="tmp.manifest.file"/>
1.751 - <copy file="${manifest.file}" tofile="${tmp.manifest.file}"/>
1.752 + <copy encoding="${manifest.encoding}" file="${manifest.file}" outputencoding="UTF-8" tofile="${tmp.manifest.file}"/>
1.753 </target>
1.754 <target depends="init,-do-jar-create-manifest,-do-jar-copy-manifest" if="do.archive+main.class.available" name="-do-jar-set-mainclass">
1.755 - <manifest file="${tmp.manifest.file}" mode="update">
1.756 + <manifest encoding="UTF-8" file="${tmp.manifest.file}" mode="update">
1.757 <attribute name="Main-Class" value="${main.class}"/>
1.758 </manifest>
1.759 </target>
1.760 <target depends="init,-do-jar-create-manifest,-do-jar-copy-manifest" if="do.archive+profile.available" name="-do-jar-set-profile">
1.761 - <manifest file="${tmp.manifest.file}" mode="update">
1.762 + <manifest encoding="UTF-8" file="${tmp.manifest.file}" mode="update">
1.763 <attribute name="Profile" value="${javac.profile}"/>
1.764 </manifest>
1.765 </target>
1.766 @@ -985,25 +1177,65 @@
1.767 <basename file="${application.splash}" property="splashscreen.basename"/>
1.768 <mkdir dir="${build.classes.dir}/META-INF"/>
1.769 <copy failonerror="false" file="${application.splash}" todir="${build.classes.dir}/META-INF"/>
1.770 - <manifest file="${tmp.manifest.file}" mode="update">
1.771 + <manifest encoding="UTF-8" file="${tmp.manifest.file}" mode="update">
1.772 <attribute name="SplashScreen-Image" value="META-INF/${splashscreen.basename}"/>
1.773 </manifest>
1.774 </target>
1.775 - <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">
1.776 + <target depends="init,compile" name="-check-do-mkdist">
1.777 + <condition property="do.mkdist">
1.778 + <and>
1.779 + <isset property="do.archive"/>
1.780 + <isset property="libs.CopyLibs.classpath"/>
1.781 + <not>
1.782 + <istrue value="${mkdist.disabled}"/>
1.783 + </not>
1.784 + <not>
1.785 + <available file="${build.classes.dir}/module-info.class"/>
1.786 + </not>
1.787 + </and>
1.788 + </condition>
1.789 + </target>
1.790 + <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.791 <j2seproject3:copylibs manifest="${tmp.manifest.file}"/>
1.792 <echo level="info">To run this application from the command line without Ant, try:</echo>
1.793 <property location="${dist.jar}" name="dist.jar.resolved"/>
1.794 <echo level="info">java -jar "${dist.jar.resolved}"</echo>
1.795 </target>
1.796 - <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">
1.797 + <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.798 <j2seproject1:jar manifest="${tmp.manifest.file}"/>
1.799 <property location="${build.classes.dir}" name="build.classes.dir.resolved"/>
1.800 <property location="${dist.jar}" name="dist.jar.resolved"/>
1.801 + <condition else="${dist.jar.resolved}" property="jar.usage.message.class.path.replacement" value="">
1.802 + <isset property="named.module.internal"/>
1.803 + </condition>
1.804 <pathconvert property="run.classpath.with.dist.jar">
1.805 <path path="${run.classpath}"/>
1.806 + <map from="${build.classes.dir.resolved}" to="${jar.usage.message.class.path.replacement}"/>
1.807 + </pathconvert>
1.808 + <pathconvert property="run.modulepath.with.dist.jar">
1.809 + <path location="${dist.jar.resolved}"/>
1.810 + <path path="${run.modulepath}"/>
1.811 <map from="${build.classes.dir.resolved}" to="${dist.jar.resolved}"/>
1.812 </pathconvert>
1.813 - <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}">
1.814 + <condition else="${run.modulepath}" property="jar.usage.message.run.modulepath.with.dist.jar" value="${run.modulepath.with.dist.jar}">
1.815 + <isset property="named.module.internal"/>
1.816 + </condition>
1.817 + <condition else="" property="jar.usage.message.module.path" value=" -p ${jar.usage.message.run.modulepath.with.dist.jar}">
1.818 + <and>
1.819 + <isset property="modules.supported.internal"/>
1.820 + <length length="0" string="${jar.usage.message.run.modulepath.with.dist.jar}" when="greater"/>
1.821 + </and>
1.822 + </condition>
1.823 + <condition else="" property="jar.usage.message.class.path" value=" -cp ${run.classpath.with.dist.jar}">
1.824 + <length length="0" string="${run.classpath.with.dist.jar}" when="greater"/>
1.825 + </condition>
1.826 + <condition else="/${main.class}" property="jar.usage.message.main.class.class.selector" value="">
1.827 + <isset property="do.module.main.class"/>
1.828 + </condition>
1.829 + <condition else=" ${main.class}" property="jar.usage.message.main.class" value=" -m ${module.name}${jar.usage.message.main.class.class.selector}">
1.830 + <isset property="named.module.internal"/>
1.831 + </condition>
1.832 + <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.833 <isset property="main.class.available"/>
1.834 </condition>
1.835 <condition else="debug" property="jar.usage.level" value="info">
1.836 @@ -1022,8 +1254,73 @@
1.837 <!-- Empty placeholder for easier customization. -->
1.838 <!-- You can override this target in the ../build.xml file. -->
1.839 </target>
1.840 - <target depends="init,compile,-pre-jar,-do-jar-without-libraries,-do-jar-with-libraries,-post-jar" name="-do-jar"/>
1.841 - <target depends="init,compile,-pre-jar,-do-jar,-post-jar" description="Build JAR." name="jar"/>
1.842 + <target depends="init,compile,-pre-jar,-set-module-main-class,-do-jar-without-libraries,-do-jar-with-libraries,-post-jar" name="-do-jar"/>
1.843 + <target depends="init,compile,-pre-jar,-do-jar,-post-jar,deploy" description="Build JAR." name="jar"/>
1.844 + <!--
1.845 + =================
1.846 + DEPLOY SECTION
1.847 + =================
1.848 + -->
1.849 + <target name="-pre-deploy">
1.850 + <!-- Empty placeholder for easier customization. -->
1.851 + <!-- You can override this target in the ../build.xml file. -->
1.852 + </target>
1.853 + <target depends="init" name="-check-jlink">
1.854 + <condition property="do.jlink.internal">
1.855 + <and>
1.856 + <istrue value="${do.jlink}"/>
1.857 + <isset property="do.archive"/>
1.858 + <isset property="named.module.internal"/>
1.859 + </and>
1.860 + </condition>
1.861 + </target>
1.862 + <target depends="init,-do-jar,-post-jar,-pre-deploy,-check-jlink" if="do.jlink.internal" name="-do-deploy">
1.863 + <delete dir="${dist.jlink.dir}" failonerror="false" quiet="true"/>
1.864 + <property name="jlink.launcher.name" value="${application.title}"/>
1.865 + <condition else="${module.name}" property="jlink.add.modules" value="${module.name},${jlink.additionalmodules}">
1.866 + <and>
1.867 + <isset property="jlink.additionalmodules"/>
1.868 + <length length="0" string="${jlink.additionalmodules}" when="greater"/>
1.869 + </and>
1.870 + </condition>
1.871 + <condition property="jlink.do.strip.internal">
1.872 + <and>
1.873 + <isset property="jlink.strip"/>
1.874 + <istrue value="${jlink.strip}"/>
1.875 + </and>
1.876 + </condition>
1.877 + <condition property="jlink.do.additionalparam.internal">
1.878 + <and>
1.879 + <isset property="jlink.additionalparam"/>
1.880 + <length length="0" string="${jlink.additionalparam}" when="greater"/>
1.881 + </and>
1.882 + </condition>
1.883 + <condition property="jlink.do.launcher.internal">
1.884 + <and>
1.885 + <istrue value="${jlink.launcher}"/>
1.886 + <isset property="main.class.available"/>
1.887 + </and>
1.888 + </condition>
1.889 + <property name="platform.jlink" value="${jdk.home}/bin/jlink"/>
1.890 + <property name="jlink.systemmodules.internal" value="${jdk.home}/jmods"/>
1.891 + <exec executable="${platform.jlink}">
1.892 + <arg value="--module-path"/>
1.893 + <arg path="${jlink.systemmodules.internal}:${run.modulepath}:${dist.jar}"/>
1.894 + <arg value="--add-modules"/>
1.895 + <arg value="${jlink.add.modules}"/>
1.896 + <arg if:set="jlink.do.strip.internal" value="--strip-debug"/>
1.897 + <arg if:set="jlink.do.launcher.internal" value="--launcher"/>
1.898 + <arg if:set="jlink.do.launcher.internal" value="${jlink.launcher.name}=${module.name}/${main.class}"/>
1.899 + <arg if:set="jlink.do.additionalparam.internal" line="${jlink.additionalparam}"/>
1.900 + <arg value="--output"/>
1.901 + <arg value="${dist.jlink.output}"/>
1.902 + </exec>
1.903 + </target>
1.904 + <target name="-post-deploy">
1.905 + <!-- Empty placeholder for easier customization. -->
1.906 + <!-- You can override this target in the ../build.xml file. -->
1.907 + </target>
1.908 + <target depends="-do-jar,-post-jar,-pre-deploy,-do-deploy,-post-deploy" name="deploy"/>
1.909 <!--
1.910 =================
1.911 EXECUTION SECTION
1.912 @@ -1060,9 +1357,9 @@
1.913 </target>
1.914 <target depends="init,compile" name="-debug-start-debuggee">
1.915 <j2seproject3:debug>
1.916 - <customize>
1.917 + <customizeDebuggee>
1.918 <arg line="${application.args}"/>
1.919 - </customize>
1.920 + </customizeDebuggee>
1.921 </j2seproject3:debug>
1.922 </target>
1.923 <target depends="init,compile,-debug-start-debugger,-debug-start-debuggee" description="Debug project in IDE." if="netbeans.home" name="debug"/>
1.924 @@ -1128,28 +1425,24 @@
1.925 </customize>
1.926 </profile>
1.927 </target>
1.928 - <target depends="profile-init,compile-test-single" if="profiler.info.jvmargs.agent" name="-profile-test-single-pre72">
1.929 + <target depends="-init-macrodef-junit,profile-init,compile-test-single" if="profiler.info.jvmargs.agent" name="-profile-test-single-pre72">
1.930 <fail unless="netbeans.home">This target only works when run from inside the NetBeans IDE.</fail>
1.931 <nbprofiledirect>
1.932 <classpath>
1.933 <path path="${run.test.classpath}"/>
1.934 </classpath>
1.935 </nbprofiledirect>
1.936 - <junit dir="${profiler.info.dir}" errorproperty="tests.failed" failureproperty="tests.failed" fork="true" jvm="${profiler.info.jvm}" showoutput="true">
1.937 - <env key="${profiler.info.pathvar}" path="${profiler.info.agentpath}:${profiler.current.path}"/>
1.938 - <jvmarg value="${profiler.info.jvmargs.agent}"/>
1.939 - <jvmarg line="${profiler.info.jvmargs}"/>
1.940 - <test name="${profile.class}"/>
1.941 - <classpath>
1.942 - <path path="${run.test.classpath}"/>
1.943 - </classpath>
1.944 - <syspropertyset>
1.945 - <propertyref prefix="test-sys-prop."/>
1.946 - <mapper from="test-sys-prop.*" to="*" type="glob"/>
1.947 - </syspropertyset>
1.948 - <formatter type="brief" usefile="false"/>
1.949 - <formatter type="xml"/>
1.950 - </junit>
1.951 + <j2seproject3:junit excludes="${excludes}" includes="${includes}" testincludes="${profile.class}" testmethods="">
1.952 + <customize>
1.953 + <jvmarg value="-agentlib:jdwp=transport=${debug-transport},address=${jpda.address}"/>
1.954 + <env key="${profiler.info.pathvar}" path="${profiler.info.agentpath}:${profiler.current.path}"/>
1.955 + <jvmarg value="${profiler.info.jvmargs.agent}"/>
1.956 + <jvmarg line="${profiler.info.jvmargs}"/>
1.957 + <classpath>
1.958 + <path path="${run.test.classpath}"/>
1.959 + </classpath>
1.960 + </customize>
1.961 + </j2seproject3:junit>
1.962 </target>
1.963 <!--
1.964 end of pre NB72 profiling section
1.965 @@ -1180,7 +1473,7 @@
1.966 <target depends="-profile-check" description="Profile a selected class in the IDE." if="profiler.configured" name="profile-test-with-main">
1.967 <fail unless="run.class">Must select one file in the IDE or set run.class</fail>
1.968 <startprofiler/>
1.969 - <antcal target="run-test-with-main"/>
1.970 + <antcall target="run-test-with-main"/>
1.971 </target>
1.972 <target depends="-profile-check,-profile-applet-pre72" if="profiler.configured" name="profile-applet" unless="profiler.info.jvmargs.agent">
1.973 <fail unless="applet.url">Must select one file in the IDE or set applet.url</fail>
1.974 @@ -1205,6 +1498,12 @@
1.975 <condition else="" property="bug5101868workaround" value="*.java">
1.976 <matches pattern="1\.[56](\..*)?" string="${java.version}"/>
1.977 </condition>
1.978 + <condition else="" property="javadoc.html5.cmd.line.arg" value="-html5">
1.979 + <and>
1.980 + <isset property="javadoc.html5"/>
1.981 + <available file="${jdk.home}${file.separator}lib${file.separator}jrt-fs.jar"/>
1.982 + </and>
1.983 + </condition>
1.984 <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.985 <classpath>
1.986 <path path="${javac.classpath}"/>
1.987 @@ -1217,6 +1516,7 @@
1.988 <exclude name="*.java"/>
1.989 </fileset>
1.990 <arg line="${javadoc.endorsed.classpath.cmd.line.arg}"/>
1.991 + <arg line="${javadoc.html5.cmd.line.arg}"/>
1.992 </javadoc>
1.993 <copy todir="${dist.javadoc.dir}">
1.994 <fileset dir="${src.dir}" excludes="${excludes}" includes="${includes}">
1.995 @@ -1243,11 +1543,63 @@
1.996 <!-- Empty placeholder for easier customization. -->
1.997 <!-- You can override this target in the ../build.xml file. -->
1.998 </target>
1.999 + <target depends="-init-source-module-properties" if="named.module.internal" name="-init-test-javac-module-properties-with-module">
1.1000 + <j2seproject3:modulename property="test.module.name" sourcepath="${test.src.dir}"/>
1.1001 + <condition else="${empty.dir}" property="javac.test.sourcepath" value="${test.src.dir}">
1.1002 + <and>
1.1003 + <isset property="test.module.name"/>
1.1004 + <length length="0" string="${test.module.name}" when="greater"/>
1.1005 + </and>
1.1006 + </condition>
1.1007 + <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.1008 + <and>
1.1009 + <isset property="test.module.name"/>
1.1010 + <length length="0" string="${test.module.name}" when="greater"/>
1.1011 + </and>
1.1012 + </condition>
1.1013 + </target>
1.1014 + <target depends="-init-source-module-properties" if="named.module.internal" name="-init-test-run-module-properties">
1.1015 + <condition else="${module.name}" property="run.test.addexport.source.module.internal" value="${test.module.name}">
1.1016 + <and>
1.1017 + <isset property="test.module.name"/>
1.1018 + <length length="0" string="${test.module.name}" when="greater"/>
1.1019 + </and>
1.1020 + </condition>
1.1021 + <fileset dir="${build.test.classes.dir}" id="run.test.packages.internal" includes="**/*.class"/>
1.1022 + <property location="${build.test.classes.dir}" name="build.test.classes.dir.abs.internal"/>
1.1023 + <pathconvert pathsep=" " property="run.test.addexports.internal" refid="run.test.packages.internal">
1.1024 + <chainedmapper>
1.1025 + <regexpmapper from="^(.*)\Q${file.separator}\E.*\.class$$" to="\1"/>
1.1026 + <filtermapper>
1.1027 + <uniqfilter/>
1.1028 + <replacestring from="${build.test.classes.dir.abs.internal}" to=""/>
1.1029 + </filtermapper>
1.1030 + <cutdirsmapper dirs="1"/>
1.1031 + <packagemapper from="*" to="--add-exports ${run.test.addexport.source.module.internal}/*=ALL-UNNAMED"/>
1.1032 + </chainedmapper>
1.1033 + </pathconvert>
1.1034 + <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.1035 + <and>
1.1036 + <isset property="test.module.name"/>
1.1037 + <length length="0" string="${test.module.name}" when="greater"/>
1.1038 + </and>
1.1039 + </condition>
1.1040 + </target>
1.1041 + <target depends="-init-source-module-properties" name="-init-test-module-properties-without-module" unless="named.module.internal">
1.1042 + <property name="javac.test.sourcepath" value="${empty.dir}"/>
1.1043 + <property name="javac.test.compilerargs" value=""/>
1.1044 + <property name="run.test.jvmargs" value=""/>
1.1045 + </target>
1.1046 + <target depends="-init-test-javac-module-properties-with-module,-init-test-module-properties-without-module" name="-init-test-module-properties"/>
1.1047 <target if="do.depend.true" name="-compile-test-depend">
1.1048 <j2seproject3:depend classpath="${javac.test.classpath}" destdir="${build.test.classes.dir}" srcdir="${test.src.dir}"/>
1.1049 </target>
1.1050 - <target depends="init,deps-jar,compile,-pre-pre-compile-test,-pre-compile-test,-compile-test-depend" if="have.tests" name="-do-compile-test">
1.1051 - <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.1052 + <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.1053 + <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.1054 + <customize>
1.1055 + <compilerarg line="${javac.test.compilerargs}"/>
1.1056 + </customize>
1.1057 + </j2seproject3:javac>
1.1058 <copy todir="${build.test.classes.dir}">
1.1059 <fileset dir="${test.src.dir}" excludes="${build.classes.excludes},${excludes}" includes="${includes}"/>
1.1060 </copy>
1.1061 @@ -1261,10 +1613,14 @@
1.1062 <!-- Empty placeholder for easier customization. -->
1.1063 <!-- You can override this target in the ../build.xml file. -->
1.1064 </target>
1.1065 - <target depends="init,deps-jar,compile,-pre-pre-compile-test,-pre-compile-test-single" if="have.tests" name="-do-compile-test-single">
1.1066 + <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.1067 <fail unless="javac.includes">Must select some files in the IDE or set javac.includes</fail>
1.1068 <j2seproject3:force-recompile destdir="${build.test.classes.dir}"/>
1.1069 - <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.1070 + <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.1071 + <customize>
1.1072 + <compilerarg line="${javac.test.compilerargs}"/>
1.1073 + </customize>
1.1074 + </j2seproject3:javac>
1.1075 <copy todir="${build.test.classes.dir}">
1.1076 <fileset dir="${test.src.dir}" excludes="${build.classes.excludes},${excludes}" includes="${includes}"/>
1.1077 </copy>
1.1078 @@ -1282,7 +1638,7 @@
1.1079 <target depends="init" if="have.tests" name="-pre-test-run">
1.1080 <mkdir dir="${build.test.results.dir}"/>
1.1081 </target>
1.1082 - <target depends="init,compile-test,-pre-test-run" if="have.tests" name="-do-test-run">
1.1083 + <target depends="init,compile-test,-init-test-run-module-properties,-pre-test-run" if="have.tests" name="-do-test-run">
1.1084 <j2seproject3:test includes="${includes}" testincludes="**/*Test.java"/>
1.1085 </target>
1.1086 <target depends="init,compile-test,-pre-test-run,-do-test-run" if="have.tests" name="-post-test-run">
1.1087 @@ -1294,14 +1650,14 @@
1.1088 <target depends="init" if="have.tests" name="-pre-test-run-single">
1.1089 <mkdir dir="${build.test.results.dir}"/>
1.1090 </target>
1.1091 - <target depends="init,compile-test-single,-pre-test-run-single" if="have.tests" name="-do-test-run-single">
1.1092 + <target depends="init,compile-test-single,-init-test-run-module-properties,-pre-test-run-single" if="have.tests" name="-do-test-run-single">
1.1093 <fail unless="test.includes">Must select some files in the IDE or set test.includes</fail>
1.1094 <j2seproject3:test excludes="" includes="${test.includes}" testincludes="${test.includes}"/>
1.1095 </target>
1.1096 <target depends="init,compile-test-single,-pre-test-run-single,-do-test-run-single" if="have.tests" name="-post-test-run-single">
1.1097 <fail if="tests.failed" unless="ignore.failing.tests">Some tests failed; see details above.</fail>
1.1098 </target>
1.1099 - <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.1100 + <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.1101 <target depends="init,compile-test-single,-pre-test-run-single" if="have.tests" name="-do-test-run-single-method">
1.1102 <fail unless="test.class">Must select some files in the IDE or set test.class</fail>
1.1103 <fail unless="test.method">Must select some method in the IDE or set test.method</fail>
1.1104 @@ -1310,7 +1666,7 @@
1.1105 <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.1106 <fail if="tests.failed" unless="ignore.failing.tests">Some tests failed; see details above.</fail>
1.1107 </target>
1.1108 - <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"/>
1.1109 + <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.1110 <!--
1.1111 =======================
1.1112 TEST DEBUGGING SECTION
1.1113 @@ -1328,8 +1684,8 @@
1.1114 <target depends="init,compile-test" if="netbeans.home+have.tests" name="-debug-start-debugger-test">
1.1115 <j2seproject1:nbjpdastart classpath="${debug.test.classpath}" name="${test.class}"/>
1.1116 </target>
1.1117 - <target depends="init,compile-test-single,-debug-start-debugger-test,-debug-start-debuggee-test" name="debug-test"/>
1.1118 - <target depends="init,compile-test-single,-debug-start-debugger-test,-debug-start-debuggee-test-method" name="debug-test-method"/>
1.1119 + <target depends="init,compile-test-single,-init-test-run-module-properties,-debug-start-debugger-test,-debug-start-debuggee-test" name="debug-test"/>
1.1120 + <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.1121 <target depends="init,-pre-debug-fix,compile-test-single" if="netbeans.home" name="-do-debug-fix-test">
1.1122 <j2seproject1:nbjpdareload dir="${build.test.classes.dir}"/>
1.1123 </target>
1.1124 @@ -1355,9 +1711,9 @@
1.1125 <target depends="init,compile-single" if="netbeans.home" name="-debug-start-debuggee-applet">
1.1126 <fail unless="applet.url">Must select one file in the IDE or set applet.url</fail>
1.1127 <j2seproject3:debug classname="sun.applet.AppletViewer">
1.1128 - <customize>
1.1129 + <customizeDebuggee>
1.1130 <arg value="${applet.url}"/>
1.1131 - </customize>
1.1132 + </customizeDebuggee>
1.1133 </j2seproject3:debug>
1.1134 </target>
1.1135 <target depends="init,compile-single,-debug-start-debugger,-debug-start-debuggee-applet" if="netbeans.home" name="debug-applet"/>
1.1136 @@ -1384,6 +1740,7 @@
1.1137 </target>
1.1138 <target depends="init" name="-do-clean">
1.1139 <delete dir="${build.dir}"/>
1.1140 + <delete dir="${dist.jlink.output}"/>
1.1141 <delete dir="${dist.dir}" followsymlinks="false" includeemptydirs="true"/>
1.1142 </target>
1.1143 <target name="-post-clean">