Index: /applications/editors/josm/plugins/build-common.xml
===================================================================
--- /applications/editors/josm/plugins/build-common.xml	(revision 35713)
+++ /applications/editors/josm/plugins/build-common.xml	(revision 35714)
@@ -47,4 +47,7 @@
     <property name="ivy.jar.file"           location="${ivy.jar.dir}/ivy.jar"/>
     <property name="ivy.version"            value="2.5.0"/>
+    <property name="jacoco.inclbootstrapclasses"  value="false" />
+    <property name="jacoco.inclnolocationclasses" value="false" />
+    <property name="junit.printsummary"     value="on" />
 
     <!-- For platform-specific stuff -->
@@ -59,9 +62,11 @@
     <condition property="isJava13"><matches string="${ant.java.version}" pattern="1[3-9]" /></condition>
     <condition property="isJava14"><matches string="${ant.java.version}" pattern="1[4-9]" /></condition>
+    <condition property="isJava15"><matches string="${ant.java.version}" pattern="1[5-9]" /></condition>
     <condition property="isJava16"><matches string="${ant.java.version}" pattern="1[6-9]" /></condition>
-    <!-- Disable jacoco on Java 16+, see https://github.com/jacoco/jacoco/pull/992 -->
+    <condition property="isJava18"><matches string="${ant.java.version}" pattern="1[8-9]" /></condition>
+    <!-- Disable jacoco on Java 18+, see https://github.com/jacoco/jacoco/pull/1132 -->
     <condition property="coverageByDefault">
         <not>
-            <isset property="isJava16"/>
+            <isset property="isJava18"/>
         </not>
     </condition>
@@ -117,13 +122,13 @@
             encoding="UTF-8" target="${java.lang.version}" source="${java.lang.version}" fork="yes">
             <compilerarg value="-J-Xbootclasspath/p:${toString:jdk8.boot.classpath}" unless:set="isJava9"/>
-            <compilerarg value="-J--add-exports=jdk.compiler/com.sun.tools.javac.api=ALL-UNNAMED" if:set="isJava16" unless:set="noErrorProne"/>
-            <compilerarg value="-J--add-exports=jdk.compiler/com.sun.tools.javac.file=ALL-UNNAMED" if:set="isJava16" unless:set="noErrorProne"/>
-            <compilerarg value="-J--add-exports=jdk.compiler/com.sun.tools.javac.main=ALL-UNNAMED" if:set="isJava16" unless:set="noErrorProne"/>
-            <compilerarg value="-J--add-exports=jdk.compiler/com.sun.tools.javac.tree=ALL-UNNAMED" if:set="isJava16" unless:set="noErrorProne"/>
-            <compilerarg value="-J--add-exports=jdk.compiler/com.sun.tools.javac.code=ALL-UNNAMED" if:set="isJava16" unless:set="noErrorProne"/>
-            <compilerarg value="-J--add-exports=jdk.compiler/com.sun.tools.javac.processing=ALL-UNNAMED" if:set="isJava16" unless:set="noErrorProne"/>
-            <compilerarg value="-J--add-exports=jdk.compiler/com.sun.tools.javac.util=ALL-UNNAMED" if:set="isJava16" unless:set="noErrorProne"/>
-            <compilerarg value="-J--add-exports=jdk.compiler/com.sun.tools.javac.parser=ALL-UNNAMED" if:set="isJava16" unless:set="noErrorProne"/>
-            <compilerarg value="-J--add-opens=jdk.compiler/com.sun.tools.javac.comp=ALL-UNNAMED" if:set="isJava16" unless:set="noErrorProne"/>
+            <compilerarg value="-J--add-exports=jdk.compiler/com.sun.tools.javac.api=ALL-UNNAMED" if:set="isJava11" unless:set="noErrorProne"/>
+            <compilerarg value="-J--add-exports=jdk.compiler/com.sun.tools.javac.file=ALL-UNNAMED" if:set="isJava11" unless:set="noErrorProne"/>
+            <compilerarg value="-J--add-exports=jdk.compiler/com.sun.tools.javac.main=ALL-UNNAMED" if:set="isJava11" unless:set="noErrorProne"/>
+            <compilerarg value="-J--add-exports=jdk.compiler/com.sun.tools.javac.tree=ALL-UNNAMED" if:set="isJava11" unless:set="noErrorProne"/>
+            <compilerarg value="-J--add-exports=jdk.compiler/com.sun.tools.javac.code=ALL-UNNAMED" if:set="isJava11" unless:set="noErrorProne"/>
+            <compilerarg value="-J--add-exports=jdk.compiler/com.sun.tools.javac.processing=ALL-UNNAMED" if:set="isJava11" unless:set="noErrorProne"/>
+            <compilerarg value="-J--add-exports=jdk.compiler/com.sun.tools.javac.util=ALL-UNNAMED" if:set="isJava11" unless:set="noErrorProne"/>
+            <compilerarg value="-J--add-exports=jdk.compiler/com.sun.tools.javac.parser=ALL-UNNAMED" if:set="isJava11" unless:set="noErrorProne"/>
+            <compilerarg value="-J--add-opens=jdk.compiler/com.sun.tools.javac.comp=ALL-UNNAMED" if:set="isJava11" unless:set="noErrorProne"/>
             <compilerarg line="-XDcompilePolicy=simple"/>
             <compilerarg value="-processorpath"/>
