5 Commits

Author SHA256 Message Date
Fridrich Štrba
ff4b9fefb8 5.14.2 changes 2026-01-13 15:31:55 +01:00
Fridrich Štrba
b3a14e1f22 5.14.2 2026-01-12 16:14:35 +01:00
Fridrich Štrba
bf231f8db6 5.13.4 2026-01-11 21:34:19 +01:00
978ca5b494 Accepting request 1265278 from Java:packages
OBS-URL: https://build.opensuse.org/request/show/1265278
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/junit5?expand=0&rev=11
2025-03-31 09:41:06 +00:00
15cd76bf18 Fix build with Maven 4
OBS-URL: https://build.opensuse.org/package/show/Java:packages/junit5?expand=0&rev=37
2025-03-28 18:25:07 +00:00
28 changed files with 744 additions and 250 deletions

View File

@@ -1,7 +1,7 @@
From 288fa4bafe414f26c99687b467feb25f512cb87d Mon Sep 17 00:00:00 2001
From 3eccd70899a70ac0dfcefff4dfe6e1a3e131025f Mon Sep 17 00:00:00 2001
From: Marian Koncek <mkoncek@redhat.com>
Date: Mon, 27 Feb 2023 14:39:29 +0100
Subject: [PATCH 1/3] Drop transitive requirement on apiguardian
Subject: [PATCH 1/4] Drop transitive requirement on apiguardian
---
.../src/module/org.junit.jupiter.api/module-info.java | 2 +-
@@ -18,11 +18,11 @@ Subject: [PATCH 1/3] Drop transitive requirement on apiguardian
11 files changed, 11 insertions(+), 11 deletions(-)
diff --git a/junit-jupiter-api/src/module/org.junit.jupiter.api/module-info.java b/junit-jupiter-api/src/module/org.junit.jupiter.api/module-info.java
index b6856c78a1..25a1523e0f 100644
index faf4662b4..a31d4a731 100644
--- a/junit-jupiter-api/src/module/org.junit.jupiter.api/module-info.java
+++ b/junit-jupiter-api/src/module/org.junit.jupiter.api/module-info.java
@@ -12,7 +12,7 @@
* Defines JUnit Jupiter API for writing tests.
@@ -15,7 +15,7 @@
* @since 5.0
*/
module org.junit.jupiter.api {
- requires static transitive org.apiguardian.api;
@@ -31,10 +31,10 @@ index b6856c78a1..25a1523e0f 100644
requires transitive org.opentest4j;
diff --git a/junit-jupiter-migrationsupport/src/module/org.junit.jupiter.migrationsupport/module-info.java b/junit-jupiter-migrationsupport/src/module/org.junit.jupiter.migrationsupport/module-info.java
index 3ace009eb0..25a86fabf4 100644
index d0a6ea76b..7ea657883 100644
--- a/junit-jupiter-migrationsupport/src/module/org.junit.jupiter.migrationsupport/module-info.java
+++ b/junit-jupiter-migrationsupport/src/module/org.junit.jupiter.migrationsupport/module-info.java
@@ -15,7 +15,7 @@
@@ -16,7 +16,7 @@
*/
module org.junit.jupiter.migrationsupport {
requires transitive junit; // 4
@@ -44,10 +44,10 @@ index 3ace009eb0..25a86fabf4 100644
requires org.junit.platform.commons;
diff --git a/junit-jupiter-params/src/module/org.junit.jupiter.params/module-info.java b/junit-jupiter-params/src/module/org.junit.jupiter.params/module-info.java
index 7f3ea0550c..572e8ed019 100644
index 1338712cb..fc15b4622 100644
--- a/junit-jupiter-params/src/module/org.junit.jupiter.params/module-info.java
+++ b/junit-jupiter-params/src/module/org.junit.jupiter.params/module-info.java
@@ -14,7 +14,7 @@
@@ -15,7 +15,7 @@
* @since 5.0
*/
module org.junit.jupiter.params {
@@ -57,10 +57,10 @@ index 7f3ea0550c..572e8ed019 100644
requires transitive org.junit.platform.commons;
diff --git a/junit-platform-commons/src/module/org.junit.platform.commons/module-info.java b/junit-platform-commons/src/module/org.junit.platform.commons/module-info.java
index f33ffd314f..c25315a6a2 100644
index 29ad0d82f..a8561dfd6 100644
--- a/junit-platform-commons/src/module/org.junit.platform.commons/module-info.java
+++ b/junit-platform-commons/src/module/org.junit.platform.commons/module-info.java
@@ -16,7 +16,7 @@
@@ -17,7 +17,7 @@
module org.junit.platform.commons {
requires java.logging;
requires java.management; // needed by RuntimeUtils to determine input arguments
@@ -70,10 +70,10 @@ index f33ffd314f..c25315a6a2 100644
exports org.junit.platform.commons;
exports org.junit.platform.commons.annotation;
diff --git a/junit-platform-engine/src/module/org.junit.platform.engine/module-info.java b/junit-platform-engine/src/module/org.junit.platform.engine/module-info.java
index 46c2069448..f359539a76 100644
index f46b5db3e..80d397638 100644
--- a/junit-platform-engine/src/module/org.junit.platform.engine/module-info.java
+++ b/junit-platform-engine/src/module/org.junit.platform.engine/module-info.java
@@ -17,7 +17,7 @@
@@ -18,7 +18,7 @@
* @since 1.0
*/
module org.junit.platform.engine {
@@ -83,10 +83,10 @@ index 46c2069448..f359539a76 100644
requires transitive org.opentest4j;
diff --git a/junit-platform-launcher/src/module/org.junit.platform.launcher/module-info.java b/junit-platform-launcher/src/module/org.junit.platform.launcher/module-info.java
index 9d79f3f416..872e5bee3c 100644
index c00dee17d..1fbb1247f 100644
--- a/junit-platform-launcher/src/module/org.junit.platform.launcher/module-info.java
+++ b/junit-platform-launcher/src/module/org.junit.platform.launcher/module-info.java
@@ -23,7 +23,7 @@
@@ -24,7 +24,7 @@
*/
module org.junit.platform.launcher {
requires transitive java.logging;
@@ -96,10 +96,10 @@ index 9d79f3f416..872e5bee3c 100644
requires transitive org.junit.platform.engine;
diff --git a/junit-platform-reporting/src/module/org.junit.platform.reporting/module-info.java b/junit-platform-reporting/src/module/org.junit.platform.reporting/module-info.java
index 66c749470b..2a6acd7d7e 100644
index f002930d3..9fbccc793 100644
--- a/junit-platform-reporting/src/module/org.junit.platform.reporting/module-info.java
+++ b/junit-platform-reporting/src/module/org.junit.platform.reporting/module-info.java
@@ -15,7 +15,7 @@
@@ -16,7 +16,7 @@
*/
module org.junit.platform.reporting {
requires java.xml;
@@ -109,10 +109,10 @@ index 66c749470b..2a6acd7d7e 100644
requires transitive org.junit.platform.engine;
requires transitive org.junit.platform.launcher;
diff --git a/junit-platform-runner/src/module/org.junit.platform.runner/module-info.java b/junit-platform-runner/src/module/org.junit.platform.runner/module-info.java
index 47edeb10e7..4313c642ee 100644
index edd236e9b..a78201f7f 100644
--- a/junit-platform-runner/src/module/org.junit.platform.runner/module-info.java
+++ b/junit-platform-runner/src/module/org.junit.platform.runner/module-info.java
@@ -16,7 +16,7 @@
@@ -17,7 +17,7 @@
*/
module org.junit.platform.runner {
requires transitive junit; // 4
@@ -122,10 +122,10 @@ index 47edeb10e7..4313c642ee 100644
requires transitive org.junit.platform.suite.api;
requires org.junit.platform.suite.commons;
diff --git a/junit-platform-suite-api/src/module/org.junit.platform.suite.api/module-info.java b/junit-platform-suite-api/src/module/org.junit.platform.suite.api/module-info.java
index 9af8daea9d..cf50c08f80 100644
index 4d9e6c2ad..ed3b16264 100644
--- a/junit-platform-suite-api/src/module/org.junit.platform.suite.api/module-info.java
+++ b/junit-platform-suite-api/src/module/org.junit.platform.suite.api/module-info.java
@@ -14,7 +14,7 @@
@@ -15,7 +15,7 @@
* @since 1.0
*/
module org.junit.platform.suite.api {
@@ -135,10 +135,10 @@ index 9af8daea9d..cf50c08f80 100644
exports org.junit.platform.suite.api;
diff --git a/junit-platform-suite-commons/src/module/org.junit.platform.suite.commons/module-info.java b/junit-platform-suite-commons/src/module/org.junit.platform.suite.commons/module-info.java
index b810efc7f0..ccb6756022 100644
index f3a152d24..e0db7facc 100644
--- a/junit-platform-suite-commons/src/module/org.junit.platform.suite.commons/module-info.java
+++ b/junit-platform-suite-commons/src/module/org.junit.platform.suite.commons/module-info.java
@@ -14,7 +14,7 @@
@@ -15,7 +15,7 @@
* @since 1.8
*/
module org.junit.platform.suite.commons {
@@ -148,10 +148,10 @@ index b810efc7f0..ccb6756022 100644
requires org.junit.platform.commons;
requires org.junit.platform.engine;
diff --git a/junit-platform-testkit/src/module/org.junit.platform.testkit/module-info.java b/junit-platform-testkit/src/module/org.junit.platform.testkit/module-info.java
index 2a53f5ad64..729efae46b 100644
index 43c987677..0b4568495 100644
--- a/junit-platform-testkit/src/module/org.junit.platform.testkit/module-info.java
+++ b/junit-platform-testkit/src/module/org.junit.platform.testkit/module-info.java
@@ -15,7 +15,7 @@
@@ -16,7 +16,7 @@
* @uses org.junit.platform.engine.TestEngine
*/
module org.junit.platform.testkit {
@@ -161,5 +161,5 @@ index 2a53f5ad64..729efae46b 100644
requires org.junit.platform.commons;
requires transitive org.junit.platform.engine;
--
2.44.0
2.52.0

View File

@@ -1,17 +1,17 @@
From b0d01c205df1916202bbc874472bf6a973908b4d Mon Sep 17 00:00:00 2001
From 6e239f14c8426d4c812e54151d54c28ad4317d3f Mon Sep 17 00:00:00 2001
From: Mikolaj Izdebski <mizdebsk@redhat.com>
Date: Mon, 27 Mar 2023 16:55:13 +0200
Subject: [PATCH 2/3] Add missing module static requires
Subject: [PATCH 2/4] Add missing module static requires
---
.../src/module/org.junit.jupiter.params/module-info.java | 1 +
1 file changed, 1 insertion(+)
diff --git a/junit-jupiter-params/src/module/org.junit.jupiter.params/module-info.java b/junit-jupiter-params/src/module/org.junit.jupiter.params/module-info.java
index 572e8ed019..90a3c3b101 100644
index fc15b4622..662d2fb3f 100644
--- a/junit-jupiter-params/src/module/org.junit.jupiter.params/module-info.java
+++ b/junit-jupiter-params/src/module/org.junit.jupiter.params/module-info.java
@@ -15,6 +15,7 @@
@@ -16,6 +16,7 @@
*/
module org.junit.jupiter.params {
requires static org.apiguardian.api;
@@ -20,5 +20,5 @@ index 572e8ed019..90a3c3b101 100644
requires transitive org.junit.platform.commons;
--
2.44.0
2.52.0

View File

@@ -1,31 +0,0 @@
From c3d9035f7e39e17f8ee12336b2f4de9ad65e521d Mon Sep 17 00:00:00 2001
From: Marc Philipp <mail@marcphilipp.de>
Date: Sat, 20 Apr 2024 15:54:00 +0200
Subject: [PATCH 3/3] Bump open-test-reporting to 0.1.0-M2
Resolves #3788.
---
.../open/xml/OpenTestReportGeneratingListener.java | 7 +++----
1 file changed, 3 insertions(+), 4 deletions(-)
diff --git a/junit-platform-reporting/src/main/java/org/junit/platform/reporting/open/xml/OpenTestReportGeneratingListener.java b/junit-platform-reporting/src/main/java/org/junit/platform/reporting/open/xml/OpenTestReportGeneratingListener.java
index 05c452880a..35c995f3aa 100644
--- a/junit-platform-reporting/src/main/java/org/junit/platform/reporting/open/xml/OpenTestReportGeneratingListener.java
+++ b/junit-platform-reporting/src/main/java/org/junit/platform/reporting/open/xml/OpenTestReportGeneratingListener.java
@@ -236,10 +236,9 @@ public class OpenTestReportGeneratingListener implements TestExecutionListener {
public void reportingEntryPublished(TestIdentifier testIdentifier, ReportEntry entry) {
String id = inProgressIds.get(testIdentifier.getUniqueIdObject());
eventsFileWriter.append(reported(id, Instant.now()), //
- reported -> reported.append(attachments(), attachments -> attachments.append(data(), data -> {
- data.withTime(entry.getTimestamp());
- entry.getKeyValuePairs().forEach(data::addEntry);
- })));
+ reported -> reported.append(attachments(), //
+ attachments -> attachments.append(data(entry.getTimestamp()), //
+ data -> entry.getKeyValuePairs().forEach(data::addEntry))));
}
@Override
--
2.44.0

View File

@@ -0,0 +1,46 @@
From 32c87a58f0428dd882755209ee25cc3a93b480bf Mon Sep 17 00:00:00 2001
From: Marian Koncek <mkoncek@redhat.com>
Date: Thu, 20 Feb 2025 12:24:46 +0100
Subject: [PATCH 3/4] Remove legacy XML console support
---
.../junit/platform/console/command/ConsoleTestExecutor.java | 3 +--
.../src/module/org.junit.platform.console/module-info.java | 1 -
2 files changed, 1 insertion(+), 3 deletions(-)
diff --git a/junit-platform-console/src/main/java/org/junit/platform/console/command/ConsoleTestExecutor.java b/junit-platform-console/src/main/java/org/junit/platform/console/command/ConsoleTestExecutor.java
index d9789ef03..735bd468f 100644
--- a/junit-platform-console/src/main/java/org/junit/platform/console/command/ConsoleTestExecutor.java
+++ b/junit-platform-console/src/main/java/org/junit/platform/console/command/ConsoleTestExecutor.java
@@ -45,7 +45,6 @@ import org.junit.platform.launcher.core.LauncherDiscoveryRequestBuilder;
import org.junit.platform.launcher.core.LauncherFactory;
import org.junit.platform.launcher.listeners.SummaryGeneratingListener;
import org.junit.platform.launcher.listeners.TestExecutionSummary;
-import org.junit.platform.reporting.legacy.xml.LegacyXmlReportGeneratingListener;
/**
* @since 1.0
@@ -217,7 +216,7 @@ public class ConsoleTestExecutor {
}
private Optional<TestExecutionListener> createXmlWritingListener(PrintWriter out, Optional<Path> reportsDir) {
- return reportsDir.map(it -> new LegacyXmlReportGeneratingListener(it, out));
+ return Optional.empty();
}
private void printSummary(TestExecutionSummary summary, PrintWriter out) {
diff --git a/junit-platform-console/src/module/org.junit.platform.console/module-info.java b/junit-platform-console/src/module/org.junit.platform.console/module-info.java
index 52c058843..9cf220ba6 100644
--- a/junit-platform-console/src/module/org.junit.platform.console/module-info.java
+++ b/junit-platform-console/src/module/org.junit.platform.console/module-info.java
@@ -20,7 +20,6 @@ module org.junit.platform.console {
requires org.junit.platform.commons;
requires org.junit.platform.engine;
requires org.junit.platform.launcher;
- requires org.junit.platform.reporting;
provides java.util.spi.ToolProvider with org.junit.platform.console.ConsoleLauncherToolProvider;
}
--
2.52.0

View File

@@ -0,0 +1,429 @@
From faf88de3ec89b12c6f6c0d89e88fe74c4067d6b6 Mon Sep 17 00:00:00 2001
From: Mikolaj Izdebski <mizdebsk@redhat.com>
Date: Wed, 16 Jul 2025 13:16:05 +0200
Subject: [PATCH 4/4] Add JRE class generated from template
---
.../org/junit/jupiter/api/condition/JRE.java | 410 ++++++++++++++++++
1 file changed, 410 insertions(+)
create mode 100644 junit-jupiter-api/src/main/java/org/junit/jupiter/api/condition/JRE.java
diff --git a/junit-jupiter-api/src/main/java/org/junit/jupiter/api/condition/JRE.java b/junit-jupiter-api/src/main/java/org/junit/jupiter/api/condition/JRE.java
new file mode 100644
index 000000000..953059844
--- /dev/null
+++ b/junit-jupiter-api/src/main/java/org/junit/jupiter/api/condition/JRE.java
@@ -0,0 +1,410 @@
+/*
+ * Copyright 2015-2025 the original author or authors.
+ *
+ * All rights reserved. This program and the accompanying materials are
+ * made available under the terms of the Eclipse Public License v2.0 which
+ * accompanies this distribution and is available at
+ *
+ * https://www.eclipse.org/legal/epl-v20.html
+ */
+
+package org.junit.jupiter.api.condition;
+
+import static org.apiguardian.api.API.Status.DEPRECATED;
+import static org.apiguardian.api.API.Status.MAINTAINED;
+import static org.apiguardian.api.API.Status.STABLE;
+
+import java.lang.reflect.Method;
+
+import org.apiguardian.api.API;
+import org.junit.platform.commons.logging.Logger;
+import org.junit.platform.commons.logging.LoggerFactory;
+import org.junit.platform.commons.support.ReflectionSupport;
+import org.junit.platform.commons.util.StringUtils;
+
+/**
+ * Enumeration of Java Runtime Environment (JRE) versions.
+ *
+ * <p>If the current JRE version can be detected but is not one of the predefined
+ * constants in this enum, {@link #OTHER} will be considered to be the
+ * {@linkplain #isCurrentVersion current JRE version}. If the current JRE version
+ * cannot be detected &mdash; for example, if the {@code java.version} JVM system
+ * property is undefined &mdash; {@link #UNDEFINED} will be considered to be the
+ * current JRE version.
+ *
+ * @since 5.1
+ * @see #JAVA_8
+ * @see #JAVA_9
+ * @see #JAVA_10
+ * @see #JAVA_11
+ * @see #JAVA_12
+ * @see #JAVA_13
+ * @see #JAVA_14
+ * @see #JAVA_15
+ * @see #JAVA_16
+ * @see #JAVA_17
+ * @see #JAVA_18
+ * @see #JAVA_19
+ * @see #JAVA_20
+ * @see #JAVA_21
+ * @see #JAVA_22
+ * @see #JAVA_23
+ * @see #JAVA_24
+ * @see #JAVA_25
+ * @see #JAVA_26
+ * @see #OTHER
+ * @see EnabledOnJre
+ * @see DisabledOnJre
+ * @see EnabledForJreRange
+ * @see DisabledForJreRange
+ */
+@API(status = STABLE, since = "5.1")
+public enum JRE {
+
+ /**
+ * An undefined JRE version.
+ *
+ * <p>This constant is used by JUnit as a default configuration value but is
+ * not intended to be used by users.
+ *
+ * <p>This constant returns {@code -1} for its {@linkplain #version() version}.
+ *
+ * @since 5.12
+ */
+ @API(status = MAINTAINED, since = "5.13.3")
+ UNDEFINED(-1),
+
+ /**
+ * Java 8.
+ */
+ JAVA_8(8),
+
+ /**
+ * Java 9.
+ */
+ JAVA_9(9),
+
+ /**
+ * Java 10.
+ */
+ JAVA_10(10),
+
+ /**
+ * Java 11.
+ */
+ JAVA_11(11),
+
+ /**
+ * Java 12.
+ *
+ * @since 5.4
+ */
+ @API(status = STABLE, since = "5.4")
+ JAVA_12(12),
+
+ /**
+ * Java 13.
+ *
+ * @since 5.4
+ */
+ @API(status = STABLE, since = "5.4")
+ JAVA_13(13),
+
+ /**
+ * Java 14.
+ *
+ * @since 5.5
+ */
+ @API(status = STABLE, since = "5.5")
+ JAVA_14(14),
+
+ /**
+ * Java 15.
+ *
+ * @since 5.6
+ */
+ @API(status = STABLE, since = "5.6")
+ JAVA_15(15),
+
+ /**
+ * Java 16.
+ *
+ * @since 5.7
+ */
+ @API(status = STABLE, since = "5.7")
+ JAVA_16(16),
+
+ /**
+ * Java 17.
+ *
+ * @since 5.7.1
+ */
+ @API(status = STABLE, since = "5.7.1")
+ JAVA_17(17),
+
+ /**
+ * Java 18.
+ *
+ * @since 5.8.1
+ */
+ @API(status = STABLE, since = "5.8.1")
+ JAVA_18(18),
+
+ /**
+ * Java 19.
+ *
+ * @since 5.9
+ */
+ @API(status = STABLE, since = "5.9")
+ JAVA_19(19),
+
+ /**
+ * Java 20.
+ *
+ * @since 5.9
+ */
+ @API(status = STABLE, since = "5.9")
+ JAVA_20(20),
+
+ /**
+ * Java 21.
+ *
+ * @since 5.9.2
+ */
+ @API(status = STABLE, since = "5.9.2")
+ JAVA_21(21),
+
+ /**
+ * Java 22.
+ *
+ * @since 5.10
+ */
+ @API(status = STABLE, since = "5.10")
+ JAVA_22(22),
+
+ /**
+ * Java 23.
+ *
+ * @since 5.11
+ */
+ @API(status = STABLE, since = "5.11")
+ JAVA_23(23),
+
+ /**
+ * Java 24.
+ *
+ * @since 5.11
+ */
+ @API(status = STABLE, since = "5.11")
+ JAVA_24(24),
+
+ /**
+ * Java 25.
+ *
+ * @since 5.11.4
+ */
+ @API(status = STABLE, since = "5.11.4")
+ JAVA_25(25),
+
+ /**
+ * Java 26.
+ *
+ * @since 6.0
+ */
+ @API(status = STABLE, since = "6.0")
+ JAVA_26(26),
+
+ /**
+ * A JRE version other than {@link #JAVA_8}, {@link #JAVA_9},
+ * {@link #JAVA_10}, {@link #JAVA_11}, {@link #JAVA_12},
+ * {@link #JAVA_13}, {@link #JAVA_14}, {@link #JAVA_15},
+ * {@link #JAVA_16}, {@link #JAVA_17}, {@link #JAVA_18},
+ * {@link #JAVA_19}, {@link #JAVA_20}, {@link #JAVA_21},
+ * {@link #JAVA_22}, {@link #JAVA_23}, {@link #JAVA_24},
+ * {@link #JAVA_25}, or {@link #JAVA_26}.
+ *
+ * <p>This constant returns {@link Integer#MAX_VALUE} for its
+ * {@linkplain #version() version}. To retrieve the actual version number,
+ * use {@link #currentVersionNumber()}.
+ */
+ OTHER(Integer.MAX_VALUE);
+
+ static final int UNDEFINED_VERSION = -1;
+
+ static final int MINIMUM_VERSION = 8;
+
+ private static final Logger logger = LoggerFactory.getLogger(JRE.class);
+
+ private static final int CURRENT_VERSION = determineCurrentVersion();
+
+ private static final JRE CURRENT_JRE = determineCurrentJre(CURRENT_VERSION);
+
+ private static int determineCurrentVersion() {
+ String javaVersion = System.getProperty("java.version");
+ boolean javaVersionIsBlank = StringUtils.isBlank(javaVersion);
+
+ if (javaVersionIsBlank) {
+ logger.debug(
+ () -> "JVM system property 'java.version' is undefined. It is therefore not possible to detect Java 8.");
+ }
+
+ if (!javaVersionIsBlank && javaVersion.startsWith("1.8")) {
+ return 8;
+ }
+
+ try {
+ // java.lang.Runtime.version() is a static method available on Java 9+
+ // that returns an instance of java.lang.Runtime.Version which has the
+ // following method: public int major()
+ Method versionMethod = Runtime.class.getMethod("version");
+ Object version = ReflectionSupport.invokeMethod(versionMethod, null);
+ Method majorMethod = version.getClass().getMethod("major");
+ return (int) ReflectionSupport.invokeMethod(majorMethod, version);
+ }
+ catch (Exception ex) {
+ logger.debug(ex, () -> "Failed to determine the current JRE version via java.lang.Runtime.Version.");
+ }
+
+ return UNDEFINED_VERSION;
+ }
+
+ private static JRE determineCurrentJre(int currentVersion) {
+ switch (currentVersion) {
+ case UNDEFINED_VERSION:
+ return UNDEFINED;
+ case 8:
+ return JAVA_8;
+ case 9:
+ return JAVA_9;
+ case 10:
+ return JAVA_10;
+ case 11:
+ return JAVA_11;
+ case 12:
+ return JAVA_12;
+ case 13:
+ return JAVA_13;
+ case 14:
+ return JAVA_14;
+ case 15:
+ return JAVA_15;
+ case 16:
+ return JAVA_16;
+ case 17:
+ return JAVA_17;
+ case 18:
+ return JAVA_18;
+ case 19:
+ return JAVA_19;
+ case 20:
+ return JAVA_20;
+ case 21:
+ return JAVA_21;
+ case 22:
+ return JAVA_22;
+ case 23:
+ return JAVA_23;
+ case 24:
+ return JAVA_24;
+ case 25:
+ return JAVA_25;
+ case 26:
+ return JAVA_26;
+ default:
+ return OTHER;
+ }
+ }
+
+ private final int version;
+
+ private JRE(int version) {
+ this.version = version;
+ }
+
+ /**
+ * Get the version of <em>this</em> {@code JRE}.
+ *
+ * <p>If this {@code JRE} is {@link #UNDEFINED}, this method returns
+ * {@code -1}. If this {@code JRE} is {@link #OTHER}, this method returns
+ * {@link Integer#MAX_VALUE}.
+ *
+ * @return the version of this {@code JRE}
+ * @since 5.12
+ * @see Runtime.Version#feature()
+ * @see #currentVersionNumber()
+ */
+ @API(status = MAINTAINED, since = "5.13.3")
+ public int version() {
+ return this.version;
+ }
+
+ /**
+ * @return {@code true} if <em>this</em> {@code JRE} is known to be the
+ * Java Runtime Environment version for the currently executing JVM or if
+ * the version is {@link #OTHER} or {@link #UNDEFINED}
+ *
+ * @see #currentJre()
+ * @see #currentVersionNumber()
+ */
+ public boolean isCurrentVersion() {
+ return this == CURRENT_JRE;
+ }
+
+ /**
+ * @return the {@link JRE} for the currently executing JVM, potentially
+ * {@link #OTHER} or {@link #UNDEFINED}
+ *
+ * @since 5.7
+ * @see #currentVersionNumber()
+ * @deprecated in favor of {@link #currentJre()}
+ */
+ @API(status = DEPRECATED, since = "5.12")
+ @Deprecated
+ public static JRE currentVersion() {
+ return currentJre();
+ }
+
+ /**
+ * @return the {@link JRE} for the currently executing JVM, potentially
+ * {@link #OTHER} or {@link #UNDEFINED}
+ *
+ * @since 5.12
+ * @see #currentVersionNumber()
+ */
+ @API(status = STABLE, since = "5.12")
+ public static JRE currentJre() {
+ return CURRENT_JRE;
+ }
+
+ /**
+ * @return the version number for the currently executing JVM, or {@code -1}
+ * if the current JVM version could not be determined
+ *
+ * @since 5.12
+ * @see Runtime.Version#feature()
+ * @see #currentJre()
+ */
+ @API(status = MAINTAINED, since = "5.13.3")
+ public static int currentVersionNumber() {
+ return CURRENT_VERSION;
+ }
+
+ /**
+ * @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
+ *
+ * @since 5.12
+ * @see Runtime.Version#feature()
+ */
+ @API(status = MAINTAINED, since = "5.13.3")
+ public static boolean isCurrentVersion(int version) {
+ return version == CURRENT_VERSION;
+ }
+
+ static boolean isCurrentVersionWithinRange(int min, int max) {
+ return CURRENT_VERSION >= min && CURRENT_VERSION <= max;
+ }
+
+}
--
2.52.0

View File

@@ -21,7 +21,6 @@
<module>junit-platform-console-standalone</module>
<module>junit-platform-engine</module>
<module>junit-platform-launcher</module>
<module>junit-platform-reporting</module>
<module>junit-platform-runner</module>
<module>junit-platform-suite-api</module>
<module>junit-platform-suite-commons</module>
@@ -31,6 +30,25 @@
<build>
<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>
@@ -60,21 +78,21 @@
</goals>
<configuration>
<release>9</release>
<useIncrementalCompilation>false</useIncrementalCompilation>
<compileSourceRoots>
<compileSourceRoot>${project.basedir}/src/main/java9</compileSourceRoot>
</compileSourceRoots>
<includes>
<include>**/src/main/java9/**/*.java</include>
<include>**/src/main/java/module-info.java</include>
</includes>
</configuration>
</execution>
<execution>
<id>module-info</id>
<id>java17</id>
<goals>
<goal>compile</goal>
</goals>
<configuration>
<release>9</release>
<release>17</release>
<includes>
<include>**/module-info.java</include>
<include>**/src/main/java17/**/*.java</include>
</includes>
</configuration>
</execution>
@@ -91,6 +109,10 @@
</plugins>
</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>

View File

@@ -9,11 +9,11 @@
<modelVersion>4.0.0</modelVersion>
<groupId>org.junit</groupId>
<artifactId>junit-bom</artifactId>
<version>5.10.2</version>
<version>5.14.2</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>
<url>https://junit.org/junit5/</url>
<url>https://junit.org/</url>
<licenses>
<license>
<name>Eclipse Public License v2.0</name>
@@ -58,101 +58,101 @@
</developer>
</developers>
<scm>
<connection>scm:git:git://github.com/junit-team/junit5.git</connection>
<developerConnection>scm:git:git://github.com/junit-team/junit5.git</developerConnection>
<url>https://github.com/junit-team/junit5</url>
<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.jupiter</groupId>
<artifactId>junit-jupiter</artifactId>
<version>5.10.2</version>
<version>5.14.2</version>
</dependency>
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter-api</artifactId>
<version>5.10.2</version>
<version>5.14.2</version>
</dependency>
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter-engine</artifactId>
<version>5.10.2</version>
<version>5.14.2</version>
</dependency>
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter-migrationsupport</artifactId>
<version>5.10.2</version>
<version>5.14.2</version>
</dependency>
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter-params</artifactId>
<version>5.10.2</version>
<version>5.14.2</version>
</dependency>
<dependency>
<groupId>org.junit.platform</groupId>
<artifactId>junit-platform-commons</artifactId>
<version>1.10.2</version>
<version>1.14.2</version>
</dependency>
<dependency>
<groupId>org.junit.platform</groupId>
<artifactId>junit-platform-console</artifactId>
<version>1.10.2</version>
<version>1.14.2</version>
</dependency>
<dependency>
<groupId>org.junit.platform</groupId>
<artifactId>junit-platform-engine</artifactId>
<version>1.10.2</version>
<version>1.14.2</version>
</dependency>
<dependency>
<groupId>org.junit.platform</groupId>
<artifactId>junit-platform-jfr</artifactId>
<version>1.10.2</version>
<version>1.14.2</version>
</dependency>
<dependency>
<groupId>org.junit.platform</groupId>
<artifactId>junit-platform-launcher</artifactId>
<version>1.10.2</version>
<version>1.14.2</version>
</dependency>
<dependency>
<groupId>org.junit.platform</groupId>
<artifactId>junit-platform-reporting</artifactId>
<version>1.10.2</version>
<version>1.14.2</version>
</dependency>
<dependency>
<groupId>org.junit.platform</groupId>
<artifactId>junit-platform-runner</artifactId>
<version>1.10.2</version>
<version>1.14.2</version>
</dependency>
<dependency>
<groupId>org.junit.platform</groupId>
<artifactId>junit-platform-suite</artifactId>
<version>1.10.2</version>
<version>1.14.2</version>
</dependency>
<dependency>
<groupId>org.junit.platform</groupId>
<artifactId>junit-platform-suite-api</artifactId>
<version>1.10.2</version>
<version>1.14.2</version>
</dependency>
<dependency>
<groupId>org.junit.platform</groupId>
<artifactId>junit-platform-suite-commons</artifactId>
<version>1.10.2</version>
<version>1.14.2</version>
</dependency>
<dependency>
<groupId>org.junit.platform</groupId>
<artifactId>junit-platform-suite-engine</artifactId>
<version>1.10.2</version>
<version>1.14.2</version>
</dependency>
<dependency>
<groupId>org.junit.platform</groupId>
<artifactId>junit-platform-testkit</artifactId>
<version>1.10.2</version>
<version>1.14.2</version>
</dependency>
<dependency>
<groupId>org.junit.vintage</groupId>
<artifactId>junit-vintage-engine</artifactId>
<version>5.10.2</version>
<version>5.14.2</version>
</dependency>
</dependencies>
</dependencyManagement>

View File

@@ -9,10 +9,10 @@
<modelVersion>4.0.0</modelVersion>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter</artifactId>
<version>5.10.2</version>
<version>5.14.2</version>
<name>JUnit Jupiter (Aggregator)</name>
<description>Module "junit-jupiter" of JUnit 5.</description>
<url>https://junit.org/junit5/</url>
<url>https://junit.org/</url>
<licenses>
<license>
<name>Eclipse Public License v2.0</name>
@@ -57,16 +57,16 @@
</developer>
</developers>
<scm>
<connection>scm:git:git://github.com/junit-team/junit5.git</connection>
<developerConnection>scm:git:git://github.com/junit-team/junit5.git</developerConnection>
<url>https://github.com/junit-team/junit5</url>
<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.10.2</version>
<version>5.14.2</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.10.2</version>
<version>5.14.2</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter-params</artifactId>
<version>5.10.2</version>
<version>5.14.2</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter-engine</artifactId>
<version>5.10.2</version>
<version>5.14.2</version>
<scope>runtime</scope>
</dependency>
</dependencies>

View File

@@ -1,5 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<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 -->
@@ -8,10 +9,10 @@
<modelVersion>4.0.0</modelVersion>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter-api</artifactId>
<version>5.10.2</version>
<version>5.14.2</version>
<name>JUnit Jupiter API</name>
<description>Module "junit-jupiter-api" of JUnit 5.</description>
<url>https://junit.org/junit5/</url>
<url>https://junit.org/</url>
<licenses>
<license>
<name>Eclipse Public License v2.0</name>
@@ -56,16 +57,16 @@
</developer>
</developers>
<scm>
<connection>scm:git:git://github.com/junit-team/junit5.git</connection>
<developerConnection>scm:git:git://github.com/junit-team/junit5.git</developerConnection>
<url>https://github.com/junit-team/junit5</url>
<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.10.2</version>
<version>5.14.2</version>
<type>pom</type>
<scope>import</scope>
</dependency>
@@ -81,7 +82,7 @@
<dependency>
<groupId>org.junit.platform</groupId>
<artifactId>junit-platform-commons</artifactId>
<version>1.10.2</version>
<version>1.14.2</version>
<scope>compile</scope>
</dependency>
<dependency>

View File

@@ -1,5 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<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 -->
@@ -8,10 +9,10 @@
<modelVersion>4.0.0</modelVersion>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter-engine</artifactId>
<version>5.10.2</version>
<version>5.14.2</version>
<name>JUnit Jupiter Engine</name>
<description>Module "junit-jupiter-engine" of JUnit 5.</description>
<url>https://junit.org/junit5/</url>
<url>https://junit.org/</url>
<licenses>
<license>
<name>Eclipse Public License v2.0</name>
@@ -56,16 +57,16 @@
</developer>
</developers>
<scm>
<connection>scm:git:git://github.com/junit-team/junit5.git</connection>
<developerConnection>scm:git:git://github.com/junit-team/junit5.git</developerConnection>
<url>https://github.com/junit-team/junit5</url>
<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.10.2</version>
<version>5.14.2</version>
<type>pom</type>
<scope>import</scope>
</dependency>
@@ -75,13 +76,13 @@
<dependency>
<groupId>org.junit.platform</groupId>
<artifactId>junit-platform-engine</artifactId>
<version>1.10.2</version>
<version>1.14.2</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter-api</artifactId>
<version>5.10.2</version>
<version>5.14.2</version>
<scope>compile</scope>
</dependency>
<dependency>

View File

@@ -9,10 +9,10 @@
<modelVersion>4.0.0</modelVersion>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter-migrationsupport</artifactId>
<version>5.10.2</version>
<version>5.14.2</version>
<name>JUnit Jupiter Migration Support</name>
<description>Module "junit-jupiter-migrationsupport" of JUnit 5.</description>
<url>https://junit.org/junit5/</url>
<url>https://junit.org/</url>
<licenses>
<license>
<name>Eclipse Public License v2.0</name>
@@ -57,16 +57,16 @@
</developer>
</developers>
<scm>
<connection>scm:git:git://github.com/junit-team/junit5.git</connection>
<developerConnection>scm:git:git://github.com/junit-team/junit5.git</developerConnection>
<url>https://github.com/junit-team/junit5</url>
<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.10.2</version>
<version>5.14.2</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.10.2</version>
<version>5.14.2</version>
<scope>compile</scope>
</dependency>
<dependency>

View File

@@ -1,5 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<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 -->
@@ -8,10 +9,10 @@
<modelVersion>4.0.0</modelVersion>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter-params</artifactId>
<version>5.10.2</version>
<version>5.14.2</version>
<name>JUnit Jupiter Params</name>
<description>Module "junit-jupiter-params" of JUnit 5.</description>
<url>https://junit.org/junit5/</url>
<url>https://junit.org/</url>
<licenses>
<license>
<name>Eclipse Public License v2.0</name>
@@ -56,16 +57,16 @@
</developer>
</developers>
<scm>
<connection>scm:git:git://github.com/junit-team/junit5.git</connection>
<developerConnection>scm:git:git://github.com/junit-team/junit5.git</developerConnection>
<url>https://github.com/junit-team/junit5</url>
<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.10.2</version>
<version>5.14.2</version>
<type>pom</type>
<scope>import</scope>
</dependency>
@@ -75,7 +76,7 @@
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter-api</artifactId>
<version>5.10.2</version>
<version>5.14.2</version>
<scope>compile</scope>
</dependency>
<dependency>

View File

@@ -9,10 +9,10 @@
<modelVersion>4.0.0</modelVersion>
<groupId>org.junit.platform</groupId>
<artifactId>junit-platform-commons</artifactId>
<version>1.10.2</version>
<version>1.14.2</version>
<name>JUnit Platform Commons</name>
<description>Module "junit-platform-commons" of JUnit 5.</description>
<url>https://junit.org/junit5/</url>
<url>https://junit.org/</url>
<licenses>
<license>
<name>Eclipse Public License v2.0</name>
@@ -57,16 +57,16 @@
</developer>
</developers>
<scm>
<connection>scm:git:git://github.com/junit-team/junit5.git</connection>
<developerConnection>scm:git:git://github.com/junit-team/junit5.git</developerConnection>
<url>https://github.com/junit-team/junit5</url>
<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.10.2</version>
<version>5.14.2</version>
<type>pom</type>
<scope>import</scope>
</dependency>

View File

@@ -9,10 +9,10 @@
<modelVersion>4.0.0</modelVersion>
<groupId>org.junit.platform</groupId>
<artifactId>junit-platform-console</artifactId>
<version>1.10.2</version>
<version>1.14.2</version>
<name>JUnit Platform Console</name>
<description>Module "junit-platform-console" of JUnit 5.</description>
<url>https://junit.org/junit5/</url>
<url>https://junit.org/</url>
<licenses>
<license>
<name>Eclipse Public License v2.0</name>
@@ -57,16 +57,16 @@
</developer>
</developers>
<scm>
<connection>scm:git:git://github.com/junit-team/junit5.git</connection>
<developerConnection>scm:git:git://github.com/junit-team/junit5.git</developerConnection>
<url>https://github.com/junit-team/junit5</url>
<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.10.2</version>
<version>5.14.2</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.10.2</version>
<version>1.14.2</version>
<scope>compile</scope>
</dependency>
<dependency>

View File

@@ -9,10 +9,10 @@
<modelVersion>4.0.0</modelVersion>
<groupId>org.junit.platform</groupId>
<artifactId>junit-platform-console-standalone</artifactId>
<version>1.10.2</version>
<version>1.14.2</version>
<name>JUnit Platform Console Standalone</name>
<description>Module "junit-platform-console-standalone" of JUnit 5.</description>
<url>https://junit.org/junit5/</url>
<url>https://junit.org/</url>
<licenses>
<license>
<name>Eclipse Public License v2.0</name>
@@ -57,8 +57,8 @@
</developer>
</developers>
<scm>
<connection>scm:git:git://github.com/junit-team/junit5.git</connection>
<developerConnection>scm:git:git://github.com/junit-team/junit5.git</developerConnection>
<url>https://github.com/junit-team/junit5</url>
<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>
</project>

View File

@@ -9,10 +9,10 @@
<modelVersion>4.0.0</modelVersion>
<groupId>org.junit.platform</groupId>
<artifactId>junit-platform-engine</artifactId>
<version>1.10.2</version>
<version>1.14.2</version>
<name>JUnit Platform Engine API</name>
<description>Module "junit-platform-engine" of JUnit 5.</description>
<url>https://junit.org/junit5/</url>
<url>https://junit.org/</url>
<licenses>
<license>
<name>Eclipse Public License v2.0</name>
@@ -57,16 +57,16 @@
</developer>
</developers>
<scm>
<connection>scm:git:git://github.com/junit-team/junit5.git</connection>
<developerConnection>scm:git:git://github.com/junit-team/junit5.git</developerConnection>
<url>https://github.com/junit-team/junit5</url>
<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.10.2</version>
<version>5.14.2</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.10.2</version>
<version>1.14.2</version>
<scope>compile</scope>
</dependency>
<dependency>

View File

@@ -9,10 +9,10 @@
<modelVersion>4.0.0</modelVersion>
<groupId>org.junit.platform</groupId>
<artifactId>junit-platform-launcher</artifactId>
<version>1.10.2</version>
<version>1.14.2</version>
<name>JUnit Platform Launcher</name>
<description>Module "junit-platform-launcher" of JUnit 5.</description>
<url>https://junit.org/junit5/</url>
<url>https://junit.org/</url>
<licenses>
<license>
<name>Eclipse Public License v2.0</name>
@@ -57,16 +57,16 @@
</developer>
</developers>
<scm>
<connection>scm:git:git://github.com/junit-team/junit5.git</connection>
<developerConnection>scm:git:git://github.com/junit-team/junit5.git</developerConnection>
<url>https://github.com/junit-team/junit5</url>
<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.10.2</version>
<version>5.14.2</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.10.2</version>
<version>1.14.2</version>
<scope>compile</scope>
</dependency>
<dependency>

View File

@@ -9,10 +9,10 @@
<modelVersion>4.0.0</modelVersion>
<groupId>org.junit.platform</groupId>
<artifactId>junit-platform-reporting</artifactId>
<version>1.10.2</version>
<version>1.14.2</version>
<name>JUnit Platform Reporting</name>
<description>Module "junit-platform-reporting" of JUnit 5.</description>
<url>https://junit.org/junit5/</url>
<url>https://junit.org/</url>
<licenses>
<license>
<name>Eclipse Public License v2.0</name>
@@ -57,16 +57,16 @@
</developer>
</developers>
<scm>
<connection>scm:git:git://github.com/junit-team/junit5.git</connection>
<developerConnection>scm:git:git://github.com/junit-team/junit5.git</developerConnection>
<url>https://github.com/junit-team/junit5</url>
<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.10.2</version>
<version>5.14.2</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.10.2</version>
<version>1.14.2</version>
<scope>compile</scope>
</dependency>
<dependency>
@@ -85,5 +85,11 @@
<version>1.1.2</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>org.opentest4j.reporting</groupId>
<artifactId>open-test-reporting-tooling-spi</artifactId>
<version>0.2.3</version>
<scope>runtime</scope>
</dependency>
</dependencies>
</project>

View File

@@ -9,10 +9,10 @@
<modelVersion>4.0.0</modelVersion>
<groupId>org.junit.platform</groupId>
<artifactId>junit-platform-runner</artifactId>
<version>1.10.2</version>
<version>1.14.2</version>
<name>JUnit Platform Runner</name>
<description>Module "junit-platform-runner" of JUnit 5.</description>
<url>https://junit.org/junit5/</url>
<url>https://junit.org/</url>
<licenses>
<license>
<name>Eclipse Public License v2.0</name>
@@ -57,16 +57,16 @@
</developer>
</developers>
<scm>
<connection>scm:git:git://github.com/junit-team/junit5.git</connection>
<developerConnection>scm:git:git://github.com/junit-team/junit5.git</developerConnection>
<url>https://github.com/junit-team/junit5</url>
<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.10.2</version>
<version>5.14.2</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.10.2</version>
<version>1.14.2</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>org.junit.platform</groupId>
<artifactId>junit-platform-suite-api</artifactId>
<version>1.10.2</version>
<version>1.14.2</version>
<scope>compile</scope>
</dependency>
<dependency>
@@ -100,7 +100,7 @@
<dependency>
<groupId>org.junit.platform</groupId>
<artifactId>junit-platform-suite-commons</artifactId>
<version>1.10.2</version>
<version>1.14.2</version>
<scope>runtime</scope>
</dependency>
</dependencies>

View File

@@ -9,10 +9,10 @@
<modelVersion>4.0.0</modelVersion>
<groupId>org.junit.platform</groupId>
<artifactId>junit-platform-suite-api</artifactId>
<version>1.10.2</version>
<version>1.14.2</version>
<name>JUnit Platform Suite API</name>
<description>Module "junit-platform-suite-api" of JUnit 5.</description>
<url>https://junit.org/junit5/</url>
<url>https://junit.org/</url>
<licenses>
<license>
<name>Eclipse Public License v2.0</name>
@@ -57,16 +57,16 @@
</developer>
</developers>
<scm>
<connection>scm:git:git://github.com/junit-team/junit5.git</connection>
<developerConnection>scm:git:git://github.com/junit-team/junit5.git</developerConnection>
<url>https://github.com/junit-team/junit5</url>
<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.10.2</version>
<version>5.14.2</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.10.2</version>
<version>1.14.2</version>
<scope>compile</scope>
</dependency>
<dependency>

View File

@@ -9,10 +9,10 @@
<modelVersion>4.0.0</modelVersion>
<groupId>org.junit.platform</groupId>
<artifactId>junit-platform-suite-commons</artifactId>
<version>1.10.2</version>
<version>1.14.2</version>
<name>JUnit Platform Suite Commons</name>
<description>Module "junit-platform-suite-commons" of JUnit 5.</description>
<url>https://junit.org/junit5/</url>
<url>https://junit.org/</url>
<licenses>
<license>
<name>Eclipse Public License v2.0</name>
@@ -57,16 +57,16 @@
</developer>
</developers>
<scm>
<connection>scm:git:git://github.com/junit-team/junit5.git</connection>
<developerConnection>scm:git:git://github.com/junit-team/junit5.git</developerConnection>
<url>https://github.com/junit-team/junit5</url>
<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.10.2</version>
<version>5.14.2</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.10.2</version>
<version>1.14.2</version>
<scope>compile</scope>
</dependency>
<dependency>
@@ -88,13 +88,13 @@
<dependency>
<groupId>org.junit.platform</groupId>
<artifactId>junit-platform-engine</artifactId>
<version>1.10.2</version>
<version>1.14.2</version>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.junit.platform</groupId>
<artifactId>junit-platform-suite-api</artifactId>
<version>1.10.2</version>
<version>1.14.2</version>
<scope>runtime</scope>
</dependency>
</dependencies>

View File

@@ -9,10 +9,10 @@
<modelVersion>4.0.0</modelVersion>
<groupId>org.junit.platform</groupId>
<artifactId>junit-platform-testkit</artifactId>
<version>1.10.2</version>
<version>1.14.2</version>
<name>JUnit Platform Test Kit</name>
<description>Module "junit-platform-testkit" of JUnit 5.</description>
<url>https://junit.org/junit5/</url>
<url>https://junit.org/</url>
<licenses>
<license>
<name>Eclipse Public License v2.0</name>
@@ -57,16 +57,16 @@
</developer>
</developers>
<scm>
<connection>scm:git:git://github.com/junit-team/junit5.git</connection>
<developerConnection>scm:git:git://github.com/junit-team/junit5.git</developerConnection>
<url>https://github.com/junit-team/junit5</url>
<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.10.2</version>
<version>5.14.2</version>
<type>pom</type>
<scope>import</scope>
</dependency>
@@ -76,7 +76,7 @@
<dependency>
<groupId>org.assertj</groupId>
<artifactId>assertj-core</artifactId>
<version>3.24.2</version>
<version>3.27.3</version>
<scope>compile</scope>
</dependency>
<dependency>
@@ -88,7 +88,7 @@
<dependency>
<groupId>org.junit.platform</groupId>
<artifactId>junit-platform-launcher</artifactId>
<version>1.10.2</version>
<version>1.14.2</version>
<scope>compile</scope>
</dependency>
<dependency>

View File

@@ -9,10 +9,10 @@
<modelVersion>4.0.0</modelVersion>
<groupId>org.junit.vintage</groupId>
<artifactId>junit-vintage-engine</artifactId>
<version>5.10.2</version>
<version>5.14.2</version>
<name>JUnit Vintage Engine</name>
<description>Module "junit-vintage-engine" of JUnit 5.</description>
<url>https://junit.org/junit5/</url>
<url>https://junit.org/</url>
<licenses>
<license>
<name>Eclipse Public License v2.0</name>
@@ -57,16 +57,16 @@
</developer>
</developers>
<scm>
<connection>scm:git:git://github.com/junit-team/junit5.git</connection>
<developerConnection>scm:git:git://github.com/junit-team/junit5.git</developerConnection>
<url>https://github.com/junit-team/junit5</url>
<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.10.2</version>
<version>5.14.2</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.10.2</version>
<version>1.14.2</version>
<scope>compile</scope>
</dependency>
<dependency>

Binary file not shown.

BIN
junit5-5.14.2.tar.gz LFS Normal file

Binary file not shown.

Binary file not shown.

View File

@@ -1,3 +1,35 @@
-------------------------------------------------------------------
Tue Jan 13 14:21:13 UTC 2026 - Fridrich Strba <fstrba@suse.com>
- Update to upstream version 5.14.2
* Principal changes:
+ Introduce @ClassTemplate and @ParameterizedClass support in
JUnit Jupiter
+ Access to ParameterInfo for JUnit Jupiter extensions
+ New @SentenceFragment annotation for use with
IndicativeSentences display name generator
+ Add --redirect-stdout and --redirect-stderr options to
ConsoleLauncher
+ Introduce test discovery support in EngineTestKit
+ Reporting of discovery issues for test engines
+ Resource management for launcher sessions and execution
requests
+ GraalVM: removal of native-image.properties files from JARs
+ Bug fixes and other minor improvements
+ Deprecations along with new APIs to ease migration to JUnit 6
- Modified patches:
* 0001-Drop-transitive-requirement-on-apiguardian.patch
* 0002-Add-missing-module-static-requires.patch
+ rediff
- Removed patch:
* 0003-Bump-open-test-reporting-to-0.1.0-M2.patch
+ not needed
- Added patches:
* 0003-Remove-legacy-XML-console-support.patch
+ Remove legacy XML console support
* 0004-Add-JRE-class-generated-from-template.patch
+ Add file that is normally generated from template by gradle
-------------------------------------------------------------------
Fri Mar 28 18:22:24 UTC 2025 - Fridrich Strba <fstrba@suse.com>

View File

@@ -1,7 +1,7 @@
#
# spec file for package junit5
#
# Copyright (c) 2025 SUSE LLC
# Copyright (c) 2026 SUSE LLC and contributors
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -22,14 +22,14 @@
%else
%bcond_with bootstrap
%endif
%global platform_version 1.10.2
%global platform_version 1.14.2
%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.10.2
Version: 5.14.2
Release: 0
License: EPL-2.0
Group: Development/Libraries/Java
@@ -61,7 +61,8 @@ Source400: https://repo1.maven.org/maven2/org/junit/vintage/junit-vintage-e
Source500: https://repo1.maven.org/maven2/org/junit/junit-bom/%{version}/junit-bom-%{version}.pom
Patch1: 0001-Drop-transitive-requirement-on-apiguardian.patch
Patch2: 0002-Add-missing-module-static-requires.patch
Patch3: 0003-Bump-open-test-reporting-to-0.1.0-M2.patch
Patch3: 0003-Remove-legacy-XML-console-support.patch
Patch4: 0004-Add-JRE-class-generated-from-template.patch
BuildRequires: apiguardian >= 1.1.2
BuildRequires: fdupes
BuildRequires: java-devel >= 9
@@ -78,18 +79,17 @@ BuildRequires: javapackages-local >= 6
Name: %{base_name}
Summary: Java regression testing framework
BuildRequires: %{base_name}-minimal
BuildRequires: asciidoc
BuildRequires: maven-local
BuildRequires: mvn(com.univocity:univocity-parsers)
BuildRequires: mvn(info.picocli:picocli)
BuildRequires: mvn(junit:junit)
BuildRequires: mvn(net.sf.jopt-simple:jopt-simple)
BuildRequires: mvn(org.apache.felix:maven-bundle-plugin)
BuildRequires: mvn(org.apiguardian:apiguardian-api)
BuildRequires: mvn(org.assertj:assertj-core)
BuildRequires: mvn(org.opentest4j.reporting:open-test-reporting-events)
BuildRequires: mvn(org.codehaus.mojo:build-helper-maven-plugin)
BuildRequires: mvn(org.opentest4j:opentest4j)
Requires: %{base_name}-minimal >= %{version}
Obsoletes: %{base_name}-guide < %{version}
%endif
%description
@@ -110,19 +110,12 @@ Group: Documentation/HTML
%description javadoc
Junit5 API documentation.
%package guide
Summary: Documentation for %{name}
Group: Documentation/HTML
Requires: %{name}-javadoc = %{version}-%{release}
%description guide
JUnit 5 User Guide.
%prep
%setup -q -n %{base_name}-r%{version} -a1
%setup -q -n junit-framework-r%{version} -a1
%patch -P 1 -p1
%patch -P 2 -p1
%patch -P 3 -p1
%patch -P 4 -p1
find -name \*.jar -delete
cp -p %{SOURCE100} pom.xml
@@ -163,13 +156,15 @@ done
%pom_remove_parent junit-bom
# Add deps which are shaded by upstream and therefore not present in POMs.
%pom_add_dep net.sf.jopt-simple:jopt-simple:5.0.4 junit-platform-console
%pom_add_dep com.univocity:univocity-parsers:2.5.4 junit-jupiter-params
%pom_add_dep org.opentest4j.reporting:open-test-reporting-events:0.1.0-M2 junit-platform-reporting
%pom_add_dep org.junit.platform:junit-platform-commons:%{platform_version} junit-platform-console
%pom_add_dep org.junit.platform:junit-platform-launcher:%{platform_version} junit-platform-console
%pom_add_dep info.picocli:picocli:4.7.5 junit-platform-console
%pom_add_dep com.univocity:univocity-parsers:2.5.4 junit-jupiter-params
# Disable the standalone console (just jar with shaded dependencies)
%pom_disable_module junit-platform-console-standalone
%pom_remove_dep org.junit.platform:junit-platform-reporting junit-platform-console
# Disable the modules built in -minimal package
%pom_disable_module junit-platform-commons
%pom_disable_module junit-jupiter-api
@@ -185,11 +180,6 @@ build-jar-repository -s lib opentest4j/opentest4j apiguardian/apiguardian-api
%else
%{mvn_build} -f -- \
-Dencoding=utf-8 -DlegacyMode=true -Dverbose=true -Dsource=8
# Build docs. Ignore exit asciidoc -- it fails for some reason, but
# still produces readable docs.
asciidoc documentation/src/docs/asciidoc/index.adoc || :
ln -s ../../javadoc/junit5 documentation/src/docs/api
%endif
%install
@@ -208,7 +198,7 @@ done
%else
%mvn_install
%jpackage_script org/junit/platform/console/ConsoleLauncher "" "" junit5:junit:hamcrest:opentest4j:open-test-reporting:picocli:jopt-simple:assertj-core %{name} true
%jpackage_script org/junit/platform/console/ConsoleLauncher "" "" junit5:opentest4j:picocli:junit:hamcrest %{name} true
%fdupes -s documentation/src/docs/
%endif
@@ -216,26 +206,23 @@ done
%fdupes -s %{buildroot}%{_javadocdir}
%files -f .mfiles
%license LICENSE.md LICENSE-notice.md
%license LICENSE.md NOTICE.md
%if %{without bootstrap}
%{_bindir}/%{name}
%files bom -f .mfiles-bom
%license LICENSE.md LICENSE-notice.md
%license LICENSE.md NOTICE.md
%files javadoc -f .mfiles-javadoc
%license LICENSE.md LICENSE-notice.md
%files guide
%doc documentation/src/docs/*
%license LICENSE.md NOTICE.md
%else
%files javadoc
%{_javadocdir}/%{name}
%license LICENSE.md LICENSE-notice.md
%license LICENSE.md NOTICE.md
%endif