Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package junit5 for openSUSE:Factory checked in at 2026-05-09 12:59:47 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/junit5 (Old) and /work/SRC/openSUSE:Factory/.junit5.new.1966 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "junit5" Sat May 9 12:59:47 2026 rev:13 rq:1352127 version:5.14.4 Changes: -------- --- /work/SRC/openSUSE:Factory/junit5/junit5.changes 2026-01-13 21:37:23.359018804 +0100 +++ /work/SRC/openSUSE:Factory/.junit5.new.1966/junit5.changes 2026-05-09 12:59:56.513402484 +0200 @@ -1,0 +2,22 @@ +Wed May 6 21:47:44 UTC 2026 - Fridrich Strba <[email protected]> + +- Update to upstream version 5.14.4 + * Principal changes: + + Fixed a race condition in NodeTestTask.parentContext in Junit + Platform + + @EnabledOnJre and @DisabledOnJre once again work reliably when + used with JRE.OTHER in a test running on a Java runtime whose + version is higher than the version of the last JAVA_* constant + in the JRE enum (Junit Jupiter) + + Legacy XML reports now include the index of + @ClassTemplate/@ParameterizedClass invocations in test names + to make them unique (Junit Jupiter) + + Legacy XML reports now include parent display names to make it + easier to distinguish between invocations for different + parameters (Junit Jupiter) +- Follow the same pattern of Bundle-SymbolicName in the artifacts of + junit5-minimal as in the rest of artifacts contained in the main + junit5 package. And align the Bundle-SymbolicName to what the + upstream gradle build produces + +------------------------------------------------------------------- Old: ---- junit-bom-5.14.2.pom junit-jupiter-5.14.2.pom junit-jupiter-api-5.14.2.pom junit-jupiter-engine-5.14.2.pom junit-jupiter-migrationsupport-5.14.2.pom junit-jupiter-params-5.14.2.pom junit-platform-commons-1.14.2.pom junit-platform-console-1.14.2.pom junit-platform-console-standalone-1.14.2.pom junit-platform-engine-1.14.2.pom junit-platform-launcher-1.14.2.pom junit-platform-reporting-1.14.2.pom junit-platform-runner-1.14.2.pom junit-platform-suite-api-1.14.2.pom junit-platform-suite-commons-1.14.2.pom junit-platform-testkit-1.14.2.pom junit-vintage-engine-5.14.2.pom junit5-5.14.2.tar.gz New: ---- junit-bom-5.14.4.pom junit-jupiter-5.14.4.pom junit-jupiter-api-5.14.4.pom junit-jupiter-engine-5.14.4.pom junit-jupiter-migrationsupport-5.14.4.pom junit-jupiter-params-5.14.4.pom junit-platform-commons-1.14.4.pom junit-platform-console-1.14.4.pom junit-platform-console-standalone-1.14.4.pom junit-platform-engine-1.14.4.pom junit-platform-launcher-1.14.4.pom junit-platform-runner-1.14.4.pom junit-platform-suite-api-1.14.4.pom junit-platform-suite-commons-1.14.4.pom junit-platform-suite-engine-1.14.4.pom junit-platform-testkit-1.14.4.pom junit-vintage-engine-5.14.4.pom junit5-5.14.4.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ junit5.spec ++++++ --- /var/tmp/diff_new_pack.QSg2qm/_old 2026-05-09 12:59:57.349436790 +0200 +++ /var/tmp/diff_new_pack.QSg2qm/_new 2026-05-09 12:59:57.349436790 +0200 @@ -22,14 +22,14 @@ %else %bcond_with bootstrap %endif -%global platform_version 1.14.2 +%global platform_version 1.14.4 %global jupiter_version %{version} %global vintage_version %{version} %global base_name junit5 # The automatic requires would be java-headless >= 9, but the # binaries are java 8 compatible %define __requires_exclude java-headless -Version: 5.14.2 +Version: 5.14.4 Release: 0 License: EPL-2.0 Group: Development/Libraries/Java @@ -43,12 +43,12 @@ Source201: https://repo1.maven.org/maven2/org/junit/platform/junit-platform-console/%{platform_version}/junit-platform-console-%{platform_version}.pom Source202: https://repo1.maven.org/maven2/org/junit/platform/junit-platform-console-standalone/%{platform_version}/junit-platform-console-standalone-%{platform_version}.pom Source203: https://repo1.maven.org/maven2/org/junit/platform/junit-platform-engine/%{platform_version}/junit-platform-engine-%{platform_version}.pom -Source205: https://repo1.maven.org/maven2/org/junit/platform/junit-platform-launcher/%{platform_version}/junit-platform-launcher-%{platform_version}.pom -Source206: https://repo1.maven.org/maven2/org/junit/platform/junit-platform-runner/%{platform_version}/junit-platform-runner-%{platform_version}.pom -Source207: https://repo1.maven.org/maven2/org/junit/platform/junit-platform-suite-api/%{platform_version}/junit-platform-suite-api-%{platform_version}.pom -Source208: https://repo1.maven.org/maven2/org/junit/platform/junit-platform-reporting/%{platform_version}/junit-platform-reporting-%{platform_version}.pom +Source204: https://repo1.maven.org/maven2/org/junit/platform/junit-platform-launcher/%{platform_version}/junit-platform-launcher-%{platform_version}.pom +Source205: https://repo1.maven.org/maven2/org/junit/platform/junit-platform-runner/%{platform_version}/junit-platform-runner-%{platform_version}.pom +Source206: https://repo1.maven.org/maven2/org/junit/platform/junit-platform-suite-api/%{platform_version}/junit-platform-suite-api-%{platform_version}.pom +Source207: https://repo1.maven.org/maven2/org/junit/platform/junit-platform-suite-commons/%{platform_version}/junit-platform-suite-commons-%{platform_version}.pom +Source208: https://repo1.maven.org/maven2/org/junit/platform/junit-platform-suite-engine/%{platform_version}/junit-platform-suite-engine-%{platform_version}.pom Source209: https://repo1.maven.org/maven2/org/junit/platform/junit-platform-testkit/%{platform_version}/junit-platform-testkit-%{platform_version}.pom -Source210: https://repo1.maven.org/maven2/org/junit/platform/junit-platform-suite-commons/%{platform_version}/junit-platform-suite-commons-%{platform_version}.pom # Jupiter POMs Source300: https://repo1.maven.org/maven2/org/junit/jupiter/junit-jupiter/%{jupiter_version}/junit-jupiter-%{jupiter_version}.pom Source301: https://repo1.maven.org/maven2/org/junit/jupiter/junit-jupiter-api/%{jupiter_version}/junit-jupiter-api-%{jupiter_version}.pom @@ -86,7 +86,6 @@ BuildRequires: mvn(org.apache.felix:maven-bundle-plugin) BuildRequires: mvn(org.apiguardian:apiguardian-api) BuildRequires: mvn(org.assertj:assertj-core) -BuildRequires: mvn(org.codehaus.mojo:build-helper-maven-plugin) BuildRequires: mvn(org.opentest4j:opentest4j) Requires: %{base_name}-minimal >= %{version} Obsoletes: %{base_name}-guide < %{version} @@ -123,12 +122,12 @@ cp -p %{SOURCE201} junit-platform-console/pom.xml cp -p %{SOURCE202} junit-platform-console-standalone/pom.xml cp -p %{SOURCE203} junit-platform-engine/pom.xml -cp -p %{SOURCE205} junit-platform-launcher/pom.xml -cp -p %{SOURCE206} junit-platform-runner/pom.xml -cp -p %{SOURCE207} junit-platform-suite-api/pom.xml -cp -p %{SOURCE208} junit-platform-reporting/pom.xml +cp -p %{SOURCE204} junit-platform-launcher/pom.xml +cp -p %{SOURCE205} junit-platform-runner/pom.xml +cp -p %{SOURCE206} junit-platform-suite-api/pom.xml +cp -p %{SOURCE207} junit-platform-suite-commons/pom.xml +cp -p %{SOURCE208} junit-platform-suite-engine/pom.xml cp -p %{SOURCE209} junit-platform-testkit/pom.xml -cp -p %{SOURCE210} junit-platform-suite-commons/pom.xml cp -p %{SOURCE300} junit-jupiter/pom.xml cp -p %{SOURCE301} junit-jupiter-api/pom.xml cp -p %{SOURCE302} junit-jupiter-engine/pom.xml @@ -137,17 +136,9 @@ cp -p %{SOURCE400} junit-vintage-engine/pom.xml cp -p %{SOURCE500} junit-bom/pom.xml -for pom in $(find -mindepth 2 -name pom.xml | grep -v tests/); do - module=$(dirname $pom) - if [ -d ${module}/src/module ]; then - mkdir -p ${module}/src/main/java - mv ${module}/src/module/*/module-info.java ${module}/src/main/java/ - fi +for pom in $(find -mindepth 2 -name pom.xml | grep -v tests/ | sort -u); do # Set parent to aggregator %pom_add_parent org.fedoraproject.xmvn.junit5:aggregator:any $pom - # OSGi BSN - bsn=$(sed 's|/pom.xml$||;s|.*/|org.|;s|-|.|g' <<<"$pom") - %pom_xpath_inject pom:project "<properties><osgi.bsn>${bsn}</osgi.bsn></properties>" $pom # Incorrect scope - API guardian is just annotation, needed only during compilation %pom_xpath_set -f "pom:dependency[pom:artifactId='apiguardian-api']/pom:scope" provided $pom %pom_xpath_set -f "pom:dependency[pom:scope='runtime']/pom:scope" compile $pom @@ -169,6 +160,145 @@ %pom_disable_module junit-platform-commons %pom_disable_module junit-jupiter-api +# Special BND instructions in several artifacts (converted from *.kts files) +%pom_xpath_inject pom:project " +<build> + <plugins> + <plugin> + <groupId>org.apache.felix</groupId> + <artifactId>maven-bundle-plugin</artifactId> + <configuration> + <instructions combine.children=\"append\"> + <Provide-Capability> + org.junit.platform.engine; + org.junit.platform.engine=junit-jupiter; + version:Version=\"\${version_cleanup;\${project.version}}\" + </Provide-Capability> + <Require-Capability> + org.junit.platform.launcher; + filter:='(&(org.junit.platform.launcher=junit-platform-launcher)(version>=\${version_cleanup;%{platform_version}})(!(version>=\${versionmask;+;\${version_cleanup;%{platform_version}}})))'; + effective:=active + </Require-Capability> + </instructions> + </configuration> + </plugin> + </plugins> +</build>" junit-jupiter-engine + +%pom_xpath_inject pom:project " +<build> + <plugins> + <plugin> + <groupId>org.apache.felix</groupId> + <artifactId>maven-bundle-plugin</artifactId> + <configuration> + <instructions combine.children=\"append\"> + <Import-Package> + org.apiguardian.*;resolution:=\"optional\", + org.junit;version=\"[4.12,5)\", + org.junit.platform.commons.logging;status=INTERNAL, + org.junit.rules;version=\"[4.12,5)\", + * + </Import-Package> + </instructions> + </configuration> + </plugin> + </plugins> +</build>" junit-jupiter-migrationsupport + +%pom_xpath_inject pom:project " +<build> + <plugins> + <plugin> + <groupId>org.apache.felix</groupId> + <artifactId>maven-bundle-plugin</artifactId> + <configuration> + <instructions combine.children=\"append\"> + <Require-Capability> + org.junit.platform.engine; + filter:='(&(org.junit.platform.engine=junit-jupiter)(version>=\${version_cleanup;\${project.version}})(!(version>=\${versionmask;+;\${version_cleanup;\${project.version}}})))'; + effective:=active + </Require-Capability> + </instructions> + </configuration> + </plugin> + </plugins> +</build>" junit-jupiter-params + +%pom_xpath_inject pom:project " +<build> + <plugins> + <plugin> + <groupId>org.apache.felix</groupId> + <artifactId>maven-bundle-plugin</artifactId> + <configuration> + <instructions combine.children=\"append\"> + <Import-Package> + org.apiguardian.*;resolution:=\"optional\", + kotlin.*;resolution:="optional", + * + </Import-Package> + <_export-apiguardian></_export-apiguardian> + </instructions> + </configuration> + </plugin> + </plugins> +</build>" junit-platform-console-standalone + +%pom_xpath_inject pom:project " +<build> + <plugins> + <plugin> + <groupId>org.apache.felix</groupId> + <artifactId>maven-bundle-plugin</artifactId> + <configuration> + <instructions combine.children=\"append\"> + <Provide-Capability> + org.junit.platform.launcher; + org.junit.platform.launcher=junit-platform-launcher; + version:Version=\"\${version_cleanup;\${project.version}}\" + </Provide-Capability> + </instructions> + </configuration> + </plugin> + </plugins> +</build>" junit-platform-launcher + +%pom_xpath_inject pom:project " +<build> + <plugins> + <plugin> + <groupId>org.apache.felix</groupId> + <artifactId>maven-bundle-plugin</artifactId> + <configuration> + <instructions combine.children=\"append\"> + <Import-Package> + org.apiguardian.*;resolution:=\"optional\", + junit.runner;version=\"[4.12,5)\", + org.junit;version=\"[4.12,5)\", + org.junit.experimental.categories;version=\"[4.12,5)\", + org.junit.internal.builders;version=\"[4.12,5)\", + org.junit.platform.commons.logging;status=INTERNAL, + org.junit.runner.*;version=\"[4.12,5)\", + org.junit.runners.model;version=\"[4.12,5)\", + * + </Import-Package> + <Provide-Capability> + org.junit.platform.engine; + org.junit.platform.engine=junit-vintage; + version:Version=\"\${version_cleanup;\${project.version}}\" + </Provide-Capability> + <Require-Capability> + org.junit.platform.launcher; + filter:='(&(org.junit.platform.launcher=junit-platform-launcher)(version>=\${version_cleanup;%{platform_version}})(!(version>=\${versionmask;+;\${version_cleanup;%{platform_version}}})))'; + effective:=active + </Require-Capability> + </instructions> + </configuration> + </plugin> + </plugins> +</build>" junit-vintage-engine + %{mvn_package} :junit-bom bom %{mvn_package} :aggregator __noinstall ++++++ _scmsync.obsinfo ++++++ --- /var/tmp/diff_new_pack.QSg2qm/_old 2026-05-09 12:59:57.417439580 +0200 +++ /var/tmp/diff_new_pack.QSg2qm/_new 2026-05-09 12:59:57.421439744 +0200 @@ -1,6 +1,6 @@ -mtime: 1768314715 -commit: ff4b9fefb80a83646f36e9fef7f5c07d45e1b0b95634abef7824fdc8b0d1d99f -url: https://src.opensuse.org/java-packages/junit5.git -revision: ff4b9fefb80a83646f36e9fef7f5c07d45e1b0b95634abef7824fdc8b0d1d99f +mtime: 1778255126 +commit: 1b981cf135d0e99abca00cf445f851a34ae037b00b8ef722e913db92fc79a931 +url: https://src.opensuse.org/java-packages/junit5 +revision: 1b981cf135d0e99abca00cf445f851a34ae037b00b8ef722e913db92fc79a931 projectscmsync: https://src.opensuse.org/java-packages/_ObsPrj ++++++ aggregator.pom ++++++ --- /var/tmp/diff_new_pack.QSg2qm/_old 2026-05-09 12:59:57.441440565 +0200 +++ /var/tmp/diff_new_pack.QSg2qm/_new 2026-05-09 12:59:57.445440729 +0200 @@ -24,6 +24,7 @@ <module>junit-platform-runner</module> <module>junit-platform-suite-api</module> <module>junit-platform-suite-commons</module> + <module>junit-platform-suite-engine</module> <module>junit-platform-testkit</module> <module>junit-vintage-engine</module> </modules> @@ -31,25 +32,6 @@ <pluginManagement> <plugins> <plugin> - <groupId>org.codehaus.mojo</groupId> - <artifactId>build-helper-maven-plugin</artifactId> - <executions> - <execution> - <id>add-sources</id> - <goals> - <goal>add-source</goal> - </goals> - <phase>generate-sources</phase> - <configuration> - <sources> - <source>${project.build.directory}/src/main/java9</source> - <source>${project.build.directory}/src/main/java17</source> - </sources> - </configuration> - </execution> - </executions> - </plugin> - <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <executions> @@ -66,9 +48,6 @@ include module-info in the first (Java 8) compile phase --> <useIncrementalCompilation>false</useIncrementalCompilation> - <excludes> - <exclude>**/module-info.java</exclude> - </excludes> </configuration> </execution> <execution> @@ -78,22 +57,10 @@ </goals> <configuration> <release>9</release> - <includes> - <include>**/src/main/java9/**/*.java</include> - <include>**/src/main/java/module-info.java</include> - </includes> - </configuration> - </execution> - <execution> - <id>java17</id> - <goals> - <goal>compile</goal> - </goals> - <configuration> - <release>17</release> - <includes> - <include>**/src/main/java17/**/*.java</include> - </includes> + <compileSourceRoots> + <compileSourceRoot>${project.basedir}/src/main/java9</compileSourceRoot> + <compileSourceRoot>${project.basedir}/src/module</compileSourceRoot> + </compileSourceRoots> </configuration> </execution> </executions> @@ -110,10 +77,6 @@ </pluginManagement> <plugins> <plugin> - <groupId>org.codehaus.mojo</groupId> - <artifactId>build-helper-maven-plugin</artifactId> - </plugin> - <plugin> <groupId>org.apache.felix</groupId> <artifactId>maven-bundle-plugin</artifactId> <version>2.1.0</version> @@ -126,9 +89,22 @@ </goals> <configuration> <instructions> - <Bundle-SymbolicName>${osgi.bsn}</Bundle-SymbolicName> - <Automatic-Module-Name>${osgi.bsn}</Automatic-Module-Name> - <_nouses>true</_nouses> + <Bundle-SymbolicName>${project.artifactId}</Bundle-SymbolicName> + <Bundle-Name>${project.name}</Bundle-Name> + <Import-Package> + org.apiguardian.*;resolution:="optional", + org.junit.platform.commons.logging;status=INTERNAL, + kotlin.*;resolution:="optional", + * + </Import-Package> + <_nowarn>*</_nowarn> + <_noclassforname>true</_noclassforname> + <_noextraheaders>true</_noextraheaders> + <_removeheaders>Private-Package</_removeheaders> + <_export-apiguardian> + *;version=${versionmask;===;${version_cleanup;${project.version}}} + </_export-apiguardian> + <_noimportjava>true</_noimportjava> </instructions> </configuration> </execution> @@ -136,5 +112,38 @@ </plugin> </plugins> </build> + + <profiles> + <profile> + <id>java17</id> + <activation> + <jdk>[17,)</jdk> + </activation> + <build> + <plugins> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-compiler-plugin</artifactId> + <executions> + <execution> + <id>java17</id> + <goals> + <goal>compile</goal> + </goals> + <configuration> + <release>17</release> + <compileSourceRoots> + <compileSourceRoot>${project.basedir}/src/main/java17</compileSourceRoot> + </compileSourceRoots> + <multiReleaseOutput>true</multiReleaseOutput>> + </configuration> + </execution> + </executions> + </plugin> + </plugins> + </build> + </profile> + </profiles> + </project> ++++++ build.specials.obscpio ++++++ ++++++ build.specials.obscpio ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/.gitignore new/.gitignore --- old/.gitignore 1970-01-01 01:00:00.000000000 +0100 +++ new/.gitignore 2026-05-08 17:45:26.000000000 +0200 @@ -0,0 +1 @@ +.osc ++++++ junit-bom-5.14.2.pom -> junit-bom-5.14.4.pom ++++++ --- /work/SRC/openSUSE:Factory/junit5/junit-bom-5.14.2.pom 2026-01-13 21:37:23.171010985 +0100 +++ /work/SRC/openSUSE:Factory/.junit5.new.1966/junit-bom-5.14.4.pom 2026-05-09 12:59:56.325394770 +0200 @@ -9,7 +9,7 @@ <modelVersion>4.0.0</modelVersion> <groupId>org.junit</groupId> <artifactId>junit-bom</artifactId> - <version>5.14.2</version> + <version>5.14.4</version> <packaging>pom</packaging> <name>JUnit 5 (Bill of Materials)</name> <description>This Bill of Materials POM can be used to ease dependency management when referencing multiple JUnit artifacts using Gradle or Maven.</description> @@ -67,92 +67,92 @@ <dependency> <groupId>org.junit.jupiter</groupId> <artifactId>junit-jupiter</artifactId> - <version>5.14.2</version> + <version>5.14.4</version> </dependency> <dependency> <groupId>org.junit.jupiter</groupId> <artifactId>junit-jupiter-api</artifactId> - <version>5.14.2</version> + <version>5.14.4</version> </dependency> <dependency> <groupId>org.junit.jupiter</groupId> <artifactId>junit-jupiter-engine</artifactId> - <version>5.14.2</version> + <version>5.14.4</version> </dependency> <dependency> <groupId>org.junit.jupiter</groupId> <artifactId>junit-jupiter-migrationsupport</artifactId> - <version>5.14.2</version> + <version>5.14.4</version> </dependency> <dependency> <groupId>org.junit.jupiter</groupId> <artifactId>junit-jupiter-params</artifactId> - <version>5.14.2</version> + <version>5.14.4</version> </dependency> <dependency> <groupId>org.junit.platform</groupId> <artifactId>junit-platform-commons</artifactId> - <version>1.14.2</version> + <version>1.14.4</version> </dependency> <dependency> <groupId>org.junit.platform</groupId> <artifactId>junit-platform-console</artifactId> - <version>1.14.2</version> + <version>1.14.4</version> </dependency> <dependency> <groupId>org.junit.platform</groupId> <artifactId>junit-platform-engine</artifactId> - <version>1.14.2</version> + <version>1.14.4</version> </dependency> <dependency> <groupId>org.junit.platform</groupId> <artifactId>junit-platform-jfr</artifactId> - <version>1.14.2</version> + <version>1.14.4</version> </dependency> <dependency> <groupId>org.junit.platform</groupId> <artifactId>junit-platform-launcher</artifactId> - <version>1.14.2</version> + <version>1.14.4</version> </dependency> <dependency> <groupId>org.junit.platform</groupId> <artifactId>junit-platform-reporting</artifactId> - <version>1.14.2</version> + <version>1.14.4</version> </dependency> <dependency> <groupId>org.junit.platform</groupId> <artifactId>junit-platform-runner</artifactId> - <version>1.14.2</version> + <version>1.14.4</version> </dependency> <dependency> <groupId>org.junit.platform</groupId> <artifactId>junit-platform-suite</artifactId> - <version>1.14.2</version> + <version>1.14.4</version> </dependency> <dependency> <groupId>org.junit.platform</groupId> <artifactId>junit-platform-suite-api</artifactId> - <version>1.14.2</version> + <version>1.14.4</version> </dependency> <dependency> <groupId>org.junit.platform</groupId> <artifactId>junit-platform-suite-commons</artifactId> - <version>1.14.2</version> + <version>1.14.4</version> </dependency> <dependency> <groupId>org.junit.platform</groupId> <artifactId>junit-platform-suite-engine</artifactId> - <version>1.14.2</version> + <version>1.14.4</version> </dependency> <dependency> <groupId>org.junit.platform</groupId> <artifactId>junit-platform-testkit</artifactId> - <version>1.14.2</version> + <version>1.14.4</version> </dependency> <dependency> <groupId>org.junit.vintage</groupId> <artifactId>junit-vintage-engine</artifactId> - <version>5.14.2</version> + <version>5.14.4</version> </dependency> </dependencies> </dependencyManagement> ++++++ junit-jupiter-5.14.2.pom -> junit-jupiter-5.14.4.pom ++++++ --- /work/SRC/openSUSE:Factory/junit5/junit-jupiter-5.14.2.pom 2026-01-13 21:37:23.179011318 +0100 +++ /work/SRC/openSUSE:Factory/.junit5.new.1966/junit-jupiter-5.14.4.pom 2026-05-09 12:59:56.337395262 +0200 @@ -9,7 +9,7 @@ <modelVersion>4.0.0</modelVersion> <groupId>org.junit.jupiter</groupId> <artifactId>junit-jupiter</artifactId> - <version>5.14.2</version> + <version>5.14.4</version> <name>JUnit Jupiter (Aggregator)</name> <description>Module "junit-jupiter" of JUnit 5.</description> <url>https://junit.org/</url> @@ -66,7 +66,7 @@ <dependency> <groupId>org.junit</groupId> <artifactId>junit-bom</artifactId> - <version>5.14.2</version> + <version>5.14.4</version> <type>pom</type> <scope>import</scope> </dependency> @@ -76,19 +76,19 @@ <dependency> <groupId>org.junit.jupiter</groupId> <artifactId>junit-jupiter-api</artifactId> - <version>5.14.2</version> + <version>5.14.4</version> <scope>compile</scope> </dependency> <dependency> <groupId>org.junit.jupiter</groupId> <artifactId>junit-jupiter-params</artifactId> - <version>5.14.2</version> + <version>5.14.4</version> <scope>compile</scope> </dependency> <dependency> <groupId>org.junit.jupiter</groupId> <artifactId>junit-jupiter-engine</artifactId> - <version>5.14.2</version> + <version>5.14.4</version> <scope>runtime</scope> </dependency> </dependencies> ++++++ junit-jupiter-api-5.14.2.pom -> junit-jupiter-api-5.14.4.pom ++++++ --- /work/SRC/openSUSE:Factory/junit5/junit-jupiter-api-5.14.2.pom 2026-01-13 21:37:23.183011485 +0100 +++ /work/SRC/openSUSE:Factory/.junit5.new.1966/junit-jupiter-api-5.14.4.pom 2026-05-09 12:59:56.345395590 +0200 @@ -9,7 +9,7 @@ <modelVersion>4.0.0</modelVersion> <groupId>org.junit.jupiter</groupId> <artifactId>junit-jupiter-api</artifactId> - <version>5.14.2</version> + <version>5.14.4</version> <name>JUnit Jupiter API</name> <description>Module "junit-jupiter-api" of JUnit 5.</description> <url>https://junit.org/</url> @@ -66,7 +66,7 @@ <dependency> <groupId>org.junit</groupId> <artifactId>junit-bom</artifactId> - <version>5.14.2</version> + <version>5.14.4</version> <type>pom</type> <scope>import</scope> </dependency> @@ -82,7 +82,7 @@ <dependency> <groupId>org.junit.platform</groupId> <artifactId>junit-platform-commons</artifactId> - <version>1.14.2</version> + <version>1.14.4</version> <scope>compile</scope> </dependency> <dependency> ++++++ junit-jupiter-engine-5.14.2.pom -> junit-jupiter-engine-5.14.4.pom ++++++ --- /work/SRC/openSUSE:Factory/junit5/junit-jupiter-engine-5.14.2.pom 2026-01-13 21:37:23.191011817 +0100 +++ /work/SRC/openSUSE:Factory/.junit5.new.1966/junit-jupiter-engine-5.14.4.pom 2026-05-09 12:59:56.353395919 +0200 @@ -9,7 +9,7 @@ <modelVersion>4.0.0</modelVersion> <groupId>org.junit.jupiter</groupId> <artifactId>junit-jupiter-engine</artifactId> - <version>5.14.2</version> + <version>5.14.4</version> <name>JUnit Jupiter Engine</name> <description>Module "junit-jupiter-engine" of JUnit 5.</description> <url>https://junit.org/</url> @@ -66,7 +66,7 @@ <dependency> <groupId>org.junit</groupId> <artifactId>junit-bom</artifactId> - <version>5.14.2</version> + <version>5.14.4</version> <type>pom</type> <scope>import</scope> </dependency> @@ -76,13 +76,13 @@ <dependency> <groupId>org.junit.platform</groupId> <artifactId>junit-platform-engine</artifactId> - <version>1.14.2</version> + <version>1.14.4</version> <scope>compile</scope> </dependency> <dependency> <groupId>org.junit.jupiter</groupId> <artifactId>junit-jupiter-api</artifactId> - <version>5.14.2</version> + <version>5.14.4</version> <scope>compile</scope> </dependency> <dependency> ++++++ junit-jupiter-migrationsupport-5.14.2.pom -> junit-jupiter-migrationsupport-5.14.4.pom ++++++ --- /work/SRC/openSUSE:Factory/junit5/junit-jupiter-migrationsupport-5.14.2.pom 2026-01-13 21:37:23.199012150 +0100 +++ /work/SRC/openSUSE:Factory/.junit5.new.1966/junit-jupiter-migrationsupport-5.14.4.pom 2026-05-09 12:59:56.361396247 +0200 @@ -9,7 +9,7 @@ <modelVersion>4.0.0</modelVersion> <groupId>org.junit.jupiter</groupId> <artifactId>junit-jupiter-migrationsupport</artifactId> - <version>5.14.2</version> + <version>5.14.4</version> <name>JUnit Jupiter Migration Support</name> <description>Module "junit-jupiter-migrationsupport" of JUnit 5.</description> <url>https://junit.org/</url> @@ -66,7 +66,7 @@ <dependency> <groupId>org.junit</groupId> <artifactId>junit-bom</artifactId> - <version>5.14.2</version> + <version>5.14.4</version> <type>pom</type> <scope>import</scope> </dependency> @@ -82,7 +82,7 @@ <dependency> <groupId>org.junit.jupiter</groupId> <artifactId>junit-jupiter-api</artifactId> - <version>5.14.2</version> + <version>5.14.4</version> <scope>compile</scope> </dependency> <dependency> ++++++ junit-jupiter-params-5.14.2.pom -> junit-jupiter-params-5.14.4.pom ++++++ --- /work/SRC/openSUSE:Factory/junit5/junit-jupiter-params-5.14.2.pom 2026-01-13 21:37:23.215012816 +0100 +++ /work/SRC/openSUSE:Factory/.junit5.new.1966/junit-jupiter-params-5.14.4.pom 2026-05-09 12:59:56.369396575 +0200 @@ -9,7 +9,7 @@ <modelVersion>4.0.0</modelVersion> <groupId>org.junit.jupiter</groupId> <artifactId>junit-jupiter-params</artifactId> - <version>5.14.2</version> + <version>5.14.4</version> <name>JUnit Jupiter Params</name> <description>Module "junit-jupiter-params" of JUnit 5.</description> <url>https://junit.org/</url> @@ -66,7 +66,7 @@ <dependency> <groupId>org.junit</groupId> <artifactId>junit-bom</artifactId> - <version>5.14.2</version> + <version>5.14.4</version> <type>pom</type> <scope>import</scope> </dependency> @@ -76,7 +76,7 @@ <dependency> <groupId>org.junit.jupiter</groupId> <artifactId>junit-jupiter-api</artifactId> - <version>5.14.2</version> + <version>5.14.4</version> <scope>compile</scope> </dependency> <dependency> ++++++ junit-platform-commons-1.14.2.pom -> junit-platform-commons-1.14.4.pom ++++++ --- /work/SRC/openSUSE:Factory/junit5/junit-platform-commons-1.14.2.pom 2026-01-13 21:37:23.223013148 +0100 +++ /work/SRC/openSUSE:Factory/.junit5.new.1966/junit-platform-commons-1.14.4.pom 2026-05-09 12:59:56.377396904 +0200 @@ -9,7 +9,7 @@ <modelVersion>4.0.0</modelVersion> <groupId>org.junit.platform</groupId> <artifactId>junit-platform-commons</artifactId> - <version>1.14.2</version> + <version>1.14.4</version> <name>JUnit Platform Commons</name> <description>Module "junit-platform-commons" of JUnit 5.</description> <url>https://junit.org/</url> @@ -66,7 +66,7 @@ <dependency> <groupId>org.junit</groupId> <artifactId>junit-bom</artifactId> - <version>5.14.2</version> + <version>5.14.4</version> <type>pom</type> <scope>import</scope> </dependency> ++++++ junit-platform-console-1.14.2.pom -> junit-platform-console-1.14.4.pom ++++++ --- /work/SRC/openSUSE:Factory/junit5/junit-platform-console-1.14.2.pom 2026-01-13 21:37:23.235013647 +0100 +++ /work/SRC/openSUSE:Factory/.junit5.new.1966/junit-platform-console-1.14.4.pom 2026-05-09 12:59:56.385397232 +0200 @@ -9,7 +9,7 @@ <modelVersion>4.0.0</modelVersion> <groupId>org.junit.platform</groupId> <artifactId>junit-platform-console</artifactId> - <version>1.14.2</version> + <version>1.14.4</version> <name>JUnit Platform Console</name> <description>Module "junit-platform-console" of JUnit 5.</description> <url>https://junit.org/</url> @@ -66,7 +66,7 @@ <dependency> <groupId>org.junit</groupId> <artifactId>junit-bom</artifactId> - <version>5.14.2</version> + <version>5.14.4</version> <type>pom</type> <scope>import</scope> </dependency> @@ -76,7 +76,7 @@ <dependency> <groupId>org.junit.platform</groupId> <artifactId>junit-platform-reporting</artifactId> - <version>1.14.2</version> + <version>1.14.4</version> <scope>compile</scope> </dependency> <dependency> ++++++ junit-platform-console-standalone-1.14.2.pom -> junit-platform-console-standalone-1.14.4.pom ++++++ --- /work/SRC/openSUSE:Factory/junit5/junit-platform-console-standalone-1.14.2.pom 2026-01-13 21:37:23.239013814 +0100 +++ /work/SRC/openSUSE:Factory/.junit5.new.1966/junit-platform-console-standalone-1.14.4.pom 2026-05-09 12:59:56.393397560 +0200 @@ -9,7 +9,7 @@ <modelVersion>4.0.0</modelVersion> <groupId>org.junit.platform</groupId> <artifactId>junit-platform-console-standalone</artifactId> - <version>1.14.2</version> + <version>1.14.4</version> <name>JUnit Platform Console Standalone</name> <description>Module "junit-platform-console-standalone" of JUnit 5.</description> <url>https://junit.org/</url> ++++++ junit-platform-engine-1.14.2.pom -> junit-platform-engine-1.14.4.pom ++++++ --- /work/SRC/openSUSE:Factory/junit5/junit-platform-engine-1.14.2.pom 2026-01-13 21:37:23.247014146 +0100 +++ /work/SRC/openSUSE:Factory/.junit5.new.1966/junit-platform-engine-1.14.4.pom 2026-05-09 12:59:56.401397888 +0200 @@ -9,7 +9,7 @@ <modelVersion>4.0.0</modelVersion> <groupId>org.junit.platform</groupId> <artifactId>junit-platform-engine</artifactId> - <version>1.14.2</version> + <version>1.14.4</version> <name>JUnit Platform Engine API</name> <description>Module "junit-platform-engine" of JUnit 5.</description> <url>https://junit.org/</url> @@ -66,7 +66,7 @@ <dependency> <groupId>org.junit</groupId> <artifactId>junit-bom</artifactId> - <version>5.14.2</version> + <version>5.14.4</version> <type>pom</type> <scope>import</scope> </dependency> @@ -82,7 +82,7 @@ <dependency> <groupId>org.junit.platform</groupId> <artifactId>junit-platform-commons</artifactId> - <version>1.14.2</version> + <version>1.14.4</version> <scope>compile</scope> </dependency> <dependency> ++++++ junit-platform-launcher-1.14.2.pom -> junit-platform-launcher-1.14.4.pom ++++++ --- /work/SRC/openSUSE:Factory/junit5/junit-platform-launcher-1.14.2.pom 2026-01-13 21:37:23.255014479 +0100 +++ /work/SRC/openSUSE:Factory/.junit5.new.1966/junit-platform-launcher-1.14.4.pom 2026-05-09 12:59:56.409398217 +0200 @@ -9,7 +9,7 @@ <modelVersion>4.0.0</modelVersion> <groupId>org.junit.platform</groupId> <artifactId>junit-platform-launcher</artifactId> - <version>1.14.2</version> + <version>1.14.4</version> <name>JUnit Platform Launcher</name> <description>Module "junit-platform-launcher" of JUnit 5.</description> <url>https://junit.org/</url> @@ -66,7 +66,7 @@ <dependency> <groupId>org.junit</groupId> <artifactId>junit-bom</artifactId> - <version>5.14.2</version> + <version>5.14.4</version> <type>pom</type> <scope>import</scope> </dependency> @@ -76,7 +76,7 @@ <dependency> <groupId>org.junit.platform</groupId> <artifactId>junit-platform-engine</artifactId> - <version>1.14.2</version> + <version>1.14.4</version> <scope>compile</scope> </dependency> <dependency> ++++++ junit-platform-runner-1.14.2.pom -> junit-platform-runner-1.14.4.pom ++++++ --- /work/SRC/openSUSE:Factory/junit5/junit-platform-runner-1.14.2.pom 2026-01-13 21:37:23.271015144 +0100 +++ /work/SRC/openSUSE:Factory/.junit5.new.1966/junit-platform-runner-1.14.4.pom 2026-05-09 12:59:56.417398544 +0200 @@ -9,7 +9,7 @@ <modelVersion>4.0.0</modelVersion> <groupId>org.junit.platform</groupId> <artifactId>junit-platform-runner</artifactId> - <version>1.14.2</version> + <version>1.14.4</version> <name>JUnit Platform Runner</name> <description>Module "junit-platform-runner" of JUnit 5.</description> <url>https://junit.org/</url> @@ -66,7 +66,7 @@ <dependency> <groupId>org.junit</groupId> <artifactId>junit-bom</artifactId> - <version>5.14.2</version> + <version>5.14.4</version> <type>pom</type> <scope>import</scope> </dependency> @@ -82,13 +82,13 @@ <dependency> <groupId>org.junit.platform</groupId> <artifactId>junit-platform-launcher</artifactId> - <version>1.14.2</version> + <version>1.14.4</version> <scope>compile</scope> </dependency> <dependency> <groupId>org.junit.platform</groupId> <artifactId>junit-platform-suite-api</artifactId> - <version>1.14.2</version> + <version>1.14.4</version> <scope>compile</scope> </dependency> <dependency> @@ -100,7 +100,7 @@ <dependency> <groupId>org.junit.platform</groupId> <artifactId>junit-platform-suite-commons</artifactId> - <version>1.14.2</version> + <version>1.14.4</version> <scope>runtime</scope> </dependency> </dependencies> ++++++ junit-platform-suite-api-1.14.2.pom -> junit-platform-suite-api-1.14.4.pom ++++++ --- /work/SRC/openSUSE:Factory/junit5/junit-platform-suite-api-1.14.2.pom 2026-01-13 21:37:23.279015477 +0100 +++ /work/SRC/openSUSE:Factory/.junit5.new.1966/junit-platform-suite-api-1.14.4.pom 2026-05-09 12:59:56.425398873 +0200 @@ -9,7 +9,7 @@ <modelVersion>4.0.0</modelVersion> <groupId>org.junit.platform</groupId> <artifactId>junit-platform-suite-api</artifactId> - <version>1.14.2</version> + <version>1.14.4</version> <name>JUnit Platform Suite API</name> <description>Module "junit-platform-suite-api" of JUnit 5.</description> <url>https://junit.org/</url> @@ -66,7 +66,7 @@ <dependency> <groupId>org.junit</groupId> <artifactId>junit-bom</artifactId> - <version>5.14.2</version> + <version>5.14.4</version> <type>pom</type> <scope>import</scope> </dependency> @@ -76,7 +76,7 @@ <dependency> <groupId>org.junit.platform</groupId> <artifactId>junit-platform-commons</artifactId> - <version>1.14.2</version> + <version>1.14.4</version> <scope>compile</scope> </dependency> <dependency> ++++++ junit-platform-suite-commons-1.14.2.pom -> junit-platform-suite-commons-1.14.4.pom ++++++ --- /work/SRC/openSUSE:Factory/junit5/junit-platform-suite-commons-1.14.2.pom 2026-01-13 21:37:23.291015976 +0100 +++ /work/SRC/openSUSE:Factory/.junit5.new.1966/junit-platform-suite-commons-1.14.4.pom 2026-05-09 12:59:56.433399201 +0200 @@ -9,7 +9,7 @@ <modelVersion>4.0.0</modelVersion> <groupId>org.junit.platform</groupId> <artifactId>junit-platform-suite-commons</artifactId> - <version>1.14.2</version> + <version>1.14.4</version> <name>JUnit Platform Suite Commons</name> <description>Module "junit-platform-suite-commons" of JUnit 5.</description> <url>https://junit.org/</url> @@ -66,7 +66,7 @@ <dependency> <groupId>org.junit</groupId> <artifactId>junit-bom</artifactId> - <version>5.14.2</version> + <version>5.14.4</version> <type>pom</type> <scope>import</scope> </dependency> @@ -76,7 +76,7 @@ <dependency> <groupId>org.junit.platform</groupId> <artifactId>junit-platform-launcher</artifactId> - <version>1.14.2</version> + <version>1.14.4</version> <scope>compile</scope> </dependency> <dependency> @@ -88,13 +88,13 @@ <dependency> <groupId>org.junit.platform</groupId> <artifactId>junit-platform-engine</artifactId> - <version>1.14.2</version> + <version>1.14.4</version> <scope>runtime</scope> </dependency> <dependency> <groupId>org.junit.platform</groupId> <artifactId>junit-platform-suite-api</artifactId> - <version>1.14.2</version> + <version>1.14.4</version> <scope>runtime</scope> </dependency> </dependencies> ++++++ junit-platform-suite-engine-1.14.4.pom ++++++ <?xml version="1.0" encoding="UTF-8"?> <project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <!-- This module was also published with a richer model, Gradle metadata, --> <!-- which should be used instead. Do not delete the following line which --> <!-- is to indicate to Gradle or any Gradle module metadata file consumer --> <!-- that they should prefer consuming it instead. --> <!-- do_not_remove: published-with-gradle-metadata --> <modelVersion>4.0.0</modelVersion> <groupId>org.junit.platform</groupId> <artifactId>junit-platform-suite-engine</artifactId> <version>1.14.4</version> <name>JUnit Platform Suite Engine</name> <description>Module "junit-platform-suite-engine" of JUnit 5.</description> <url>https://junit.org/</url> <licenses> <license> <name>Eclipse Public License v2.0</name> <url>https://www.eclipse.org/legal/epl-v20.html</url> </license> </licenses> <developers> <developer> <id>bechte</id> <name>Stefan Bechtold</name> <email>[email protected]</email> </developer> <developer> <id>jlink</id> <name>Johannes Link</name> <email>[email protected]</email> </developer> <developer> <id>marcphilipp</id> <name>Marc Philipp</name> <email>[email protected]</email> </developer> <developer> <id>mmerdes</id> <name>Matthias Merdes</name> <email>[email protected]</email> </developer> <developer> <id>sbrannen</id> <name>Sam Brannen</name> <email>[email protected]</email> </developer> <developer> <id>sormuras</id> <name>Christian Stein</name> <email>[email protected]</email> </developer> <developer> <id>juliette-derancourt</id> <name>Juliette de Rancourt</name> <email>[email protected]</email> </developer> </developers> <scm> <connection>scm:git:git://github.com/junit-team/junit-framework.git</connection> <developerConnection>scm:git:git://github.com/junit-team/junit-framework.git</developerConnection> <url>https://github.com/junit-team/junit-framework</url> </scm> <dependencyManagement> <dependencies> <dependency> <groupId>org.junit</groupId> <artifactId>junit-bom</artifactId> <version>5.14.4</version> <type>pom</type> <scope>import</scope> </dependency> </dependencies> </dependencyManagement> <dependencies> <dependency> <groupId>org.junit.platform</groupId> <artifactId>junit-platform-engine</artifactId> <version>1.14.4</version> <scope>compile</scope> </dependency> <dependency> <groupId>org.junit.platform</groupId> <artifactId>junit-platform-suite-api</artifactId> <version>1.14.4</version> <scope>compile</scope> </dependency> <dependency> <groupId>org.apiguardian</groupId> <artifactId>apiguardian-api</artifactId> <version>1.1.2</version> <scope>compile</scope> </dependency> <dependency> <groupId>org.junit.platform</groupId> <artifactId>junit-platform-suite-commons</artifactId> <version>1.14.4</version> <scope>runtime</scope> </dependency> </dependencies> </project> ++++++ junit-platform-testkit-1.14.2.pom -> junit-platform-testkit-1.14.4.pom ++++++ --- /work/SRC/openSUSE:Factory/junit5/junit-platform-testkit-1.14.2.pom 2026-01-13 21:37:23.299016308 +0100 +++ /work/SRC/openSUSE:Factory/.junit5.new.1966/junit-platform-testkit-1.14.4.pom 2026-05-09 12:59:56.449399858 +0200 @@ -9,7 +9,7 @@ <modelVersion>4.0.0</modelVersion> <groupId>org.junit.platform</groupId> <artifactId>junit-platform-testkit</artifactId> - <version>1.14.2</version> + <version>1.14.4</version> <name>JUnit Platform Test Kit</name> <description>Module "junit-platform-testkit" of JUnit 5.</description> <url>https://junit.org/</url> @@ -66,7 +66,7 @@ <dependency> <groupId>org.junit</groupId> <artifactId>junit-bom</artifactId> - <version>5.14.2</version> + <version>5.14.4</version> <type>pom</type> <scope>import</scope> </dependency> @@ -88,7 +88,7 @@ <dependency> <groupId>org.junit.platform</groupId> <artifactId>junit-platform-launcher</artifactId> - <version>1.14.2</version> + <version>1.14.4</version> <scope>compile</scope> </dependency> <dependency> ++++++ junit-vintage-engine-5.14.2.pom -> junit-vintage-engine-5.14.4.pom ++++++ --- /work/SRC/openSUSE:Factory/junit5/junit-vintage-engine-5.14.2.pom 2026-01-13 21:37:23.311016808 +0100 +++ /work/SRC/openSUSE:Factory/.junit5.new.1966/junit-vintage-engine-5.14.4.pom 2026-05-09 12:59:56.461400351 +0200 @@ -9,7 +9,7 @@ <modelVersion>4.0.0</modelVersion> <groupId>org.junit.vintage</groupId> <artifactId>junit-vintage-engine</artifactId> - <version>5.14.2</version> + <version>5.14.4</version> <name>JUnit Vintage Engine</name> <description>Module "junit-vintage-engine" of JUnit 5.</description> <url>https://junit.org/</url> @@ -66,7 +66,7 @@ <dependency> <groupId>org.junit</groupId> <artifactId>junit-bom</artifactId> - <version>5.14.2</version> + <version>5.14.4</version> <type>pom</type> <scope>import</scope> </dependency> @@ -76,7 +76,7 @@ <dependency> <groupId>org.junit.platform</groupId> <artifactId>junit-platform-engine</artifactId> - <version>1.14.2</version> + <version>1.14.4</version> <scope>compile</scope> </dependency> <dependency> ++++++ junit5-5.14.2.tar.gz -> junit5-5.14.4.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/junit-framework-r5.14.2/.github/workflows/cross-version.yml new/junit-framework-r5.14.4/.github/workflows/cross-version.yml --- old/junit-framework-r5.14.2/.github/workflows/cross-version.yml 2026-01-06 16:00:29.000000000 +0100 +++ new/junit-framework-r5.14.4/.github/workflows/cross-version.yml 2026-04-26 13:18:46.000000000 +0200 @@ -22,11 +22,11 @@ fail-fast: false matrix: jdk: - - version: 24 - type: ga - version: 25 - type: ea + type: ga - version: 26 + type: ga + - version: 27 type: ea name: "OpenJDK ${{ matrix.jdk.version }} (${{ matrix.jdk.release || matrix.jdk.type }})" runs-on: ubuntu-latest diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/junit-framework-r5.14.2/.github/workflows/release.yml new/junit-framework-r5.14.4/.github/workflows/release.yml --- old/junit-framework-r5.14.2/.github/workflows/release.yml 2026-01-06 16:00:29.000000000 +0100 +++ new/junit-framework-r5.14.4/.github/workflows/release.yml 2026-04-26 13:18:46.000000000 +0200 @@ -184,23 +184,32 @@ permissions: actions: write steps: + - name: Check out repository + uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1 + with: + fetch-depth: 1 + persist-credentials: false - name: Trigger deployment env: GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} run: gh workflow run deploy-docs.yml --repo junit-team/junit-framework --ref docs-site + - name: Install Poppler (for pdfinfo) + run: | + sudo apt-get update + sudo apt-get install --yes poppler-utils - name: Wait for deployment if: ${{ inputs.dryRun == false }} - id: pagesDeployment timeout-minutes: 30 - run: | - URL="https://docs.junit.org/${{ inputs.releaseVersion }}/_exports/junit-user-guide-${{ inputs.releaseVersion }}.pdf" - ./.github/scripts/waitForUrl.sh "$URL" - echo "pdfUrl=$URL" >> "$GITHUB_OUTPUT" + run: ./.github/scripts/waitForUrl.sh "${URL}" + env: + URL: https://docs.junit.org/${{ inputs.releaseVersion }}/ - name: Verify integrity of PDF version of User Guide - if: ${{ inputs.dryRun == false }} + if: inputs.dryRun == false && !contains(inputs.releaseVersion, '-') run: | - curl --silent --fail --location --output /tmp/junit-user-guide.pdf "${{ steps.pagesDeployment.outputs.pdfUrl }}" + curl --silent --fail --location --output /tmp/junit-user-guide.pdf "${PDF_URL}" pdfinfo /tmp/junit-user-guide.pdf + env: + PDF_URL: https://docs.junit.org/${{ inputs.releaseVersion }}/_exports/junit-user-guide-${{ inputs.releaseVersion }}.pdf update_examples: name: Update examples @@ -261,7 +270,7 @@ generate_release_notes: true, body: `JUnit ${jupiterVersion} = Platform ${platformVersion} + Jupiter ${jupiterVersion} + Vintage ${vintageVersion}\n\nSee [Release Notes](https://docs.junit.org/${releaseVersion}/release-notes/).`, prerelease: releaseVersion.includes("-"), - make_latest: false, + make_latest: "false", }; console.log(requestBody); await github.rest.repos.createRelease(requestBody); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/junit-framework-r5.14.2/documentation/antora-playbook.yml new/junit-framework-r5.14.4/documentation/antora-playbook.yml --- old/junit-framework-r5.14.2/documentation/antora-playbook.yml 2026-01-06 16:00:29.000000000 +0100 +++ new/junit-framework-r5.14.4/documentation/antora-playbook.yml 2026-04-26 13:18:46.000000000 +0200 @@ -5,6 +5,7 @@ - require: '@springio/antora-extensions/root-component-extension' root_component_name: junit - require: '@springio/antora-extensions/root-attachments-extension' + - require: '@springio/antora-xref-extension' site: title: JUnit User Guide url: https://docs.junit.org diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/junit-framework-r5.14.2/documentation/antora.yml new/junit-framework-r5.14.4/documentation/antora.yml --- old/junit-framework-r5.14.2/documentation/antora.yml 2026-01-06 16:00:29.000000000 +0100 +++ new/junit-framework-r5.14.4/documentation/antora.yml 2026-04-26 13:18:46.000000000 +0200 @@ -3,6 +3,7 @@ title: JUnit nav: - modules/ROOT/nav.adoc + - modules/ROOT/extra-site-nav.adoc ext: collector: run: @@ -22,9 +23,12 @@ - dir: ./build/plantuml clean: true into: modules/ROOT/images + assembler: + nav: + - modules/ROOT/nav.adoc asciidoc: attributes: - javadoc-root: "xref:attachment$api/" + javadoc-root: "xref:attachment$api" # Snapshot Repository snapshot-repo: 'https://central.sonatype.com/service/rest/repository/browse/maven-snapshots' # Base Links diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/junit-framework-r5.14.2/documentation/modules/ROOT/extra-site-nav.adoc new/junit-framework-r5.14.4/documentation/modules/ROOT/extra-site-nav.adoc --- old/junit-framework-r5.14.2/documentation/modules/ROOT/extra-site-nav.adoc 1970-01-01 01:00:00.000000000 +0100 +++ new/junit-framework-r5.14.4/documentation/modules/ROOT/extra-site-nav.adoc 2026-04-26 13:18:46.000000000 +0200 @@ -0,0 +1 @@ +* {javadoc-root}/index.html[Javadoc] diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/junit-framework-r5.14.2/documentation/modules/ROOT/pages/advanced-topics/engines.adoc new/junit-framework-r5.14.4/documentation/modules/ROOT/pages/advanced-topics/engines.adoc --- old/junit-framework-r5.14.2/documentation/modules/ROOT/pages/advanced-topics/engines.adoc 2026-01-06 16:00:29.000000000 +0100 +++ new/junit-framework-r5.14.4/documentation/modules/ROOT/pages/advanced-topics/engines.adoc 2026-04-26 13:18:46.000000000 +0200 @@ -4,7 +4,7 @@ programming model. For example, JUnit provides a `TestEngine` that discovers and executes tests written using -the JUnit Jupiter programming model (see xref:writing-tests/intro.adoc#tests[Writing Tests] and xref:extensions/overview.adoc[]). +the JUnit Jupiter programming model (see xref:writing-tests/intro.adoc[Writing Tests] and xref:extensions/overview.adoc[]). [[junit]] == JUnit Test Engines diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/junit-framework-r5.14.2/documentation/modules/ROOT/pages/appendix.adoc new/junit-framework-r5.14.4/documentation/modules/ROOT/pages/appendix.adoc --- old/junit-framework-r5.14.2/documentation/modules/ROOT/pages/appendix.adoc 2026-01-06 16:00:29.000000000 +0100 +++ new/junit-framework-r5.14.4/documentation/modules/ROOT/pages/appendix.adoc 2026-04-26 13:18:46.000000000 +0200 @@ -105,7 +105,7 @@ `junit-jupiter-api`, `junit-jupiter-params`, and `junit-jupiter-engine` for simplified dependency management in build tools such as Gradle and Maven. `junit-jupiter-api`:: - JUnit Jupiter API for xref:writing-tests/intro.adoc#tests[writing tests] and xref:extensions/overview.adoc[extensions]. + JUnit Jupiter API for xref:writing-tests/intro.adoc[writing tests] and xref:extensions/overview.adoc[extensions]. `junit-jupiter-engine`:: JUnit Jupiter test engine implementation; only required at runtime. `junit-jupiter-params`:: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/junit-framework-r5.14.2/documentation/modules/ROOT/pages/overview.adoc new/junit-framework-r5.14.4/documentation/modules/ROOT/pages/overview.adoc --- old/junit-framework-r5.14.2/documentation/modules/ROOT/pages/overview.adoc 2026-01-06 16:00:29.000000000 +0100 +++ new/junit-framework-r5.14.4/documentation/modules/ROOT/pages/overview.adoc 2026-04-26 13:18:46.000000000 +0200 @@ -30,7 +30,7 @@ xref:running-tests/ide-support.adoc#vscode[Visual Studio Code]) and build tools (see xref:running-tests/build-support.adoc#gradle[Gradle], xref:running-tests/build-support.adoc#maven[Maven], and xref:running-tests/build-support.adoc#ant[Ant]). -**JUnit Jupiter** is the combination of the xref:writing-tests/intro.adoc#tests[programming model] and +**JUnit Jupiter** is the combination of the xref:writing-tests/intro.adoc[programming model] and xref:extensions/overview.adoc[extension model] for writing tests and extensions in JUnit 5. The Jupiter sub-project provides a `TestEngine` for running Jupiter based tests on the platform. @@ -65,7 +65,7 @@ To find out what features are available in JUnit 5 and how to use them, read the corresponding sections of this User Guide, organized by topic. -* xref:writing-tests/intro.adoc#tests[Writing Tests in JUnit Jupiter] +* xref:writing-tests/intro.adoc[Writing Tests in JUnit Jupiter] * xref:migrating-from-junit4.adoc[Migrating from JUnit 4 to JUnit Jupiter] * xref:running-tests/intro.adoc[] * xref:extensions/overview.adoc[Extension Model for JUnit Jupiter] diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/junit-framework-r5.14.2/documentation/modules/ROOT/pages/release-notes.adoc new/junit-framework-r5.14.4/documentation/modules/ROOT/pages/release-notes.adoc --- old/junit-framework-r5.14.2/documentation/modules/ROOT/pages/release-notes.adoc 2026-01-06 16:00:29.000000000 +0100 +++ new/junit-framework-r5.14.4/documentation/modules/ROOT/pages/release-notes.adoc 2026-04-26 13:18:46.000000000 +0200 @@ -9,6 +9,10 @@ reference documentation for programmers writing tests, extension authors, and engine authors as well as build tool and IDE vendors. +include::partial$release-notes/release-notes-5.14.4.adoc[] + +include::partial$release-notes/release-notes-5.14.3.adoc[] + include::partial$release-notes/release-notes-5.14.2.adoc[] include::partial$release-notes/release-notes-5.14.1.adoc[] diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/junit-framework-r5.14.2/documentation/modules/ROOT/partials/release-notes/release-notes-5.14.3.adoc new/junit-framework-r5.14.4/documentation/modules/ROOT/partials/release-notes/release-notes-5.14.3.adoc --- old/junit-framework-r5.14.2/documentation/modules/ROOT/partials/release-notes/release-notes-5.14.3.adoc 1970-01-01 01:00:00.000000000 +0100 +++ new/junit-framework-r5.14.4/documentation/modules/ROOT/partials/release-notes/release-notes-5.14.3.adoc 2026-04-26 13:18:46.000000000 +0200 @@ -0,0 +1,33 @@ +[[v5.14.3]] +== 5.14.3 + +*Date of Release:* February 15, 2026 + +*Scope:* Bug fixes and enhancements since 5.14.2 + +For a complete list of all _closed_ issues and pull requests for this release, consult the +link:{junit-framework-repo}+/milestone/117?closed=1+[5.14.3] milestone page in the JUnit +repository on GitHub. + + +[[v5.14.3-junit-platform]] +=== JUnit Platform + +No changes. + + +[[v5.14.3-junit-jupiter]] +=== JUnit Jupiter + +[[v5.14.3-junit-jupiter-bug-fixes]] +==== Bug Fixes + +* `@EnabledOnJre` and `@DisabledOnJre` once again work reliably when used with `JRE.OTHER` + in a test running on a Java runtime whose version is higher than the version of the last + `JAVA_*` constant in the `JRE` enum. + + +[[v5.14.3-junit-vintage]] +=== JUnit Vintage + +No changes. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/junit-framework-r5.14.2/documentation/modules/ROOT/partials/release-notes/release-notes-5.14.4.adoc new/junit-framework-r5.14.4/documentation/modules/ROOT/partials/release-notes/release-notes-5.14.4.adoc --- old/junit-framework-r5.14.2/documentation/modules/ROOT/partials/release-notes/release-notes-5.14.4.adoc 1970-01-01 01:00:00.000000000 +0100 +++ new/junit-framework-r5.14.4/documentation/modules/ROOT/partials/release-notes/release-notes-5.14.4.adoc 2026-04-26 13:18:46.000000000 +0200 @@ -0,0 +1,37 @@ +[[v5.14.4]] +== 5.14.4 + +*Date of Release:* April 26, 2026 + +*Scope:* Bug fixes and enhancements since 5.14.3 + +For a complete list of all _closed_ issues and pull requests for this release, consult the +link:{junit-framework-repo}+/milestone/118?closed=1+[5.14.4] milestone page in the JUnit +repository on GitHub. + + +[[v5.14.4-junit-platform]] +=== JUnit Platform + +[[v5.14.4-junit-platform-bug-fixes]] +==== Bug Fixes + +* A race condition in `NodeTestTask.parentContext` has been fixed. + + +[[v5.14.4-junit-jupiter]] +=== JUnit Jupiter + +[[v5.14.4-junit-jupiter-bug-fixes]] +==== Bug Fixes + +* Legacy XML reports now include the index of `@ClassTemplate`/`@ParameterizedClass` + invocations in test names to make them unique. +* Legacy XML reports now include parent display names to make it easier to distinguish + between invocations for different parameters. + + +[[v5.14.4-junit-vintage]] +=== JUnit Vintage + +No changes. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/junit-framework-r5.14.2/documentation/package.json new/junit-framework-r5.14.4/documentation/package.json --- old/junit-framework-r5.14.2/documentation/package.json 2026-01-06 16:00:29.000000000 +0100 +++ new/junit-framework-r5.14.4/documentation/package.json 2026-04-26 13:18:46.000000000 +0200 @@ -7,6 +7,7 @@ "@antora/collector-extension": "1.0.2", "@antora/lunr-extension": "1.0.0-alpha.10", "@springio/antora-extensions": "1.14.7", + "@springio/antora-xref-extension": "^1.0.0-alpha.5", "highlight.js": "11.11.1" } } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/junit-framework-r5.14.2/gradle/plugins/japicmp/src/main/kotlin/junitbuild.japicmp.gradle.kts new/junit-framework-r5.14.4/gradle/plugins/japicmp/src/main/kotlin/junitbuild.japicmp.gradle.kts --- old/junit-framework-r5.14.2/gradle/plugins/japicmp/src/main/kotlin/junitbuild.japicmp.gradle.kts 2026-01-06 16:00:29.000000000 +0100 +++ new/junit-framework-r5.14.4/gradle/plugins/japicmp/src/main/kotlin/junitbuild.japicmp.gradle.kts 2026-04-26 13:18:46.000000000 +0200 @@ -30,7 +30,7 @@ } previousVersion.apply { convention(provider { - if (group == "org.junit.platform") "1.14.1" else "5.14.1" + if (group == "org.junit.platform") "1.14.2" else "5.14.2" }) finalizeValueOnRead() } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/junit-framework-r5.14.2/gradle.properties new/junit-framework-r5.14.4/gradle.properties --- old/junit-framework-r5.14.2/gradle.properties 2026-01-06 16:00:29.000000000 +0100 +++ new/junit-framework-r5.14.4/gradle.properties 2026-04-26 13:18:46.000000000 +0200 @@ -1,13 +1,13 @@ group = org.junit -version = 5.14.2 +version = 5.14.4 jupiterGroup = org.junit.jupiter platformGroup = org.junit.platform -platformVersion = 1.14.2 +platformVersion = 1.14.4 vintageGroup = org.junit.vintage -vintageVersion = 5.14.2 +vintageVersion = 5.14.4 # We need more metaspace due to apparent memory leak in Asciidoctor/JRuby org.gradle.jvmargs=-Xmx1g -XX:MaxMetaspaceSize=512m -XX:+HeapDumpOnOutOfMemoryError diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/junit-framework-r5.14.2/junit-jupiter-api/src/templates/resources/main/org/junit/jupiter/api/condition/JRE.java.jte new/junit-framework-r5.14.4/junit-jupiter-api/src/templates/resources/main/org/junit/jupiter/api/condition/JRE.java.jte --- old/junit-framework-r5.14.2/junit-jupiter-api/src/templates/resources/main/org/junit/jupiter/api/condition/JRE.java.jte 2026-01-06 16:00:29.000000000 +0100 +++ new/junit-framework-r5.14.4/junit-jupiter-api/src/templates/resources/main/org/junit/jupiter/api/condition/JRE.java.jte 2026-04-26 13:18:46.000000000 +0200 @@ -210,17 +210,30 @@ } /** - * @return {@code true} if the supplied version number is known to be the - * Java Runtime Environment version for the currently executing JVM or if - * the supplied version number is {@code -1} and the current JVM version - * could not be determined + * Determine if the supplied version number is considered to be the current + * JRE version. * + * <p>Returns {@code true} if any of the following is {@code true}. + * + * <ul> + * <li>The supplied version number is known to be the Java Runtime Environment + * version for the currently executing JVM.</li> + * <li>The supplied version number is {@link Integer#MAX_VALUE} and the current + * {@code JRE} is {@link JRE#OTHER OTHER}.</li> + * <li>The supplied version number is {@code -1} and the current {@code JRE} + * is {@link JRE#UNDEFINED UNDEFINED}.</li> + * </ul> + * + * @return {@code true} if the supplied version number is considered to be + * the current JRE version * @since 5.12 * @see Runtime.Version#feature() + * @see #isCurrentVersion() + * @see #currentJre() */ @API(status = MAINTAINED, since = "5.13.3") public static boolean isCurrentVersion(int version) { - return version == CURRENT_VERSION; + return (version == CURRENT_VERSION) || (version == JRE.currentJre().version); } static boolean isCurrentVersionWithinRange(int min, int max) { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/junit-framework-r5.14.2/junit-jupiter-api/src/templates/resources/testFixtures/org/junit/jupiter/api/condition/JavaVersionPredicates.java.jte new/junit-framework-r5.14.4/junit-jupiter-api/src/templates/resources/testFixtures/org/junit/jupiter/api/condition/JavaVersionPredicates.java.jte --- old/junit-framework-r5.14.2/junit-jupiter-api/src/templates/resources/testFixtures/org/junit/jupiter/api/condition/JavaVersionPredicates.java.jte 2026-01-06 16:00:29.000000000 +0100 +++ new/junit-framework-r5.14.4/junit-jupiter-api/src/templates/resources/testFixtures/org/junit/jupiter/api/condition/JavaVersionPredicates.java.jte 2026-04-26 13:18:46.000000000 +0200 @@ -19,4 +19,9 @@ return @for(var jre : ForSupport.of(jres))onJava${jre.get().getVersion()}()@if(!jre.isLast()) // || @endif@endfor; } + + static boolean onOtherVersion() { + return JRE.OTHER.isCurrentVersion(); + } + } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/junit-framework-r5.14.2/junit-jupiter-engine/src/main/java/org/junit/jupiter/engine/descriptor/ClassBasedTestDescriptor.java new/junit-framework-r5.14.4/junit-jupiter-engine/src/main/java/org/junit/jupiter/engine/descriptor/ClassBasedTestDescriptor.java --- old/junit-framework-r5.14.2/junit-jupiter-engine/src/main/java/org/junit/jupiter/engine/descriptor/ClassBasedTestDescriptor.java 2026-01-06 16:00:29.000000000 +0100 +++ new/junit-framework-r5.14.4/junit-jupiter-engine/src/main/java/org/junit/jupiter/engine/descriptor/ClassBasedTestDescriptor.java 2026-04-26 13:18:46.000000000 +0200 @@ -126,7 +126,7 @@ } @Override - public final String getLegacyReportingName() { + protected final String getLegacyReportingBaseName() { return getTestClass().getName(); } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/junit-framework-r5.14.2/junit-jupiter-engine/src/main/java/org/junit/jupiter/engine/descriptor/ClassTemplateInvocationTestDescriptor.java new/junit-framework-r5.14.4/junit-jupiter-engine/src/main/java/org/junit/jupiter/engine/descriptor/ClassTemplateInvocationTestDescriptor.java --- old/junit-framework-r5.14.2/junit-jupiter-engine/src/main/java/org/junit/jupiter/engine/descriptor/ClassTemplateInvocationTestDescriptor.java 2026-01-06 16:00:29.000000000 +0100 +++ new/junit-framework-r5.14.4/junit-jupiter-engine/src/main/java/org/junit/jupiter/engine/descriptor/ClassTemplateInvocationTestDescriptor.java 2026-04-26 13:18:46.000000000 +0200 @@ -18,6 +18,7 @@ import static org.junit.jupiter.engine.support.JupiterThrowableCollectorFactory.createThrowableCollector; import java.util.List; +import java.util.OptionalInt; import java.util.Set; import java.util.function.Function; import java.util.function.UnaryOperator; @@ -80,8 +81,13 @@ } @Override - public String getLegacyReportingName() { - return getTestClass().getName() + "[" + index + "]"; + protected String getLegacyReportingBaseName() { + return getTestClass().getName(); + } + + @Override + protected OptionalInt getLegacyReportingIndex() { + return OptionalInt.of(index); } // --- TestClassAware ------------------------------------------------------ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/junit-framework-r5.14.2/junit-jupiter-engine/src/main/java/org/junit/jupiter/engine/descriptor/DynamicNodeTestDescriptor.java new/junit-framework-r5.14.4/junit-jupiter-engine/src/main/java/org/junit/jupiter/engine/descriptor/DynamicNodeTestDescriptor.java --- old/junit-framework-r5.14.2/junit-jupiter-engine/src/main/java/org/junit/jupiter/engine/descriptor/DynamicNodeTestDescriptor.java 2026-01-06 16:00:29.000000000 +0100 +++ new/junit-framework-r5.14.4/junit-jupiter-engine/src/main/java/org/junit/jupiter/engine/descriptor/DynamicNodeTestDescriptor.java 2026-04-26 13:18:46.000000000 +0200 @@ -10,6 +10,8 @@ package org.junit.jupiter.engine.descriptor; +import java.util.OptionalInt; + import org.junit.jupiter.api.DynamicNode; import org.junit.jupiter.api.extension.ExtensionContext; import org.junit.jupiter.engine.config.JupiterConfiguration; @@ -34,16 +36,25 @@ } @Override - public String getLegacyReportingName() { + protected final String getLegacyReportingBaseName() { // @formatter:off return getParent() - .map(TestDescriptor::getLegacyReportingName) - .orElseGet(this::getDisplayName) - + "[" + index + "]"; + .map(parent -> { + if (parent instanceof JupiterTestDescriptor) { + return ((JupiterTestDescriptor) parent).getLegacyReportingBaseName(); + } + return parent.getLegacyReportingName(); + }) + .orElseGet(this::getDisplayName); // @formatter:on } @Override + protected OptionalInt getLegacyReportingIndex() { + return OptionalInt.of(index); + } + + @Override public JupiterEngineExecutionContext prepare(JupiterEngineExecutionContext context) { ExtensionContext extensionContext = new DynamicExtensionContext(context.getExtensionContext(), context.getExecutionListener(), this, context.getConfiguration(), context.getExtensionRegistry(), diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/junit-framework-r5.14.2/junit-jupiter-engine/src/main/java/org/junit/jupiter/engine/descriptor/JupiterTestDescriptor.java new/junit-framework-r5.14.4/junit-jupiter-engine/src/main/java/org/junit/jupiter/engine/descriptor/JupiterTestDescriptor.java --- old/junit-framework-r5.14.2/junit-jupiter-engine/src/main/java/org/junit/jupiter/engine/descriptor/JupiterTestDescriptor.java 2026-01-06 16:00:29.000000000 +0100 +++ new/junit-framework-r5.14.4/junit-jupiter-engine/src/main/java/org/junit/jupiter/engine/descriptor/JupiterTestDescriptor.java 2026-04-26 13:18:46.000000000 +0200 @@ -12,6 +12,7 @@ import static java.util.Collections.emptySet; import static java.util.stream.Collectors.collectingAndThen; +import static java.util.stream.Collectors.joining; import static java.util.stream.Collectors.toCollection; import static java.util.stream.Collectors.toSet; import static org.apiguardian.api.API.Status.INTERNAL; @@ -24,11 +25,13 @@ import java.util.LinkedHashSet; import java.util.List; import java.util.Optional; +import java.util.OptionalInt; import java.util.Set; import java.util.concurrent.atomic.AtomicReference; import java.util.function.Consumer; import java.util.function.Supplier; import java.util.function.UnaryOperator; +import java.util.stream.IntStream; import org.apiguardian.api.API; import org.junit.jupiter.api.Tag; @@ -77,6 +80,35 @@ // --- TestDescriptor ------------------------------------------------------ + @Override + public final String getLegacyReportingName() { + return getLegacyReportingBaseName() + + getLegacyReportingIndexes().mapToObj(i -> "[" + i + "]").collect(joining()); + } + + protected String getLegacyReportingBaseName() { + return getDisplayName(); + } + + private IntStream getLegacyReportingIndexes() { + OptionalInt ownIndex = getLegacyReportingIndex(); + return getParent() // + .map(it -> it instanceof JupiterTestDescriptor // + ? ((JupiterTestDescriptor) it).getLegacyReportingIndexes() // + : null) // + .map(parentIndexes -> IntStream.concat(parentIndexes, asStream(ownIndex))) // + .orElse(asStream(ownIndex)); + } + + private IntStream asStream(final OptionalInt optInt) { + return optInt.isPresent() ? IntStream.of(optInt.getAsInt()) : IntStream.empty(); + + } + + protected OptionalInt getLegacyReportingIndex() { + return OptionalInt.empty(); + } + static Set<TestTag> getTags(AnnotatedElement element, Supplier<String> elementDescription, Supplier<TestSource> sourceProvider, Consumer<DiscoveryIssue> issueCollector) { AtomicReference<TestSource> source = new AtomicReference<>(); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/junit-framework-r5.14.2/junit-jupiter-engine/src/main/java/org/junit/jupiter/engine/descriptor/MethodBasedTestDescriptor.java new/junit-framework-r5.14.4/junit-jupiter-engine/src/main/java/org/junit/jupiter/engine/descriptor/MethodBasedTestDescriptor.java --- old/junit-framework-r5.14.2/junit-jupiter-engine/src/main/java/org/junit/jupiter/engine/descriptor/MethodBasedTestDescriptor.java 2026-01-06 16:00:29.000000000 +0100 +++ new/junit-framework-r5.14.4/junit-jupiter-engine/src/main/java/org/junit/jupiter/engine/descriptor/MethodBasedTestDescriptor.java 2026-04-26 13:18:46.000000000 +0200 @@ -87,7 +87,7 @@ } @Override - public String getLegacyReportingName() { + protected final String getLegacyReportingBaseName() { return String.format("%s(%s)", getTestMethod().getName(), ClassUtils.nullSafeToString(Class::getSimpleName, getTestMethod().getParameterTypes())); } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/junit-framework-r5.14.2/junit-jupiter-engine/src/main/java/org/junit/jupiter/engine/descriptor/TestTemplateInvocationTestDescriptor.java new/junit-framework-r5.14.4/junit-jupiter-engine/src/main/java/org/junit/jupiter/engine/descriptor/TestTemplateInvocationTestDescriptor.java --- old/junit-framework-r5.14.2/junit-jupiter-engine/src/main/java/org/junit/jupiter/engine/descriptor/TestTemplateInvocationTestDescriptor.java 2026-01-06 16:00:29.000000000 +0100 +++ new/junit-framework-r5.14.4/junit-jupiter-engine/src/main/java/org/junit/jupiter/engine/descriptor/TestTemplateInvocationTestDescriptor.java 2026-04-26 13:18:46.000000000 +0200 @@ -14,6 +14,7 @@ import static org.apiguardian.api.API.Status.INTERNAL; import java.lang.reflect.Method; +import java.util.OptionalInt; import java.util.Set; import java.util.function.UnaryOperator; @@ -70,8 +71,8 @@ } @Override - public String getLegacyReportingName() { - return super.getLegacyReportingName() + "[" + index + "]"; + protected OptionalInt getLegacyReportingIndex() { + return OptionalInt.of(index); } @Override diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/junit-framework-r5.14.2/junit-platform-engine/src/main/java/org/junit/platform/engine/support/hierarchical/NodeTestTask.java new/junit-framework-r5.14.4/junit-platform-engine/src/main/java/org/junit/platform/engine/support/hierarchical/NodeTestTask.java --- old/junit-framework-r5.14.2/junit-platform-engine/src/main/java/org/junit/platform/engine/support/hierarchical/NodeTestTask.java 2026-01-06 16:00:29.000000000 +0100 +++ new/junit-framework-r5.14.4/junit-platform-engine/src/main/java/org/junit/platform/engine/support/hierarchical/NodeTestTask.java 2026-04-26 13:18:46.000000000 +0200 @@ -51,7 +51,7 @@ private final Node<C> node; private final Runnable finalizer; - private C parentContext; + private volatile C parentContext; private C context; private SkipResult skipResult; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/junit-framework-r5.14.2/junit-platform-reporting/src/main/java/org/junit/platform/reporting/legacy/xml/XmlReportWriter.java new/junit-framework-r5.14.4/junit-platform-reporting/src/main/java/org/junit/platform/reporting/legacy/xml/XmlReportWriter.java --- old/junit-framework-r5.14.2/junit-platform-reporting/src/main/java/org/junit/platform/reporting/legacy/xml/XmlReportWriter.java 2026-01-06 16:00:29.000000000 +0100 +++ new/junit-framework-r5.14.4/junit-platform-reporting/src/main/java/org/junit/platform/reporting/legacy/xml/XmlReportWriter.java 2026-04-26 13:18:46.000000000 +0200 @@ -37,6 +37,7 @@ import java.net.UnknownHostException; import java.text.NumberFormat; import java.time.LocalDateTime; +import java.util.ArrayDeque; import java.util.ArrayList; import java.util.Collection; import java.util.EnumSet; @@ -116,7 +117,7 @@ Writer out) throws XMLStreamException { try (XmlReport report = new XmlReport(out)) { - report.write(testIdentifier, tests); + report.write(testIdentifier, tests, this.reportData.getTestPlan()); } } @@ -131,16 +132,16 @@ this.xml = factory.createXMLStreamWriter(this.out); } - void write(TestIdentifier testIdentifier, Map<TestIdentifier, AggregatedTestResult> tests) + void write(TestIdentifier testIdentifier, Map<TestIdentifier, AggregatedTestResult> tests, TestPlan testPlan) throws XMLStreamException { xml.writeStartDocument("UTF-8", "1.0"); newLine(); - writeTestsuite(testIdentifier, tests); + writeTestsuite(testIdentifier, tests, testPlan); xml.writeEndDocument(); } - private void writeTestsuite(TestIdentifier testIdentifier, Map<TestIdentifier, AggregatedTestResult> tests) - throws XMLStreamException { + private void writeTestsuite(TestIdentifier testIdentifier, Map<TestIdentifier, AggregatedTestResult> tests, + TestPlan testPlan) throws XMLStreamException { // NumberFormat is not thread-safe. Thus, we instantiate it here and pass it to // writeTestcase instead of using a constant @@ -154,10 +155,10 @@ writeSystemProperties(); for (Entry<TestIdentifier, AggregatedTestResult> entry : tests.entrySet()) { - writeTestcase(entry.getKey(), entry.getValue(), numberFormat); + writeTestcase(entry.getKey(), entry.getValue(), numberFormat, testPlan); } - writeOutputElement("system-out", formatNonStandardAttributesAsString(testIdentifier)); + writeOutputElement("system-out", formatNonStandardAttributesAsString(testIdentifier, testPlan)); xml.writeEndElement(); newLine(); @@ -198,7 +199,7 @@ } private void writeTestcase(TestIdentifier testIdentifier, AggregatedTestResult testResult, - NumberFormat numberFormat) throws XMLStreamException { + NumberFormat numberFormat, TestPlan testPlan) throws XMLStreamException { xml.writeStartElement("testcase"); @@ -211,7 +212,7 @@ List<String> systemOutElements = new ArrayList<>(); List<String> systemErrElements = new ArrayList<>(); - systemOutElements.add(formatNonStandardAttributesAsString(testIdentifier)); + systemOutElements.add(formatNonStandardAttributesAsString(testIdentifier, testPlan)); collectReportEntries(testIdentifier, systemOutElements, systemErrElements); writeOutputElements("system-out", systemOutElements); writeOutputElements("system-err", systemErrElements); @@ -334,9 +335,16 @@ return LocalDateTime.now(reportData.getClock()).withNano(0); } - private String formatNonStandardAttributesAsString(TestIdentifier testIdentifier) { + private String formatNonStandardAttributesAsString(TestIdentifier testIdentifier, TestPlan testPlan) { + ArrayDeque<String> displayNames = new ArrayDeque<>(); + TestIdentifier current = testIdentifier; + while (current != null) { + displayNames.push(current.getDisplayName()); + current = testPlan.getParent(current).orElse(null); + } + String fullDisplayName = String.join(" > ", displayNames); return "unique-id: " + testIdentifier.getUniqueId() // - + "\ndisplay-name: " + testIdentifier.getDisplayName(); + + "\ndisplay-name: " + fullDisplayName; } private void writeOutputElements(String elementName, List<String> elements) throws XMLStreamException { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/junit-framework-r5.14.2/jupiter-tests/src/test/java/org/junit/jupiter/api/condition/DisabledForJreRangeConditionTests.java new/junit-framework-r5.14.4/jupiter-tests/src/test/java/org/junit/jupiter/api/condition/DisabledForJreRangeConditionTests.java --- old/junit-framework-r5.14.2/jupiter-tests/src/test/java/org/junit/jupiter/api/condition/DisabledForJreRangeConditionTests.java 2026-01-06 16:00:29.000000000 +0100 +++ new/junit-framework-r5.14.4/jupiter-tests/src/test/java/org/junit/jupiter/api/condition/DisabledForJreRangeConditionTests.java 2026-04-26 13:18:46.000000000 +0200 @@ -23,6 +23,7 @@ import static org.junit.jupiter.api.condition.JavaVersionPredicates.onJava8; import static org.junit.jupiter.api.condition.JavaVersionPredicates.onJava9; import static org.junit.jupiter.api.condition.JavaVersionPredicates.onKnownVersion; +import static org.junit.jupiter.api.condition.JavaVersionPredicates.onOtherVersion; import static org.junit.platform.commons.test.PreconditionAssertions.assertPreconditionViolationFor; import org.junit.jupiter.api.Test; @@ -266,7 +267,7 @@ @Test void minOtherMaxOther() { evaluateCondition(); - assertDisabledOnCurrentJreIf(!onKnownVersion()); + assertDisabledOnCurrentJreIf(!(onKnownVersion() || onOtherVersion())); } /** diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/junit-framework-r5.14.2/jupiter-tests/src/test/java/org/junit/jupiter/api/condition/DisabledForJreRangeIntegrationTests.java new/junit-framework-r5.14.4/jupiter-tests/src/test/java/org/junit/jupiter/api/condition/DisabledForJreRangeIntegrationTests.java --- old/junit-framework-r5.14.2/jupiter-tests/src/test/java/org/junit/jupiter/api/condition/DisabledForJreRangeIntegrationTests.java 2026-01-06 16:00:29.000000000 +0100 +++ new/junit-framework-r5.14.4/jupiter-tests/src/test/java/org/junit/jupiter/api/condition/DisabledForJreRangeIntegrationTests.java 2026-04-26 13:18:46.000000000 +0200 @@ -33,6 +33,7 @@ import static org.junit.jupiter.api.condition.JavaVersionPredicates.onJava8; import static org.junit.jupiter.api.condition.JavaVersionPredicates.onJava9; import static org.junit.jupiter.api.condition.JavaVersionPredicates.onKnownVersion; +import static org.junit.jupiter.api.condition.JavaVersionPredicates.onOtherVersion; import org.junit.jupiter.api.Disabled; import org.junit.jupiter.api.Test; @@ -206,7 +207,7 @@ @Test @DisabledForJreRange(min = OTHER, max = OTHER) void minOtherMaxOther() { - assertTrue(onKnownVersion()); + assertTrue(onKnownVersion() || onOtherVersion()); } @Test diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/junit-framework-r5.14.2/jupiter-tests/src/test/java/org/junit/jupiter/api/condition/EnabledForJreRangeConditionTests.java new/junit-framework-r5.14.4/jupiter-tests/src/test/java/org/junit/jupiter/api/condition/EnabledForJreRangeConditionTests.java --- old/junit-framework-r5.14.2/jupiter-tests/src/test/java/org/junit/jupiter/api/condition/EnabledForJreRangeConditionTests.java 2026-01-06 16:00:29.000000000 +0100 +++ new/junit-framework-r5.14.4/jupiter-tests/src/test/java/org/junit/jupiter/api/condition/EnabledForJreRangeConditionTests.java 2026-04-26 13:18:46.000000000 +0200 @@ -30,6 +30,7 @@ import static org.junit.jupiter.api.condition.JavaVersionPredicates.onJava8; import static org.junit.jupiter.api.condition.JavaVersionPredicates.onJava9; import static org.junit.jupiter.api.condition.JavaVersionPredicates.onKnownVersion; +import static org.junit.jupiter.api.condition.JavaVersionPredicates.onOtherVersion; import static org.junit.platform.commons.test.PreconditionAssertions.assertPreconditionViolationFor; import org.junit.jupiter.api.Test; @@ -203,8 +204,8 @@ @Test void min20() { evaluateCondition(); - assertEnabledOnCurrentJreIf( - onJava20() || onJava21() || onJava22() || onJava23() || onJava24() || onJava25() || onJava26()); + assertEnabledOnCurrentJreIf(onJava20() || onJava21() || onJava22() || onJava23() || onJava24() || onJava25() + || onJava26() || onOtherVersion()); } /** @@ -315,7 +316,7 @@ void minVersion17MaxVersionMaxInteger() { evaluateCondition(); assertEnabledOnCurrentJreIf(onJava17() || onJava18() || onJava19() || onJava20() || onJava21() || onJava22() - || onJava23() || onJava24() || onJava25() || onJava26()); + || onJava23() || onJava24() || onJava25() || onJava26() || onOtherVersion()); } /** @@ -324,7 +325,7 @@ @Test void minOtherMaxOther() { evaluateCondition(); - assertEnabledOnCurrentJreIf(!onKnownVersion()); + assertEnabledOnCurrentJreIf(!(onKnownVersion() || onOtherVersion())); } /** diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/junit-framework-r5.14.2/jupiter-tests/src/test/java/org/junit/jupiter/api/condition/EnabledForJreRangeIntegrationTests.java new/junit-framework-r5.14.4/jupiter-tests/src/test/java/org/junit/jupiter/api/condition/EnabledForJreRangeIntegrationTests.java --- old/junit-framework-r5.14.2/jupiter-tests/src/test/java/org/junit/jupiter/api/condition/EnabledForJreRangeIntegrationTests.java 2026-01-06 16:00:29.000000000 +0100 +++ new/junit-framework-r5.14.4/jupiter-tests/src/test/java/org/junit/jupiter/api/condition/EnabledForJreRangeIntegrationTests.java 2026-04-26 13:18:46.000000000 +0200 @@ -37,6 +37,7 @@ import static org.junit.jupiter.api.condition.JavaVersionPredicates.onJava8; import static org.junit.jupiter.api.condition.JavaVersionPredicates.onJava9; import static org.junit.jupiter.api.condition.JavaVersionPredicates.onKnownVersion; +import static org.junit.jupiter.api.condition.JavaVersionPredicates.onOtherVersion; import org.junit.jupiter.api.Disabled; import org.junit.jupiter.api.Test; @@ -163,7 +164,7 @@ @Test @EnabledForJreRange(min = JAVA_20) void min20() { - assertTrue(onKnownVersion()); + assertTrue(onKnownVersion() || onOtherVersion()); assertTrue(JRE.currentVersionNumber() >= 20); assertTrue(CURRENT_JRE.compareTo(JAVA_20) >= 0); assertTrue(CURRENT_JRE.version() >= 20); @@ -253,7 +254,7 @@ @Test @EnabledForJreRange(minVersion = 17, maxVersion = Integer.MAX_VALUE) void minVersion17MaxVersionMaxInteger() { - assertTrue(onKnownVersion()); + assertTrue(onKnownVersion() || onOtherVersion()); assertTrue(JRE.currentVersionNumber() >= 17); } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/junit-framework-r5.14.2/jupiter-tests/src/test/java/org/junit/jupiter/params/ParameterizedClassIntegrationTests.java new/junit-framework-r5.14.4/jupiter-tests/src/test/java/org/junit/jupiter/params/ParameterizedClassIntegrationTests.java --- old/junit-framework-r5.14.2/jupiter-tests/src/test/java/org/junit/jupiter/params/ParameterizedClassIntegrationTests.java 2026-01-06 16:00:29.000000000 +0100 +++ new/junit-framework-r5.14.4/jupiter-tests/src/test/java/org/junit/jupiter/params/ParameterizedClassIntegrationTests.java 2026-04-26 13:18:46.000000000 +0200 @@ -37,6 +37,7 @@ import static org.junit.platform.testkit.engine.EventConditions.event; import static org.junit.platform.testkit.engine.EventConditions.finishedSuccessfully; import static org.junit.platform.testkit.engine.EventConditions.finishedWithFailure; +import static org.junit.platform.testkit.engine.EventConditions.legacyReportingName; import static org.junit.platform.testkit.engine.EventConditions.started; import static org.junit.platform.testkit.engine.EventConditions.test; import static org.junit.platform.testkit.engine.EventConditions.uniqueId; @@ -106,6 +107,7 @@ import org.junit.platform.engine.reporting.ReportEntry; import org.junit.platform.testkit.engine.EngineExecutionResults; import org.junit.platform.testkit.engine.Event; +import org.junit.platform.testkit.engine.EventType; import org.junit.platform.testkit.engine.Events; @SuppressWarnings("JUnitMalformedDeclaration") @@ -132,9 +134,9 @@ event(container("#1"), started()), // event(dynamicTestRegistered("test1")), // event(dynamicTestRegistered("test2")), // - event(test("test1"), started()), // + event(test("test1"), legacyReportingName("test1()[1]"), started()), // event(test("test1"), finishedSuccessfully()), // - event(test("test2"), started()), // + event(test("test2"), legacyReportingName("test2()[1]"), started()), // event(test("test2"), finishedSuccessfully()), // event(container("#1"), finishedSuccessfully()), // @@ -142,9 +144,9 @@ event(container("#2"), started()), // event(dynamicTestRegistered("test1")), // event(dynamicTestRegistered("test2")), // - event(test("test1"), started()), // + event(test("test1"), legacyReportingName("test1()[2]"), started()), // event(test("test1"), finishedWithFailure(message(it -> it.contains("negative")))), // - event(test("test2"), started()), // + event(test("test2"), legacyReportingName("test2()[2]"), started()), // event(test("test2"), finishedWithFailure(message(it -> it.contains("negative")))), // event(container("#2"), finishedSuccessfully()), // @@ -461,6 +463,18 @@ "afterAll: %s".formatted(classTemplateClass.getSimpleName()) // @formatter:on ); + var legacyReportingNames = results.testEvents() // + .filter(it -> it.getType() == EventType.STARTED) // + .map(e -> e.getTestDescriptor().getLegacyReportingName()); + assertThat(legacyReportingNames).containsExactly( // + "test(boolean, TestReporter)[1][1][1]", // + "test(boolean, TestReporter)[1][1][2]", // + "test(boolean, TestReporter)[1][2][1]", // + "test(boolean, TestReporter)[1][2][2]", // + "test(boolean, TestReporter)[2][1][1]", // + "test(boolean, TestReporter)[2][1][2]", // + "test(boolean, TestReporter)[2][2][1]", // + "test(boolean, TestReporter)[2][2][2]"); } @ParameterizedTest diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/junit-framework-r5.14.2/platform-tests/src/test/java/org/junit/platform/reporting/legacy/xml/LegacyXmlReportGeneratingListenerTests.java new/junit-framework-r5.14.4/platform-tests/src/test/java/org/junit/platform/reporting/legacy/xml/LegacyXmlReportGeneratingListenerTests.java --- old/junit-framework-r5.14.2/platform-tests/src/test/java/org/junit/platform/reporting/legacy/xml/LegacyXmlReportGeneratingListenerTests.java 2026-01-06 16:00:29.000000000 +0100 +++ new/junit-framework-r5.14.4/platform-tests/src/test/java/org/junit/platform/reporting/legacy/xml/LegacyXmlReportGeneratingListenerTests.java 2026-04-26 13:18:46.000000000 +0200 @@ -90,7 +90,7 @@ assertThat(testcase.attr("classname")).isEqualTo("dummy"); assertThat(testcase.child("system-out").text()) // .containsSubsequence("unique-id: [engine:dummy]/[test:succeedingTest]", - "display-name: display<-->Name 😎"); + "display-name: dummy > display<-->Name 😎"); assertThat(testsuite.find("skipped")).isEmpty(); assertThat(testsuite.find("failure")).isEmpty(); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/junit-framework-r5.14.2/platform-tests/src/test/java/org/junit/platform/reporting/legacy/xml/XmlReportWriterTests.java new/junit-framework-r5.14.4/platform-tests/src/test/java/org/junit/platform/reporting/legacy/xml/XmlReportWriterTests.java --- old/junit-framework-r5.14.2/platform-tests/src/test/java/org/junit/platform/reporting/legacy/xml/XmlReportWriterTests.java 2026-01-06 16:00:29.000000000 +0100 +++ new/junit-framework-r5.14.4/platform-tests/src/test/java/org/junit/platform/reporting/legacy/xml/XmlReportWriterTests.java 2026-04-26 13:18:46.000000000 +0200 @@ -91,9 +91,14 @@ @Test void writesCapturedOutput() throws Exception { - var uniqueId = engineDescriptor.getUniqueId().append("test", "test"); - var testDescriptor = new TestDescriptorStub(uniqueId, "successfulTest"); - engineDescriptor.addChild(testDescriptor); + var classDescriptor = new TestDescriptorStub(engineDescriptor.getUniqueId().append("class", "SomeClass"), + "SomeClass"); + engineDescriptor.addChild(classDescriptor); + + var testDescriptor = new TestDescriptorStub(classDescriptor.getUniqueId().append("test", "successfulTest"), + "successfulTest"); + classDescriptor.addChild(testDescriptor); + var testPlan = TestPlan.from(true, Set.of(engineDescriptor), configParams, dummyOutputDirectoryCreator()); var reportData = new XmlReportData(testPlan, Clock.systemDefaultZone()); @@ -103,13 +108,14 @@ "foo", "bar")); reportData.addReportEntry(TestIdentifier.from(testDescriptor), reportEntry); reportData.addReportEntry(TestIdentifier.from(testDescriptor), ReportEntry.from(Map.of("baz", "qux"))); - reportData.markFinished(testPlan.getTestIdentifier(uniqueId), successful()); + reportData.markFinished(testPlan.getTestIdentifier(testDescriptor.getUniqueId()), successful()); var testsuite = writeXmlReport(testPlan, reportData); assertValidAccordingToJenkinsSchema(testsuite.document()); assertThat(testsuite.find("system-out").text(0)) // - .containsSubsequence("unique-id: ", "test:test", "display-name: successfulTest"); + .containsSubsequence("unique-id: [engine:engine]/[class:SomeClass]/[test:successfulTest]", + "display-name: Engine > SomeClass > successfulTest"); assertThat(testsuite.find("system-out").text(1)) // .containsSubsequence("Report Entry #1 (timestamp: ", "- foo: bar", "Report Entry #2 (timestamp: ", "- baz: qux"); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/junit-framework-r5.14.2/platform-tooling-support-tests/src/test/java/platform/tooling/support/tests/MavenEnvVars.java new/junit-framework-r5.14.4/platform-tooling-support-tests/src/test/java/platform/tooling/support/tests/MavenEnvVars.java --- old/junit-framework-r5.14.2/platform-tooling-support-tests/src/test/java/platform/tooling/support/tests/MavenEnvVars.java 2026-01-06 16:00:29.000000000 +0100 +++ new/junit-framework-r5.14.4/platform-tooling-support-tests/src/test/java/platform/tooling/support/tests/MavenEnvVars.java 2026-04-26 13:18:46.000000000 +0200 @@ -30,12 +30,15 @@ var list = new ArrayList<String>(); if (jre.compareTo(JRE.JAVA_24) >= 0) list.addAll(FOR_JDK24_AND_LATER); - if (jre.compareTo(JRE.JAVA_26) >= 0) { + if (jre == JRE.JAVA_26) { // exclude "leyden" and "valhalla" builds if (Runtime.version().build().orElse(0) >= 25) { list.addAll(FOR_JDK26_AND_LATER); } } + if (jre.compareTo(JRE.OTHER) >= 0) { + list.addAll(FOR_JDK26_AND_LATER); + } return list.isEmpty() ? Map.of() : Map.of("MAVEN_OPTS", String.join(" ", list)); } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/junit-framework-r5.14.2/platform-tooling-support-tests/src/test/resources/platform/tooling/support/tests/AntStarterTests_snapshots/open-test-report.xml.snapshot new/junit-framework-r5.14.4/platform-tooling-support-tests/src/test/resources/platform/tooling/support/tests/AntStarterTests_snapshots/open-test-report.xml.snapshot --- old/junit-framework-r5.14.2/platform-tooling-support-tests/src/test/resources/platform/tooling/support/tests/AntStarterTests_snapshots/open-test-report.xml.snapshot 2026-01-06 16:00:29.000000000 +0100 +++ new/junit-framework-r5.14.4/platform-tooling-support-tests/src/test/resources/platform/tooling/support/tests/AntStarterTests_snapshots/open-test-report.xml.snapshot 2026-04-26 13:18:46.000000000 +0200 @@ -54,7 +54,7 @@ <e:started id="4" name="parameterizedTest(int)" parentId="3" time="2025-03-23T13:14:52.998289212Z"> <metadata> <junit:uniqueId>[engine:junit-jupiter]/[class-template:com.example.project.CalculatorParameterizedClassTests]/[class-template-invocation:#1]/[test-template:parameterizedTest(int)]</junit:uniqueId> - <junit:legacyReportingName>parameterizedTest(int)</junit:legacyReportingName> + <junit:legacyReportingName>parameterizedTest(int)[1]</junit:legacyReportingName> <junit:type>CONTAINER</junit:type> </metadata> <sources> @@ -65,7 +65,7 @@ <e:started id="5" name="[1] 1" parentId="4" time="2025-03-23T13:14:53.008677106Z"> <metadata> <junit:uniqueId>[engine:junit-jupiter]/[class-template:com.example.project.CalculatorParameterizedClassTests]/[class-template-invocation:#1]/[test-template:parameterizedTest(int)]/[test-template-invocation:#1]</junit:uniqueId> - <junit:legacyReportingName>parameterizedTest(int)[1]</junit:legacyReportingName> + <junit:legacyReportingName>parameterizedTest(int)[1][1]</junit:legacyReportingName> <junit:type>TEST</junit:type> </metadata> <sources> @@ -80,7 +80,7 @@ <e:started id="6" name="[2] 2" parentId="4" time="2025-03-23T13:14:53.023592120Z"> <metadata> <junit:uniqueId>[engine:junit-jupiter]/[class-template:com.example.project.CalculatorParameterizedClassTests]/[class-template-invocation:#1]/[test-template:parameterizedTest(int)]/[test-template-invocation:#2]</junit:uniqueId> - <junit:legacyReportingName>parameterizedTest(int)[2]</junit:legacyReportingName> + <junit:legacyReportingName>parameterizedTest(int)[1][2]</junit:legacyReportingName> <junit:type>TEST</junit:type> </metadata> <sources> @@ -99,7 +99,7 @@ <e:started id="7" name="Inner" parentId="3" time="2025-03-23T13:14:53.026002648Z"> <metadata> <junit:uniqueId>[engine:junit-jupiter]/[class-template:com.example.project.CalculatorParameterizedClassTests]/[class-template-invocation:#1]/[nested-class-template:Inner]</junit:uniqueId> - <junit:legacyReportingName>com.example.project.CalculatorParameterizedClassTests$Inner</junit:legacyReportingName> + <junit:legacyReportingName>com.example.project.CalculatorParameterizedClassTests$Inner[1]</junit:legacyReportingName> <junit:type>CONTAINER</junit:type> </metadata> <sources> @@ -110,7 +110,7 @@ <e:started id="8" name="[1] 1" parentId="7" time="2025-03-23T13:14:53.027989515Z"> <metadata> <junit:uniqueId>[engine:junit-jupiter]/[class-template:com.example.project.CalculatorParameterizedClassTests]/[class-template-invocation:#1]/[nested-class-template:Inner]/[class-template-invocation:#1]</junit:uniqueId> - <junit:legacyReportingName>com.example.project.CalculatorParameterizedClassTests$Inner[1]</junit:legacyReportingName> + <junit:legacyReportingName>com.example.project.CalculatorParameterizedClassTests$Inner[1][1]</junit:legacyReportingName> <junit:type>CONTAINER</junit:type> </metadata> <sources> @@ -121,7 +121,7 @@ <e:started id="9" name="regularTest()" parentId="8" time="2025-03-23T13:14:53.029786032Z"> <metadata> <junit:uniqueId>[engine:junit-jupiter]/[class-template:com.example.project.CalculatorParameterizedClassTests]/[class-template-invocation:#1]/[nested-class-template:Inner]/[class-template-invocation:#1]/[method:regularTest()]</junit:uniqueId> - <junit:legacyReportingName>regularTest()</junit:legacyReportingName> + <junit:legacyReportingName>regularTest()[1][1]</junit:legacyReportingName> <junit:type>TEST</junit:type> </metadata> <sources> @@ -140,7 +140,7 @@ <e:started id="10" name="[2] 2" parentId="7" time="2025-03-23T13:14:53.032699802Z"> <metadata> <junit:uniqueId>[engine:junit-jupiter]/[class-template:com.example.project.CalculatorParameterizedClassTests]/[class-template-invocation:#1]/[nested-class-template:Inner]/[class-template-invocation:#2]</junit:uniqueId> - <junit:legacyReportingName>com.example.project.CalculatorParameterizedClassTests$Inner[2]</junit:legacyReportingName> + <junit:legacyReportingName>com.example.project.CalculatorParameterizedClassTests$Inner[1][2]</junit:legacyReportingName> <junit:type>CONTAINER</junit:type> </metadata> <sources> @@ -151,7 +151,7 @@ <e:started id="11" name="regularTest()" parentId="10" time="2025-03-23T13:14:53.033608120Z"> <metadata> <junit:uniqueId>[engine:junit-jupiter]/[class-template:com.example.project.CalculatorParameterizedClassTests]/[class-template-invocation:#1]/[nested-class-template:Inner]/[class-template-invocation:#2]/[method:regularTest()]</junit:uniqueId> - <junit:legacyReportingName>regularTest()</junit:legacyReportingName> + <junit:legacyReportingName>regularTest()[1][2]</junit:legacyReportingName> <junit:type>TEST</junit:type> </metadata> <sources> @@ -189,7 +189,7 @@ <e:started id="13" name="parameterizedTest(int)" parentId="12" time="2025-03-23T13:14:53.037827579Z"> <metadata> <junit:uniqueId>[engine:junit-jupiter]/[class-template:com.example.project.CalculatorParameterizedClassTests]/[class-template-invocation:#2]/[test-template:parameterizedTest(int)]</junit:uniqueId> - <junit:legacyReportingName>parameterizedTest(int)</junit:legacyReportingName> + <junit:legacyReportingName>parameterizedTest(int)[2]</junit:legacyReportingName> <junit:type>CONTAINER</junit:type> </metadata> <sources> @@ -200,7 +200,7 @@ <e:started id="14" name="[1] 1" parentId="13" time="2025-03-23T13:14:53.039333837Z"> <metadata> <junit:uniqueId>[engine:junit-jupiter]/[class-template:com.example.project.CalculatorParameterizedClassTests]/[class-template-invocation:#2]/[test-template:parameterizedTest(int)]/[test-template-invocation:#1]</junit:uniqueId> - <junit:legacyReportingName>parameterizedTest(int)[1]</junit:legacyReportingName> + <junit:legacyReportingName>parameterizedTest(int)[2][1]</junit:legacyReportingName> <junit:type>TEST</junit:type> </metadata> <sources> @@ -215,7 +215,7 @@ <e:started id="15" name="[2] 2" parentId="13" time="2025-03-23T13:14:53.041061063Z"> <metadata> <junit:uniqueId>[engine:junit-jupiter]/[class-template:com.example.project.CalculatorParameterizedClassTests]/[class-template-invocation:#2]/[test-template:parameterizedTest(int)]/[test-template-invocation:#2]</junit:uniqueId> - <junit:legacyReportingName>parameterizedTest(int)[2]</junit:legacyReportingName> + <junit:legacyReportingName>parameterizedTest(int)[2][2]</junit:legacyReportingName> <junit:type>TEST</junit:type> </metadata> <sources> @@ -234,7 +234,7 @@ <e:started id="16" name="Inner" parentId="12" time="2025-03-23T13:14:53.042817885Z"> <metadata> <junit:uniqueId>[engine:junit-jupiter]/[class-template:com.example.project.CalculatorParameterizedClassTests]/[class-template-invocation:#2]/[nested-class-template:Inner]</junit:uniqueId> - <junit:legacyReportingName>com.example.project.CalculatorParameterizedClassTests$Inner</junit:legacyReportingName> + <junit:legacyReportingName>com.example.project.CalculatorParameterizedClassTests$Inner[2]</junit:legacyReportingName> <junit:type>CONTAINER</junit:type> </metadata> <sources> @@ -245,7 +245,7 @@ <e:started id="17" name="[1] 1" parentId="16" time="2025-03-23T13:14:53.044477163Z"> <metadata> <junit:uniqueId>[engine:junit-jupiter]/[class-template:com.example.project.CalculatorParameterizedClassTests]/[class-template-invocation:#2]/[nested-class-template:Inner]/[class-template-invocation:#1]</junit:uniqueId> - <junit:legacyReportingName>com.example.project.CalculatorParameterizedClassTests$Inner[1]</junit:legacyReportingName> + <junit:legacyReportingName>com.example.project.CalculatorParameterizedClassTests$Inner[2][1]</junit:legacyReportingName> <junit:type>CONTAINER</junit:type> </metadata> <sources> @@ -256,7 +256,7 @@ <e:started id="18" name="regularTest()" parentId="17" time="2025-03-23T13:14:53.045461144Z"> <metadata> <junit:uniqueId>[engine:junit-jupiter]/[class-template:com.example.project.CalculatorParameterizedClassTests]/[class-template-invocation:#2]/[nested-class-template:Inner]/[class-template-invocation:#1]/[method:regularTest()]</junit:uniqueId> - <junit:legacyReportingName>regularTest()</junit:legacyReportingName> + <junit:legacyReportingName>regularTest()[2][1]</junit:legacyReportingName> <junit:type>TEST</junit:type> </metadata> <sources> @@ -275,7 +275,7 @@ <e:started id="19" name="[2] 2" parentId="16" time="2025-03-23T13:14:53.047014521Z"> <metadata> <junit:uniqueId>[engine:junit-jupiter]/[class-template:com.example.project.CalculatorParameterizedClassTests]/[class-template-invocation:#2]/[nested-class-template:Inner]/[class-template-invocation:#2]</junit:uniqueId> - <junit:legacyReportingName>com.example.project.CalculatorParameterizedClassTests$Inner[2]</junit:legacyReportingName> + <junit:legacyReportingName>com.example.project.CalculatorParameterizedClassTests$Inner[2][2]</junit:legacyReportingName> <junit:type>CONTAINER</junit:type> </metadata> <sources> @@ -286,7 +286,7 @@ <e:started id="20" name="regularTest()" parentId="19" time="2025-03-23T13:14:53.047746896Z"> <metadata> <junit:uniqueId>[engine:junit-jupiter]/[class-template:com.example.project.CalculatorParameterizedClassTests]/[class-template-invocation:#2]/[nested-class-template:Inner]/[class-template-invocation:#2]/[method:regularTest()]</junit:uniqueId> - <junit:legacyReportingName>regularTest()</junit:legacyReportingName> + <junit:legacyReportingName>regularTest()[2][2]</junit:legacyReportingName> <junit:type>TEST</junit:type> </metadata> <sources> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/junit-framework-r5.14.2/platform-tooling-support-tests/src/test/resources/platform/tooling/support/tests/GradleStarterTests_snapshots/open-test-report.xml.snapshot new/junit-framework-r5.14.4/platform-tooling-support-tests/src/test/resources/platform/tooling/support/tests/GradleStarterTests_snapshots/open-test-report.xml.snapshot --- old/junit-framework-r5.14.2/platform-tooling-support-tests/src/test/resources/platform/tooling/support/tests/GradleStarterTests_snapshots/open-test-report.xml.snapshot 2026-01-06 16:00:29.000000000 +0100 +++ new/junit-framework-r5.14.4/platform-tooling-support-tests/src/test/resources/platform/tooling/support/tests/GradleStarterTests_snapshots/open-test-report.xml.snapshot 2026-04-26 13:18:46.000000000 +0200 @@ -54,7 +54,7 @@ <e:started id="4" name="parameterizedTest(int)" parentId="3" time="2025-03-23T13:09:41.934481780Z"> <metadata> <junit:uniqueId>[engine:junit-jupiter]/[class-template:com.example.project.CalculatorParameterizedClassTests]/[class-template-invocation:#1]/[test-template:parameterizedTest(int)]</junit:uniqueId> - <junit:legacyReportingName>parameterizedTest(int)</junit:legacyReportingName> + <junit:legacyReportingName>parameterizedTest(int)[1]</junit:legacyReportingName> <junit:type>CONTAINER</junit:type> </metadata> <sources> @@ -65,7 +65,7 @@ <e:started id="5" name="[1] 1" parentId="4" time="2025-03-23T13:09:41.945209083Z"> <metadata> <junit:uniqueId>[engine:junit-jupiter]/[class-template:com.example.project.CalculatorParameterizedClassTests]/[class-template-invocation:#1]/[test-template:parameterizedTest(int)]/[test-template-invocation:#1]</junit:uniqueId> - <junit:legacyReportingName>parameterizedTest(int)[1]</junit:legacyReportingName> + <junit:legacyReportingName>parameterizedTest(int)[1][1]</junit:legacyReportingName> <junit:type>TEST</junit:type> </metadata> <sources> @@ -80,7 +80,7 @@ <e:started id="6" name="[2] 2" parentId="4" time="2025-03-23T13:09:41.958401457Z"> <metadata> <junit:uniqueId>[engine:junit-jupiter]/[class-template:com.example.project.CalculatorParameterizedClassTests]/[class-template-invocation:#1]/[test-template:parameterizedTest(int)]/[test-template-invocation:#2]</junit:uniqueId> - <junit:legacyReportingName>parameterizedTest(int)[2]</junit:legacyReportingName> + <junit:legacyReportingName>parameterizedTest(int)[1][2]</junit:legacyReportingName> <junit:type>TEST</junit:type> </metadata> <sources> @@ -99,7 +99,7 @@ <e:started id="7" name="Inner" parentId="3" time="2025-03-23T13:09:41.962824770Z"> <metadata> <junit:uniqueId>[engine:junit-jupiter]/[class-template:com.example.project.CalculatorParameterizedClassTests]/[class-template-invocation:#1]/[nested-class-template:Inner]</junit:uniqueId> - <junit:legacyReportingName>com.example.project.CalculatorParameterizedClassTests$Inner</junit:legacyReportingName> + <junit:legacyReportingName>com.example.project.CalculatorParameterizedClassTests$Inner[1]</junit:legacyReportingName> <junit:type>CONTAINER</junit:type> </metadata> <sources> @@ -110,7 +110,7 @@ <e:started id="8" name="[1] 1" parentId="7" time="2025-03-23T13:09:41.966042658Z"> <metadata> <junit:uniqueId>[engine:junit-jupiter]/[class-template:com.example.project.CalculatorParameterizedClassTests]/[class-template-invocation:#1]/[nested-class-template:Inner]/[class-template-invocation:#1]</junit:uniqueId> - <junit:legacyReportingName>com.example.project.CalculatorParameterizedClassTests$Inner[1]</junit:legacyReportingName> + <junit:legacyReportingName>com.example.project.CalculatorParameterizedClassTests$Inner[1][1]</junit:legacyReportingName> <junit:type>CONTAINER</junit:type> </metadata> <sources> @@ -121,7 +121,7 @@ <e:started id="9" name="regularTest()" parentId="8" time="2025-03-23T13:09:41.967595502Z"> <metadata> <junit:uniqueId>[engine:junit-jupiter]/[class-template:com.example.project.CalculatorParameterizedClassTests]/[class-template-invocation:#1]/[nested-class-template:Inner]/[class-template-invocation:#1]/[method:regularTest()]</junit:uniqueId> - <junit:legacyReportingName>regularTest()</junit:legacyReportingName> + <junit:legacyReportingName>regularTest()[1][1]</junit:legacyReportingName> <junit:type>TEST</junit:type> </metadata> <sources> @@ -140,7 +140,7 @@ <e:started id="10" name="[2] 2" parentId="7" time="2025-03-23T13:09:41.970717090Z"> <metadata> <junit:uniqueId>[engine:junit-jupiter]/[class-template:com.example.project.CalculatorParameterizedClassTests]/[class-template-invocation:#1]/[nested-class-template:Inner]/[class-template-invocation:#2]</junit:uniqueId> - <junit:legacyReportingName>com.example.project.CalculatorParameterizedClassTests$Inner[2]</junit:legacyReportingName> + <junit:legacyReportingName>com.example.project.CalculatorParameterizedClassTests$Inner[1][2]</junit:legacyReportingName> <junit:type>CONTAINER</junit:type> </metadata> <sources> @@ -151,7 +151,7 @@ <e:started id="11" name="regularTest()" parentId="10" time="2025-03-23T13:09:41.972023454Z"> <metadata> <junit:uniqueId>[engine:junit-jupiter]/[class-template:com.example.project.CalculatorParameterizedClassTests]/[class-template-invocation:#1]/[nested-class-template:Inner]/[class-template-invocation:#2]/[method:regularTest()]</junit:uniqueId> - <junit:legacyReportingName>regularTest()</junit:legacyReportingName> + <junit:legacyReportingName>regularTest()[1][2]</junit:legacyReportingName> <junit:type>TEST</junit:type> </metadata> <sources> @@ -189,7 +189,7 @@ <e:started id="13" name="parameterizedTest(int)" parentId="12" time="2025-03-23T13:09:41.978390792Z"> <metadata> <junit:uniqueId>[engine:junit-jupiter]/[class-template:com.example.project.CalculatorParameterizedClassTests]/[class-template-invocation:#2]/[test-template:parameterizedTest(int)]</junit:uniqueId> - <junit:legacyReportingName>parameterizedTest(int)</junit:legacyReportingName> + <junit:legacyReportingName>parameterizedTest(int)[2]</junit:legacyReportingName> <junit:type>CONTAINER</junit:type> </metadata> <sources> @@ -200,7 +200,7 @@ <e:started id="14" name="[1] 1" parentId="13" time="2025-03-23T13:09:41.980269927Z"> <metadata> <junit:uniqueId>[engine:junit-jupiter]/[class-template:com.example.project.CalculatorParameterizedClassTests]/[class-template-invocation:#2]/[test-template:parameterizedTest(int)]/[test-template-invocation:#1]</junit:uniqueId> - <junit:legacyReportingName>parameterizedTest(int)[1]</junit:legacyReportingName> + <junit:legacyReportingName>parameterizedTest(int)[2][1]</junit:legacyReportingName> <junit:type>TEST</junit:type> </metadata> <sources> @@ -215,7 +215,7 @@ <e:started id="15" name="[2] 2" parentId="13" time="2025-03-23T13:09:41.983240152Z"> <metadata> <junit:uniqueId>[engine:junit-jupiter]/[class-template:com.example.project.CalculatorParameterizedClassTests]/[class-template-invocation:#2]/[test-template:parameterizedTest(int)]/[test-template-invocation:#2]</junit:uniqueId> - <junit:legacyReportingName>parameterizedTest(int)[2]</junit:legacyReportingName> + <junit:legacyReportingName>parameterizedTest(int)[2][2]</junit:legacyReportingName> <junit:type>TEST</junit:type> </metadata> <sources> @@ -234,7 +234,7 @@ <e:started id="16" name="Inner" parentId="12" time="2025-03-23T13:09:41.985103698Z"> <metadata> <junit:uniqueId>[engine:junit-jupiter]/[class-template:com.example.project.CalculatorParameterizedClassTests]/[class-template-invocation:#2]/[nested-class-template:Inner]</junit:uniqueId> - <junit:legacyReportingName>com.example.project.CalculatorParameterizedClassTests$Inner</junit:legacyReportingName> + <junit:legacyReportingName>com.example.project.CalculatorParameterizedClassTests$Inner[2]</junit:legacyReportingName> <junit:type>CONTAINER</junit:type> </metadata> <sources> @@ -245,7 +245,7 @@ <e:started id="17" name="[1] 1" parentId="16" time="2025-03-23T13:09:41.986693621Z"> <metadata> <junit:uniqueId>[engine:junit-jupiter]/[class-template:com.example.project.CalculatorParameterizedClassTests]/[class-template-invocation:#2]/[nested-class-template:Inner]/[class-template-invocation:#1]</junit:uniqueId> - <junit:legacyReportingName>com.example.project.CalculatorParameterizedClassTests$Inner[1]</junit:legacyReportingName> + <junit:legacyReportingName>com.example.project.CalculatorParameterizedClassTests$Inner[2][1]</junit:legacyReportingName> <junit:type>CONTAINER</junit:type> </metadata> <sources> @@ -256,7 +256,7 @@ <e:started id="18" name="regularTest()" parentId="17" time="2025-03-23T13:09:41.988031503Z"> <metadata> <junit:uniqueId>[engine:junit-jupiter]/[class-template:com.example.project.CalculatorParameterizedClassTests]/[class-template-invocation:#2]/[nested-class-template:Inner]/[class-template-invocation:#1]/[method:regularTest()]</junit:uniqueId> - <junit:legacyReportingName>regularTest()</junit:legacyReportingName> + <junit:legacyReportingName>regularTest()[2][1]</junit:legacyReportingName> <junit:type>TEST</junit:type> </metadata> <sources> @@ -275,7 +275,7 @@ <e:started id="19" name="[2] 2" parentId="16" time="2025-03-23T13:09:41.989884669Z"> <metadata> <junit:uniqueId>[engine:junit-jupiter]/[class-template:com.example.project.CalculatorParameterizedClassTests]/[class-template-invocation:#2]/[nested-class-template:Inner]/[class-template-invocation:#2]</junit:uniqueId> - <junit:legacyReportingName>com.example.project.CalculatorParameterizedClassTests$Inner[2]</junit:legacyReportingName> + <junit:legacyReportingName>com.example.project.CalculatorParameterizedClassTests$Inner[2][2]</junit:legacyReportingName> <junit:type>CONTAINER</junit:type> </metadata> <sources> @@ -286,7 +286,7 @@ <e:started id="20" name="regularTest()" parentId="19" time="2025-03-23T13:09:41.990722727Z"> <metadata> <junit:uniqueId>[engine:junit-jupiter]/[class-template:com.example.project.CalculatorParameterizedClassTests]/[class-template-invocation:#2]/[nested-class-template:Inner]/[class-template-invocation:#2]/[method:regularTest()]</junit:uniqueId> - <junit:legacyReportingName>regularTest()</junit:legacyReportingName> + <junit:legacyReportingName>regularTest()[2][2]</junit:legacyReportingName> <junit:type>TEST</junit:type> </metadata> <sources> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/junit-framework-r5.14.2/platform-tooling-support-tests/src/test/resources/platform/tooling/support/tests/MavenStarterTests_snapshots/open-test-report.xml.snapshot new/junit-framework-r5.14.4/platform-tooling-support-tests/src/test/resources/platform/tooling/support/tests/MavenStarterTests_snapshots/open-test-report.xml.snapshot --- old/junit-framework-r5.14.2/platform-tooling-support-tests/src/test/resources/platform/tooling/support/tests/MavenStarterTests_snapshots/open-test-report.xml.snapshot 2026-01-06 16:00:29.000000000 +0100 +++ new/junit-framework-r5.14.4/platform-tooling-support-tests/src/test/resources/platform/tooling/support/tests/MavenStarterTests_snapshots/open-test-report.xml.snapshot 2026-04-26 13:18:46.000000000 +0200 @@ -54,7 +54,7 @@ <e:started id="4" name="parameterizedTest(int)" parentId="3" time="2025-03-23T13:17:16.913Z"> <metadata> <junit:uniqueId>[engine:junit-jupiter]/[class-template:com.example.project.CalculatorParameterizedClassTests]/[class-template-invocation:#1]/[test-template:parameterizedTest(int)]</junit:uniqueId> - <junit:legacyReportingName>parameterizedTest(int)</junit:legacyReportingName> + <junit:legacyReportingName>parameterizedTest(int)[1]</junit:legacyReportingName> <junit:type>CONTAINER</junit:type> </metadata> <sources> @@ -65,7 +65,7 @@ <e:started id="5" name="[1] 1" parentId="4" time="2025-03-23T13:17:16.927Z"> <metadata> <junit:uniqueId>[engine:junit-jupiter]/[class-template:com.example.project.CalculatorParameterizedClassTests]/[class-template-invocation:#1]/[test-template:parameterizedTest(int)]/[test-template-invocation:#1]</junit:uniqueId> - <junit:legacyReportingName>parameterizedTest(int)[1]</junit:legacyReportingName> + <junit:legacyReportingName>parameterizedTest(int)[1][1]</junit:legacyReportingName> <junit:type>TEST</junit:type> </metadata> <sources> @@ -80,7 +80,7 @@ <e:started id="6" name="[2] 2" parentId="4" time="2025-03-23T13:17:16.948Z"> <metadata> <junit:uniqueId>[engine:junit-jupiter]/[class-template:com.example.project.CalculatorParameterizedClassTests]/[class-template-invocation:#1]/[test-template:parameterizedTest(int)]/[test-template-invocation:#2]</junit:uniqueId> - <junit:legacyReportingName>parameterizedTest(int)[2]</junit:legacyReportingName> + <junit:legacyReportingName>parameterizedTest(int)[1][2]</junit:legacyReportingName> <junit:type>TEST</junit:type> </metadata> <sources> @@ -99,7 +99,7 @@ <e:started id="7" name="Inner" parentId="3" time="2025-03-23T13:17:16.952Z"> <metadata> <junit:uniqueId>[engine:junit-jupiter]/[class-template:com.example.project.CalculatorParameterizedClassTests]/[class-template-invocation:#1]/[nested-class-template:Inner]</junit:uniqueId> - <junit:legacyReportingName>com.example.project.CalculatorParameterizedClassTests$Inner</junit:legacyReportingName> + <junit:legacyReportingName>com.example.project.CalculatorParameterizedClassTests$Inner[1]</junit:legacyReportingName> <junit:type>CONTAINER</junit:type> </metadata> <sources> @@ -110,7 +110,7 @@ <e:started id="8" name="[1] 1" parentId="7" time="2025-03-23T13:17:16.956Z"> <metadata> <junit:uniqueId>[engine:junit-jupiter]/[class-template:com.example.project.CalculatorParameterizedClassTests]/[class-template-invocation:#1]/[nested-class-template:Inner]/[class-template-invocation:#1]</junit:uniqueId> - <junit:legacyReportingName>com.example.project.CalculatorParameterizedClassTests$Inner[1]</junit:legacyReportingName> + <junit:legacyReportingName>com.example.project.CalculatorParameterizedClassTests$Inner[1][1]</junit:legacyReportingName> <junit:type>CONTAINER</junit:type> </metadata> <sources> @@ -121,7 +121,7 @@ <e:started id="9" name="regularTest()" parentId="8" time="2025-03-23T13:17:16.959Z"> <metadata> <junit:uniqueId>[engine:junit-jupiter]/[class-template:com.example.project.CalculatorParameterizedClassTests]/[class-template-invocation:#1]/[nested-class-template:Inner]/[class-template-invocation:#1]/[method:regularTest()]</junit:uniqueId> - <junit:legacyReportingName>regularTest()</junit:legacyReportingName> + <junit:legacyReportingName>regularTest()[1][1]</junit:legacyReportingName> <junit:type>TEST</junit:type> </metadata> <sources> @@ -140,7 +140,7 @@ <e:started id="10" name="[2] 2" parentId="7" time="2025-03-23T13:17:16.965Z"> <metadata> <junit:uniqueId>[engine:junit-jupiter]/[class-template:com.example.project.CalculatorParameterizedClassTests]/[class-template-invocation:#1]/[nested-class-template:Inner]/[class-template-invocation:#2]</junit:uniqueId> - <junit:legacyReportingName>com.example.project.CalculatorParameterizedClassTests$Inner[2]</junit:legacyReportingName> + <junit:legacyReportingName>com.example.project.CalculatorParameterizedClassTests$Inner[1][2]</junit:legacyReportingName> <junit:type>CONTAINER</junit:type> </metadata> <sources> @@ -151,7 +151,7 @@ <e:started id="11" name="regularTest()" parentId="10" time="2025-03-23T13:17:16.966Z"> <metadata> <junit:uniqueId>[engine:junit-jupiter]/[class-template:com.example.project.CalculatorParameterizedClassTests]/[class-template-invocation:#1]/[nested-class-template:Inner]/[class-template-invocation:#2]/[method:regularTest()]</junit:uniqueId> - <junit:legacyReportingName>regularTest()</junit:legacyReportingName> + <junit:legacyReportingName>regularTest()[1][2]</junit:legacyReportingName> <junit:type>TEST</junit:type> </metadata> <sources> @@ -189,7 +189,7 @@ <e:started id="13" name="parameterizedTest(int)" parentId="12" time="2025-03-23T13:17:16.976Z"> <metadata> <junit:uniqueId>[engine:junit-jupiter]/[class-template:com.example.project.CalculatorParameterizedClassTests]/[class-template-invocation:#2]/[test-template:parameterizedTest(int)]</junit:uniqueId> - <junit:legacyReportingName>parameterizedTest(int)</junit:legacyReportingName> + <junit:legacyReportingName>parameterizedTest(int)[2]</junit:legacyReportingName> <junit:type>CONTAINER</junit:type> </metadata> <sources> @@ -200,7 +200,7 @@ <e:started id="14" name="[1] 1" parentId="13" time="2025-03-23T13:17:16.978Z"> <metadata> <junit:uniqueId>[engine:junit-jupiter]/[class-template:com.example.project.CalculatorParameterizedClassTests]/[class-template-invocation:#2]/[test-template:parameterizedTest(int)]/[test-template-invocation:#1]</junit:uniqueId> - <junit:legacyReportingName>parameterizedTest(int)[1]</junit:legacyReportingName> + <junit:legacyReportingName>parameterizedTest(int)[2][1]</junit:legacyReportingName> <junit:type>TEST</junit:type> </metadata> <sources> @@ -215,7 +215,7 @@ <e:started id="15" name="[2] 2" parentId="13" time="2025-03-23T13:17:16.981Z"> <metadata> <junit:uniqueId>[engine:junit-jupiter]/[class-template:com.example.project.CalculatorParameterizedClassTests]/[class-template-invocation:#2]/[test-template:parameterizedTest(int)]/[test-template-invocation:#2]</junit:uniqueId> - <junit:legacyReportingName>parameterizedTest(int)[2]</junit:legacyReportingName> + <junit:legacyReportingName>parameterizedTest(int)[2][2]</junit:legacyReportingName> <junit:type>TEST</junit:type> </metadata> <sources> @@ -234,7 +234,7 @@ <e:started id="16" name="Inner" parentId="12" time="2025-03-23T13:17:16.983Z"> <metadata> <junit:uniqueId>[engine:junit-jupiter]/[class-template:com.example.project.CalculatorParameterizedClassTests]/[class-template-invocation:#2]/[nested-class-template:Inner]</junit:uniqueId> - <junit:legacyReportingName>com.example.project.CalculatorParameterizedClassTests$Inner</junit:legacyReportingName> + <junit:legacyReportingName>com.example.project.CalculatorParameterizedClassTests$Inner[2]</junit:legacyReportingName> <junit:type>CONTAINER</junit:type> </metadata> <sources> @@ -245,7 +245,7 @@ <e:started id="17" name="[1] 1" parentId="16" time="2025-03-23T13:17:16.985Z"> <metadata> <junit:uniqueId>[engine:junit-jupiter]/[class-template:com.example.project.CalculatorParameterizedClassTests]/[class-template-invocation:#2]/[nested-class-template:Inner]/[class-template-invocation:#1]</junit:uniqueId> - <junit:legacyReportingName>com.example.project.CalculatorParameterizedClassTests$Inner[1]</junit:legacyReportingName> + <junit:legacyReportingName>com.example.project.CalculatorParameterizedClassTests$Inner[2][1]</junit:legacyReportingName> <junit:type>CONTAINER</junit:type> </metadata> <sources> @@ -256,7 +256,7 @@ <e:started id="18" name="regularTest()" parentId="17" time="2025-03-23T13:17:16.987Z"> <metadata> <junit:uniqueId>[engine:junit-jupiter]/[class-template:com.example.project.CalculatorParameterizedClassTests]/[class-template-invocation:#2]/[nested-class-template:Inner]/[class-template-invocation:#1]/[method:regularTest()]</junit:uniqueId> - <junit:legacyReportingName>regularTest()</junit:legacyReportingName> + <junit:legacyReportingName>regularTest()[2][1]</junit:legacyReportingName> <junit:type>TEST</junit:type> </metadata> <sources> @@ -275,7 +275,7 @@ <e:started id="19" name="[2] 2" parentId="16" time="2025-03-23T13:17:16.989Z"> <metadata> <junit:uniqueId>[engine:junit-jupiter]/[class-template:com.example.project.CalculatorParameterizedClassTests]/[class-template-invocation:#2]/[nested-class-template:Inner]/[class-template-invocation:#2]</junit:uniqueId> - <junit:legacyReportingName>com.example.project.CalculatorParameterizedClassTests$Inner[2]</junit:legacyReportingName> + <junit:legacyReportingName>com.example.project.CalculatorParameterizedClassTests$Inner[2][2]</junit:legacyReportingName> <junit:type>CONTAINER</junit:type> </metadata> <sources> @@ -286,7 +286,7 @@ <e:started id="20" name="regularTest()" parentId="19" time="2025-03-23T13:17:16.990Z"> <metadata> <junit:uniqueId>[engine:junit-jupiter]/[class-template:com.example.project.CalculatorParameterizedClassTests]/[class-template-invocation:#2]/[nested-class-template:Inner]/[class-template-invocation:#2]/[method:regularTest()]</junit:uniqueId> - <junit:legacyReportingName>regularTest()</junit:legacyReportingName> + <junit:legacyReportingName>regularTest()[2][2]</junit:legacyReportingName> <junit:type>TEST</junit:type> </metadata> <sources> ++++++ junit5-build.tar.xz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/junit-jupiter-api/build.xml new/junit-jupiter-api/build.xml --- old/junit-jupiter-api/build.xml 2026-01-12 15:56:21.179281635 +0100 +++ new/junit-jupiter-api/build.xml 2026-05-08 16:57:15.448733707 +0200 @@ -14,6 +14,7 @@ <property name="build.dir" value="target"/> <property name="build.outputDir" value="${build.dir}/classes"/> <property name="build.srcDir" value="src/main/java"/> + <property name="build.moduleInfoDir" value="src/module/org.junit.jupiter.api"/> <property name="build.resourceDir" value="src/main/resources"/> <property name="reporting.outputDirectory" value="${build.dir}/site"/> @@ -57,7 +58,6 @@ <src> <pathelement location="${build.srcDir}"/> </src> - <exclude name="**/module-info.java"/> <classpath refid="build.classpath"/> </javac> <javac destdir="${build.outputDir}" @@ -70,9 +70,8 @@ verbose="false" fork="false"> <src> - <pathelement location="${build.srcDir}"/> + <pathelement location="${build.moduleInfoDir}"/> </src> - <include name="**/module-info.java"/> <modulepath> <path refid="build.classpath"/> <pathelement location="${build.outputDir}"/> @@ -121,22 +120,25 @@ basedir="${build.outputDir}" excludes="**/package.html"> <manifest> - <attribute name="Bundle-ManifestVersion" value="2"/> - <attribute name="Bundle-Name" value="JUnit Jupiter API"/> - <attribute name="Bundle-SymbolicName" value="junit-jupiter-api"/> - <attribute name="Bundle-Version" value="5.14.2"/> - <attribute name="Export-Package" value="org.junit.jupiter.api.condition;version="5.14.2";status=STABLE;uses:="org.apiguardian.api,org.junit.jupiter.api.extension",org.junit.jupiter.api.extension.support;version="5.14.2";status=STABLE;uses:="org.apiguardian.api,org.junit.jupiter.api.extension",org.junit.jupiter.api.extension;version="5.14.2";status=STABLE;uses:="org.apiguardian.api,org.junit.jupiter.api,org.junit.jupiter.api.function,org.junit.jupiter.api.parallel,org.junit.platform.commons",org.junit.jupiter.api.function;version="5.14.2";status=STABLE;uses:="org.apiguardian.api",org.junit.jupiter.api.io;version="5.14.2";status=STABLE;uses:="org.apiguardian.api,org.junit.jupiter.api.extension",org.junit.jupiter.api.parallel;version="5.14.2";status=STABLE;uses:="org.apiguardian.api",org.junit.jupiter.api;version="5.14.2";status=STABLE;uses:="ko tlin,kotlin.jvm.functions,kotlin.jvm.internal,org.apiguardian.api,org.junit.jupiter.api.extension,org.junit.jupiter.api.function,org.junit.jupiter.api.parallel,org.junit.platform.commons.annotation,org.opentest4j""/> + <attribute name="Bundle-Description" value="Module "junit-jupiter-api" of JUnit 5."/> + <attribute name="Bundle-License" value="https://www.eclipse.org/legal/epl-v20.html"/> + <attribute name="Bundle-ManifestVersion" value="2"/> + <attribute name="Bundle-Name" value="JUnit Jupiter API"/> + <attribute name="Bundle-SymbolicName" value="junit-jupiter-api"/> + <attribute name="Bundle-Version" value="5.14.4"/> + <attribute name="Export-Package" value="org.junit.jupiter.api.condition;uses:="org.apiguardian.api,org.junit.jupiter.api.extension";version="5.14.4",org.junit.jupiter.api.extension.support;uses:="org.apiguardian.api,org.junit.jupiter.api.extension";version="5.14.4",org.junit.jupiter.api.extension;uses:="org.apiguardian.api,org.junit.jupiter.api,org.junit.jupiter.api.function,org.junit.jupiter.api.parallel,org.junit.platform.commons";version="5.14.4",org.junit.jupiter.api.function;uses:="org.apiguardian.api";version="5.14.4",org.junit.jupiter.api.io;uses:="org.apiguardian.api,org.junit.jupiter.api.extension";version="5.14.4",org.junit.jupiter.api.parallel;uses:="org.apiguardian.api";version="5.14.4",org.junit.jupiter.api;uses:="org.apiguardian.api,org.junit.jupiter.api.extension,org.junit.jupiter.api.function,org.junit.jupiter.api.parallel,org.junit.platform. commons.annotation,org.opentest4j";version="5.14.4""/> <attribute name="Implementation-Title" value="junit-jupiter-api"/> <attribute name="Implementation-Vendor" value="junit.org"/> - <attribute name="Implementation-Version" value="5.14.2"/> - <attribute name="Import-Package" value="kotlin.collections;resolution:=optional,kotlin.jvm.functions;resolution:=optional,kotlin.jvm.internal;resolution:=optional,kotlin;resolution:=optional,org.apiguardian.api;resolution:=optional;version="[1.1,2)",org.junit.jupiter.api.extension;version="[5.14,6)",org.junit.jupiter.api.function;version="[5.14,6)",org.junit.jupiter.api.parallel;version="[5.14,6)",org.junit.jupiter.api;version="[5.14,6)",org.junit.platform.commons.annotation;version="[1.14,2)",org.junit.platform.commons.function;version="[1.14,2)",org.junit.platform.commons.logging;status=INTERNAL;version="[1.14,2)",org.junit.platform.commons.support;version="[1.14,2)",org.junit.platform.commons.util;version="[1.14,2)",org.junit.platform.commons;version="[1.14,2)",org.opentest4j;version="[1.3,2)""/> - <attribute name="JavaPackages-ArtifactId" value="junit-jupiter-api"/> - <attribute name="JavaPackages-GroupId" value="org.junit.jupiter"/> - <attribute name="JavaPackages-Version" value="5.14.2"/> - <attribute name="Require-Capability" value="org.junit.platform.engine;filter:="(&(org.junit.platform.engine=junit-jupiter)(version>=5.14.2)(!(version>=6)))";effective:=active,osgi.ee;filter:="(&(osgi.ee=JavaSE)(version=1.8))""/> + <attribute name="Implementation-Version" value="5.14.4"/> + <attribute name="Import-Package" value="org.apiguardian.api;resolution:=optional;version="[1.1,2)",org.junit.jupiter.api,org.junit.jupiter.api.extension,org.junit.jupiter.api.function,org.junit.jupiter.api.parallel,org.junit.platform.commons.annotation;version="[1.14,2)",org.junit.platform.commons.function;version="[1.14,2)",org.junit.platform.commons.logging;status=INTERNAL;version="[1.14,2)",org.junit.platform.commons.support;version="[1.14,2)",org.junit.platform.commons.util;version="[1.14,2)",org.junit.platform.commons;version="[1.14,2)",org.opentest4j;version="[1.3,2)""/> + <attribute name="JavaPackages-ArtifactId" value="junit-jupiter-api"/> + <attribute name="JavaPackages-GroupId" value="org.junit.jupiter"/> + <attribute name="JavaPackages-Version" value="5.14.4"/> + <attribute name="Manifest-Version" value="1.0"/> + <attribute name="Require-Capability" value="org.junit.platform.engine;filter:="(&(org.junit.platform.engine=junit-jupiter)(version>=5.14.4)(!(version>=6)))";effective:=active,osgi.ee;filter:="(&(osgi.ee=JavaSE)(version=1.8))""/> <attribute name="Specification-Title" value="junit-jupiter-api"/> <attribute name="Specification-Vendor" value="junit.org"/> - <attribute name="Specification-Version" value="5.14.2"/> + <attribute name="Specification-Version" value="5.14.4"/> </manifest> </jar> </target> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/junit-platform-commons/build.xml new/junit-platform-commons/build.xml --- old/junit-platform-commons/build.xml 2026-01-12 15:51:55.544712187 +0100 +++ new/junit-platform-commons/build.xml 2026-05-08 17:15:37.505631351 +0200 @@ -16,6 +16,7 @@ <property name="build.outputDirJava9" value="${build.outputDir}/META-INF/versions/9"/> <property name="build.srcDir" value="src/main/java"/> <property name="build.srcDirJava9" value="src/main/java9"/> + <property name="build.moduleInfoDir" value="src/module/org.junit.platform.commons"/> <property name="build.resourceDir" value="src/main/resources"/> <property name="reporting.outputDirectory" value="${build.dir}/site"/> @@ -58,7 +59,6 @@ <src> <pathelement location="${build.srcDir}"/> </src> - <exclude name="**/module-info.java"/> <classpath refid="build.classpath"/> </javac> <mkdir dir="${build.outputDirJava9}"/> @@ -90,7 +90,7 @@ verbose="false" fork="false"> <src> - <pathelement location="${build.srcDir}"/> + <pathelement location="${build.moduleInfoDir}"/> </src> <include name="**/module-info.java"/> <modulepath> @@ -142,23 +142,25 @@ basedir="${build.outputDir}" excludes="**/package.html"> <manifest> - <attribute name="Bundle-ManifestVersion" value="2"/> - <attribute name="Bundle-Name" value="JUnit Platform Commons"/> - <attribute name="Bundle-SymbolicName" value="junit-platform-commons"/> - <attribute name="Bundle-Version" value="1.14.2"/> - <attribute name="Export-Package" value="org.junit.platform.commons.annotation;version="1.14.2";status=STABLE;uses:="org.apiguardian.api",org.junit.platform.commons.function;version="1.14.2";status=MAINTAINED;uses:="org.apiguardian.api",org.junit.platform.commons.io;version="1.14.2";status=MAINTAINED;uses:="org.apiguardian.api",org.junit.platform.commons.logging;version="1.14.2";status=INTERNAL;mandatory:=status;uses:="org.apiguardian.api",org.junit.platform.commons.support.conversion;version="1.14.2";status=MAINTAINED;uses:="org.apiguardian.api,org.junit.platform.commons",org.junit.platform.commons.support.scanning;version="1.14.2";status=MAINTAINED;uses:="org.apiguardian.api,org.junit.platform.commons.io,org.junit.platform.commons.support",org.junit.platform.commons.support;version="1.14.2";status=MAINTAINED;uses:="org.apiguardian.api,org.ju nit.platform.commons,org.junit.platform.commons.function,org.junit.platform.commons.io",org.junit.platform.commons.util;version="1.14.2";status=DEPRECATED;uses:="org.apiguardian.api,org.junit.platform.commons,org.junit.platform.commons.function,org.junit.platform.commons.io,org.junit.platform.commons.support.scanning",org.junit.platform.commons;version="1.14.2";status=STABLE;uses:="org.apiguardian.api,org.junit.platform.commons.util""/> + <attribute name="Bundle-Description" value="Module "junit-platform-commons" of JUnit 5."/> + <attribute name="Bundle-License" value="https://www.eclipse.org/legal/epl-v20.html"/> + <attribute name="Bundle-ManifestVersion" value="2"/> + <attribute name="Bundle-Name" value="JUnit Platform Commons"/> + <attribute name="Bundle-SymbolicName" value="junit-platform-commons"/> + <attribute name="Bundle-Version" value="1.14.4"/> + <attribute name="Export-Package" value="org.junit.platform.commons.annotation;uses:="org.apiguardian.api";version="1.14.4",org.junit.platform.commons.function;uses:="org.apiguardian.api";version="1.14.4",org.junit.platform.commons.io;uses:="org.apiguardian.api";version="1.14.4",org.junit.platform.commons.logging;uses:="org.apiguardian.api";version="1.14.4",org.junit.platform.commons.support.conversion;uses:="org.apiguardian.api,org.junit.platform.commons";version="1.14.4",org.junit.platform.commons.support.scanning;uses:="org.apiguardian.api,org.junit.platform.commons.io,org.junit.platform.commons.support";version="1.14.4",org.junit.platform.commons.support;uses:="org.apiguardian.api,org.junit.platform.commons,org.junit.platform.commons.function,org.junit.platform.commons.io";version="1.14.4",org.junit.platform.commons.util;uses:="org.api guardian.api,org.junit.platform.commons,org.junit.platform.commons.function,org.junit.platform.commons.io,org.junit.platform.commons.support.scanning";version="1.14.4",org.junit.platform.commons;uses:="org.apiguardian.api,org.junit.platform.commons.util";version="1.14.4""/> <attribute name="Implementation-Title" value="junit-platform-commons"/> <attribute name="Implementation-Vendor" value="junit.org"/> - <attribute name="Implementation-Version" value="1.14.2"/> - <attribute name="Import-Package" value="org.apiguardian.api;resolution:=optional;version="[1.1,2)",org.junit.platform.commons.function;version="[1.14,2)",org.junit.platform.commons.io;version="[1.14,2)",org.junit.platform.commons.logging;status=INTERNAL;version="[1.14,2)",org.junit.platform.commons.support.scanning;version="[1.14,2)",org.junit.platform.commons.support;version="[1.14,2)",org.junit.platform.commons.util;version="[1.14,2)",org.junit.platform.commons;version="[1.14,2)""/> + <attribute name="Implementation-Version" value="1.14.4"/> + <attribute name="Import-Package" value="org.apiguardian.api;resolution:=optional;version="[1.1,2)",org.junit.platform.commons,org.junit.platform.commons.function,org.junit.platform.commons.io,org.junit.platform.commons.logging;status=INTERNAL,org.junit.platform.commons.support,org.junit.platform.commons.support.scanning,org.junit.platform.commons.util"/> <attribute name="JavaPackages-ArtifactId" value="junit-platform-commons"/> <attribute name="JavaPackages-GroupId" value="org.junit.platform"/> - <attribute name="JavaPackages-Version" value="1.14.2"/> + <attribute name="JavaPackages-Version" value="1.14.4"/> <attribute name="Multi-Release" value="true"/> <attribute name="Require-Capability" value="osgi.ee;filter:="(&(osgi.ee=JavaSE)(version=1.8))""/> <attribute name="Specification-Title" value="junit-platform-commons"/> <attribute name="Specification-Vendor" value="junit.org"/> - <attribute name="Specification-Version" value="1.14.2"/> + <attribute name="Specification-Version" value="1.14.4"/> </manifest> </jar> </target>