@@ -597,6 +602,6 @@
         <sequential>
             <echo message="Running unit tests with JUnit"/>
-            <jacoco:agent destfile="${plugin.test.dir}/jacoco.exec" enabled="${coverageByDefault}" property="jacocoagent"/>
-            <junitlauncher printsummary="yes">
+            <jacoco:agent destfile="${plugin.test.dir}/jacoco.exec" enabled="${coverageByDefault}" inclbootstrapclasses="${jacoco.inclbootstrapclasses}" inclnolocationclasses="${jacoco.inclnolocationclasses}" property="jacocoagent"/>
+            <junitlauncher printsummary="${junit.printsummary}">
                 <classpath>
                     <fileset refid="plugin.requires.jars"/>
@@ -610,4 +615,6 @@
                         <jvmarg value="-Dfile.encoding=UTF-8"/>
                         <jvmarg value="-javaagent:${jmockit.jar}"/>
+	                    <jvmarg value="-Djunit.jupiter.extensions.autodetection.enabled=true"/>
+	                    <jvmarg value="-Djunit.jupiter.execution.parallel.enabled=true"/>
                         <jvmarg value="--add-modules" if:set="isJava9" unless:set="isJava11" />
                         <jvmarg value="java.activation,java.se.ee" if:set="isJava9" unless:set="isJava11" />
@@ -618,9 +625,12 @@
                         <jvmarg value="--add-exports" if:set="isJava9" />
                         <jvmarg value="java.desktop/com.sun.imageio.spi=ALL-UNNAMED" if:set="isJava9" />
-                        <jvmarg value="-XX:+ShowCodeDetailsInExceptionMessages" if:set="isJava14" />
+                        <jvmarg value="-XX:+ShowCodeDetailsInExceptionMessages" if:set="isJava14" unless:set="isJava15" />
                         <sysproperty key="josm.home" value="../00_core_test_config/unit-josm.home"/>
                         <sysproperty key="josm.test.data" value="${plugin.test.dir}/data"/>
                         <sysproperty key="java.awt.headless" value="true"/>
                         <sysproperty key="suppressPermanentFailure" value="${suppressPermanentFailure}"/>
+	                    <sysproperty key="junit.jupiter.execution.parallel.enabled" value="${junit.jupiter.execution.parallel.enabled}" if:set="junit.jupiter.execution.parallel.enabled"/>
+	                    <sysproperty key="junit.jupiter.execution.parallel.mode.default" value="${junit.jupiter.execution.parallel.mode.default}" if:set="junit.jupiter.execution.parallel.mode.default"/>
+	                    <sysproperty key="junit.jupiter.execution.parallel.mode.classes.default" value="${junit.jupiter.execution.parallel.mode.classes.default}" if:set="junit.jupiter.execution.parallel.mode.classes.default"/>
 	                </fork>
                     <listener type="legacy-plain" />
