From 44b974d5315595a116888b02d4a43707de8b19a4 Mon Sep 17 00:00:00 2001 From: "M.P. Korstanje" Date: Sun, 14 Sep 2025 02:42:05 +0200 Subject: [PATCH 1/5] Try JUnit 6 --- compatibility/pom.xml | 2 +- cucumber-archetype/pom.xml | 2 +- cucumber-cdi2/pom.xml | 2 +- cucumber-core/pom.xml | 2 +- cucumber-deltaspike/pom.xml | 2 +- cucumber-gherkin-messages/pom.xml | 2 +- cucumber-gherkin/pom.xml | 2 +- cucumber-guice/pom.xml | 2 +- cucumber-jakarta-cdi/pom.xml | 2 +- cucumber-jakarta-openejb/pom.xml | 2 +- cucumber-java/pom.xml | 2 +- cucumber-java8/pom.xml | 2 +- cucumber-junit-platform-engine/pom.xml | 2 +- .../junit/platform/engine/EmptyConfigurationParameters.java | 5 ----- .../junit/platform/engine/MapConfigurationParameters.java | 5 ----- cucumber-junit/pom.xml | 2 +- cucumber-kotlin-java8/pom.xml | 2 +- cucumber-openejb/pom.xml | 2 +- cucumber-picocontainer/pom.xml | 2 +- cucumber-plugin/pom.xml | 2 +- cucumber-spring/pom.xml | 2 +- datatable-matchers/pom.xml | 2 +- datatable/pom.xml | 2 +- docstring/pom.xml | 2 +- examples/wicket-java-junit4/wicket-main/pom.xml | 2 +- examples/wicket-java-junit4/wicket-test/pom.xml | 2 +- 26 files changed, 24 insertions(+), 34 deletions(-) diff --git a/compatibility/pom.xml b/compatibility/pom.xml index f61c27b8d7..2adee36883 100644 --- a/compatibility/pom.xml +++ b/compatibility/pom.xml @@ -14,7 +14,7 @@ 3.0 2.20.0 - 5.13.4 + 6.0.0-M2 io.cucumber.compatibility diff --git a/cucumber-archetype/pom.xml b/cucumber-archetype/pom.xml index 968b9c9e41..2e8dbdf6cf 100644 --- a/cucumber-archetype/pom.xml +++ b/cucumber-archetype/pom.xml @@ -15,7 +15,7 @@ Cucumber JVM: Maven Archetype - 5.13.4 + 6.0.0-M2 3.27.4 3.14.0 3.5.4 diff --git a/cucumber-cdi2/pom.xml b/cucumber-cdi2/pom.xml index 6ff3e8d42b..f7b5a9904d 100644 --- a/cucumber-cdi2/pom.xml +++ b/cucumber-cdi2/pom.xml @@ -7,7 +7,7 @@ 2.0.28 3.1.9.Final 1.1.2 - 5.13.4 + 6.0.0-M2 2.2 diff --git a/cucumber-core/pom.xml b/cucumber-core/pom.xml index 5548e6799b..9f2c771dac 100644 --- a/cucumber-core/pom.xml +++ b/cucumber-core/pom.xml @@ -16,7 +16,7 @@ 1.1.2 2.20.0 1.21.2 - 5.13.4 + 6.0.0-M2 2.10.3 3.0 0.2 diff --git a/cucumber-deltaspike/pom.xml b/cucumber-deltaspike/pom.xml index ad13426d6c..29fda245d6 100644 --- a/cucumber-deltaspike/pom.xml +++ b/cucumber-deltaspike/pom.xml @@ -16,7 +16,7 @@ 1.1.2 2.0.SP1 1.9.6 - 5.13.4 + 6.0.0-M2 io.cucumber.deltaspike diff --git a/cucumber-gherkin-messages/pom.xml b/cucumber-gherkin-messages/pom.xml index 18e7af1377..71990ded0e 100644 --- a/cucumber-gherkin-messages/pom.xml +++ b/cucumber-gherkin-messages/pom.xml @@ -8,7 +8,7 @@ - 5.13.4 + 6.0.0-M2 io.cucumber.core.gherkin.messages diff --git a/cucumber-gherkin/pom.xml b/cucumber-gherkin/pom.xml index 43f031c2c8..2f35f85de4 100644 --- a/cucumber-gherkin/pom.xml +++ b/cucumber-gherkin/pom.xml @@ -8,7 +8,7 @@ - 5.13.4 + 6.0.0-M2 io.cucumber.core.gherkin diff --git a/cucumber-guice/pom.xml b/cucumber-guice/pom.xml index 983bbef3b5..35ab4c583f 100644 --- a/cucumber-guice/pom.xml +++ b/cucumber-guice/pom.xml @@ -15,7 +15,7 @@ 1.1.2 7.0.0 3.0 - 5.13.4 + 6.0.0-M2 io.cucumber.guice 5.19.0 diff --git a/cucumber-jakarta-cdi/pom.xml b/cucumber-jakarta-cdi/pom.xml index 98ab92f1ea..875d708c44 100644 --- a/cucumber-jakarta-cdi/pom.xml +++ b/cucumber-jakarta-cdi/pom.xml @@ -6,7 +6,7 @@ 1.1.2 4.1.0 2.1.4 - 5.13.4 + 6.0.0-M2 3.0 5.1.6.Final diff --git a/cucumber-jakarta-openejb/pom.xml b/cucumber-jakarta-openejb/pom.xml index b8a9ec644b..1863cf0b0e 100644 --- a/cucumber-jakarta-openejb/pom.xml +++ b/cucumber-jakarta-openejb/pom.xml @@ -14,7 +14,7 @@ 1.1.2 3.0 - 5.13.4 + 6.0.0-M2 9.1.3 io.cucumber.jakarta.openejb diff --git a/cucumber-java/pom.xml b/cucumber-java/pom.xml index 778fcbb8bf..a1ff5e8e4a 100644 --- a/cucumber-java/pom.xml +++ b/cucumber-java/pom.xml @@ -16,7 +16,7 @@ 1.1.2 3.0 2.20.0 - 5.13.4 + 6.0.0-M2 5.19.0 diff --git a/cucumber-java8/pom.xml b/cucumber-java8/pom.xml index aacd401e8e..fc941f77dd 100644 --- a/cucumber-java8/pom.xml +++ b/cucumber-java8/pom.xml @@ -15,7 +15,7 @@ io.cucumber.java8 1.1.2 3.0 - 5.13.4 + 6.0.0-M2 5.19.0 0.6.3 diff --git a/cucumber-junit-platform-engine/pom.xml b/cucumber-junit-platform-engine/pom.xml index 774ea7df63..8a9ae5b851 100644 --- a/cucumber-junit-platform-engine/pom.xml +++ b/cucumber-junit-platform-engine/pom.xml @@ -13,7 +13,7 @@ 3.0 - 5.13.4 + 6.0.0-M2 diff --git a/cucumber-junit-platform-engine/src/test/java/io/cucumber/junit/platform/engine/EmptyConfigurationParameters.java b/cucumber-junit-platform-engine/src/test/java/io/cucumber/junit/platform/engine/EmptyConfigurationParameters.java index e7d8c36bb0..bcc49553c8 100644 --- a/cucumber-junit-platform-engine/src/test/java/io/cucumber/junit/platform/engine/EmptyConfigurationParameters.java +++ b/cucumber-junit-platform-engine/src/test/java/io/cucumber/junit/platform/engine/EmptyConfigurationParameters.java @@ -18,11 +18,6 @@ public Optional getBoolean(String key) { return Optional.empty(); } - @Override - public int size() { - return 0; - } - @Override public Set keySet() { return Collections.emptySet(); diff --git a/cucumber-junit-platform-engine/src/test/java/io/cucumber/junit/platform/engine/MapConfigurationParameters.java b/cucumber-junit-platform-engine/src/test/java/io/cucumber/junit/platform/engine/MapConfigurationParameters.java index d100d150f6..71ce62ed73 100644 --- a/cucumber-junit-platform-engine/src/test/java/io/cucumber/junit/platform/engine/MapConfigurationParameters.java +++ b/cucumber-junit-platform-engine/src/test/java/io/cucumber/junit/platform/engine/MapConfigurationParameters.java @@ -29,11 +29,6 @@ public Optional getBoolean(String key) { return get(key, Boolean::valueOf); } - @Override - public int size() { - return 0; - } - @Override public Set keySet() { return parameters.keySet(); diff --git a/cucumber-junit/pom.xml b/cucumber-junit/pom.xml index 9c5c1d906a..29c97d175d 100644 --- a/cucumber-junit/pom.xml +++ b/cucumber-junit/pom.xml @@ -14,7 +14,7 @@ 1.1.2 3.0 - 5.13.4 + 6.0.0-M2 4.13.2 5.19.0 io.cucumber.junit diff --git a/cucumber-kotlin-java8/pom.xml b/cucumber-kotlin-java8/pom.xml index 77c906f78b..5b207a516b 100644 --- a/cucumber-kotlin-java8/pom.xml +++ b/cucumber-kotlin-java8/pom.xml @@ -14,7 +14,7 @@ io.cucumber.kotlin.java8 2.2.20 - 5.13.4 + 6.0.0-M2 diff --git a/cucumber-openejb/pom.xml b/cucumber-openejb/pom.xml index 302e6575c5..69be7a0e84 100644 --- a/cucumber-openejb/pom.xml +++ b/cucumber-openejb/pom.xml @@ -14,7 +14,7 @@ 1.1.2 3.0 - 5.13.4 + 6.0.0-M2 8.0.16 io.cucumber.openejb diff --git a/cucumber-picocontainer/pom.xml b/cucumber-picocontainer/pom.xml index 07144180d7..51b97495ab 100644 --- a/cucumber-picocontainer/pom.xml +++ b/cucumber-picocontainer/pom.xml @@ -15,7 +15,7 @@ io.cucumber.picocontainer 2.15.2 1.1.2 - 5.13.4 + 6.0.0-M2 diff --git a/cucumber-plugin/pom.xml b/cucumber-plugin/pom.xml index ae25f11830..3e4429d04d 100644 --- a/cucumber-plugin/pom.xml +++ b/cucumber-plugin/pom.xml @@ -12,7 +12,7 @@ Plugin interface for Cucumber-JVM - 5.13.4 + 6.0.0-M2 1.1.2 io.cucumber.plugin diff --git a/cucumber-spring/pom.xml b/cucumber-spring/pom.xml index 1d10c9bd6c..35c1d2bad9 100644 --- a/cucumber-spring/pom.xml +++ b/cucumber-spring/pom.xml @@ -14,7 +14,7 @@ 1.1.2 3.0 - 5.13.4 + 6.0.0-M2 6.2.11 io.cucumber.spring 5.19.0 diff --git a/datatable-matchers/pom.xml b/datatable-matchers/pom.xml index 2755b68b56..1ea6775f0e 100644 --- a/datatable-matchers/pom.xml +++ b/datatable-matchers/pom.xml @@ -17,7 +17,7 @@ 1.1.2 33.4.8-jre 3.0 - 5.13.4 + 6.0.0-M2 diff --git a/datatable/pom.xml b/datatable/pom.xml index a8c5ac809b..8825ed2dcf 100644 --- a/datatable/pom.xml +++ b/datatable/pom.xml @@ -19,7 +19,7 @@ 33.4.8-jre 3.0 2.20.0 - 5.13.4 + 6.0.0-M2 5.19.0 diff --git a/docstring/pom.xml b/docstring/pom.xml index b52363c538..96c7d2e313 100644 --- a/docstring/pom.xml +++ b/docstring/pom.xml @@ -13,7 +13,7 @@ 2.20.0 - 5.13.4 + 6.0.0-M2 1.1.2 io.cucumber.docstring 3.0 diff --git a/examples/wicket-java-junit4/wicket-main/pom.xml b/examples/wicket-java-junit4/wicket-main/pom.xml index a086220b83..60e70de3ab 100644 --- a/examples/wicket-java-junit4/wicket-main/pom.xml +++ b/examples/wicket-java-junit4/wicket-main/pom.xml @@ -14,7 +14,7 @@ 9.4.0 9.4.43.v20210629 2.0.5 - 5.13.1 + 6.0.0-M2 1.4.7 diff --git a/examples/wicket-java-junit4/wicket-test/pom.xml b/examples/wicket-java-junit4/wicket-test/pom.xml index 2569caced1..7b496632aa 100644 --- a/examples/wicket-java-junit4/wicket-test/pom.xml +++ b/examples/wicket-java-junit4/wicket-test/pom.xml @@ -10,7 +10,7 @@ io.cucumber.examples.wicket.test - 5.13.1 + 6.0.0-M2 4.13.0 From f6607fd9fad622c7a57e9db62e6da682d42fdc84 Mon Sep 17 00:00:00 2001 From: "M.P. Korstanje" Date: Sun, 21 Sep 2025 23:16:06 +0200 Subject: [PATCH 2/5] Upgrade to 6.0.0-RC3 --- compatibility/pom.xml | 2 +- cucumber-archetype/pom.xml | 2 +- cucumber-cdi2/pom.xml | 2 +- cucumber-core/pom.xml | 2 +- cucumber-deltaspike/pom.xml | 2 +- cucumber-gherkin-messages/pom.xml | 2 +- cucumber-gherkin/pom.xml | 2 +- cucumber-guice/pom.xml | 2 +- cucumber-jakarta-cdi/pom.xml | 2 +- cucumber-jakarta-openejb/pom.xml | 2 +- cucumber-java/pom.xml | 2 +- cucumber-java8/pom.xml | 2 +- cucumber-junit-platform-engine/pom.xml | 10 +++++++- .../engine/DiscoverySelectorResolver.java | 3 ++- .../platform/engine/FeatureFileResolver.java | 4 +-- .../engine/FeatureParserWithCaching.java | 6 ++--- .../engine/CucumberTestEngineTest.java | 25 +++++++++++++++---- cucumber-junit/pom.xml | 2 +- cucumber-kotlin-java8/pom.xml | 2 +- cucumber-openejb/pom.xml | 2 +- cucumber-picocontainer/pom.xml | 2 +- cucumber-plugin/pom.xml | 2 +- cucumber-spring/pom.xml | 2 +- datatable-matchers/pom.xml | 2 +- datatable/pom.xml | 2 +- docstring/pom.xml | 2 +- .../wicket-java-junit4/wicket-main/pom.xml | 2 +- .../wicket-java-junit4/wicket-test/pom.xml | 2 +- 28 files changed, 59 insertions(+), 35 deletions(-) diff --git a/compatibility/pom.xml b/compatibility/pom.xml index 2adee36883..63880c8750 100644 --- a/compatibility/pom.xml +++ b/compatibility/pom.xml @@ -14,7 +14,7 @@ 3.0 2.20.0 - 6.0.0-M2 + 6.0.0-RC3 io.cucumber.compatibility diff --git a/cucumber-archetype/pom.xml b/cucumber-archetype/pom.xml index 2e8dbdf6cf..f70ea16768 100644 --- a/cucumber-archetype/pom.xml +++ b/cucumber-archetype/pom.xml @@ -15,7 +15,7 @@ Cucumber JVM: Maven Archetype - 6.0.0-M2 + 6.0.0-RC3 3.27.4 3.14.0 3.5.4 diff --git a/cucumber-cdi2/pom.xml b/cucumber-cdi2/pom.xml index f7b5a9904d..f9b4e003b3 100644 --- a/cucumber-cdi2/pom.xml +++ b/cucumber-cdi2/pom.xml @@ -7,7 +7,7 @@ 2.0.28 3.1.9.Final 1.1.2 - 6.0.0-M2 + 6.0.0-RC3 2.2 diff --git a/cucumber-core/pom.xml b/cucumber-core/pom.xml index 9f2c771dac..e833a56542 100644 --- a/cucumber-core/pom.xml +++ b/cucumber-core/pom.xml @@ -16,7 +16,7 @@ 1.1.2 2.20.0 1.21.2 - 6.0.0-M2 + 6.0.0-RC3 2.10.3 3.0 0.2 diff --git a/cucumber-deltaspike/pom.xml b/cucumber-deltaspike/pom.xml index 29fda245d6..67c93849cb 100644 --- a/cucumber-deltaspike/pom.xml +++ b/cucumber-deltaspike/pom.xml @@ -16,7 +16,7 @@ 1.1.2 2.0.SP1 1.9.6 - 6.0.0-M2 + 6.0.0-RC3 io.cucumber.deltaspike diff --git a/cucumber-gherkin-messages/pom.xml b/cucumber-gherkin-messages/pom.xml index 71990ded0e..d04203f480 100644 --- a/cucumber-gherkin-messages/pom.xml +++ b/cucumber-gherkin-messages/pom.xml @@ -8,7 +8,7 @@ - 6.0.0-M2 + 6.0.0-RC3 io.cucumber.core.gherkin.messages diff --git a/cucumber-gherkin/pom.xml b/cucumber-gherkin/pom.xml index 2f35f85de4..d5bbb9413c 100644 --- a/cucumber-gherkin/pom.xml +++ b/cucumber-gherkin/pom.xml @@ -8,7 +8,7 @@ - 6.0.0-M2 + 6.0.0-RC3 io.cucumber.core.gherkin diff --git a/cucumber-guice/pom.xml b/cucumber-guice/pom.xml index 35ab4c583f..d33bee79b0 100644 --- a/cucumber-guice/pom.xml +++ b/cucumber-guice/pom.xml @@ -15,7 +15,7 @@ 1.1.2 7.0.0 3.0 - 6.0.0-M2 + 6.0.0-RC3 io.cucumber.guice 5.19.0 diff --git a/cucumber-jakarta-cdi/pom.xml b/cucumber-jakarta-cdi/pom.xml index 875d708c44..81e4acec94 100644 --- a/cucumber-jakarta-cdi/pom.xml +++ b/cucumber-jakarta-cdi/pom.xml @@ -6,7 +6,7 @@ 1.1.2 4.1.0 2.1.4 - 6.0.0-M2 + 6.0.0-RC3 3.0 5.1.6.Final diff --git a/cucumber-jakarta-openejb/pom.xml b/cucumber-jakarta-openejb/pom.xml index 1863cf0b0e..b33bbe8eb3 100644 --- a/cucumber-jakarta-openejb/pom.xml +++ b/cucumber-jakarta-openejb/pom.xml @@ -14,7 +14,7 @@ 1.1.2 3.0 - 6.0.0-M2 + 6.0.0-RC3 9.1.3 io.cucumber.jakarta.openejb diff --git a/cucumber-java/pom.xml b/cucumber-java/pom.xml index a1ff5e8e4a..20d8c3ffd6 100644 --- a/cucumber-java/pom.xml +++ b/cucumber-java/pom.xml @@ -16,7 +16,7 @@ 1.1.2 3.0 2.20.0 - 6.0.0-M2 + 6.0.0-RC3 5.19.0 diff --git a/cucumber-java8/pom.xml b/cucumber-java8/pom.xml index fc941f77dd..9dce25cdd9 100644 --- a/cucumber-java8/pom.xml +++ b/cucumber-java8/pom.xml @@ -15,7 +15,7 @@ io.cucumber.java8 1.1.2 3.0 - 6.0.0-M2 + 6.0.0-RC3 5.19.0 0.6.3 diff --git a/cucumber-junit-platform-engine/pom.xml b/cucumber-junit-platform-engine/pom.xml index 8a9ae5b851..41519f082d 100644 --- a/cucumber-junit-platform-engine/pom.xml +++ b/cucumber-junit-platform-engine/pom.xml @@ -13,7 +13,7 @@ 3.0 - 6.0.0-M2 + 6.0.0-RC3 @@ -92,6 +92,14 @@ + + org.apache.maven.plugins + maven-compiler-plugin + + 17 + 17 + + diff --git a/cucumber-junit-platform-engine/src/main/java/io/cucumber/junit/platform/engine/DiscoverySelectorResolver.java b/cucumber-junit-platform-engine/src/main/java/io/cucumber/junit/platform/engine/DiscoverySelectorResolver.java index 5c38d2171c..4b8d0b996b 100644 --- a/cucumber-junit-platform-engine/src/main/java/io/cucumber/junit/platform/engine/DiscoverySelectorResolver.java +++ b/cucumber-junit-platform-engine/src/main/java/io/cucumber/junit/platform/engine/DiscoverySelectorResolver.java @@ -1,5 +1,6 @@ package io.cucumber.junit.platform.engine; +import org.junit.platform.commons.io.ResourceFilter; import org.junit.platform.engine.EngineDiscoveryRequest; import org.junit.platform.engine.support.discovery.DiscoveryIssueReporter; import org.junit.platform.engine.support.discovery.EngineDiscoveryRequestResolver; @@ -13,7 +14,7 @@ class DiscoverySelectorResolver { . builder() .addSelectorResolver(context -> new FileContainerSelectorResolver( // path -> isFeature(path) || isTxtFile(path))) - .addResourceContainerSelectorResolver(resource -> isFeature(resource.getName())) + .addResourceContainerSelectorResolver(ResourceFilter.of(resource -> isFeature(resource.getName()))) .addSelectorResolver(context -> new FeatureWithLinesFileResolver()) .addSelectorResolver(context -> new FeatureFileResolver( context.getEngineDescriptor().getConfiguration(), // diff --git a/cucumber-junit-platform-engine/src/main/java/io/cucumber/junit/platform/engine/FeatureFileResolver.java b/cucumber-junit-platform-engine/src/main/java/io/cucumber/junit/platform/engine/FeatureFileResolver.java index 0233c0b219..52dd7a3db4 100644 --- a/cucumber-junit-platform-engine/src/main/java/io/cucumber/junit/platform/engine/FeatureFileResolver.java +++ b/cucumber-junit-platform-engine/src/main/java/io/cucumber/junit/platform/engine/FeatureFileResolver.java @@ -16,7 +16,7 @@ import io.cucumber.junit.platform.engine.CucumberTestDescriptor.FeatureElementDescriptor.ScenarioOutlineDescriptor; import io.cucumber.junit.platform.engine.CucumberTestDescriptor.PickleDescriptor; import io.cucumber.plugin.event.Node; -import org.junit.platform.commons.support.Resource; +import org.junit.platform.commons.io.Resource; import org.junit.platform.engine.DiscoveryIssue; import org.junit.platform.engine.DiscoverySelector; import org.junit.platform.engine.TestDescriptor; @@ -140,7 +140,7 @@ public Resolution resolve(FileSelector selector, Context context) { @Override public Resolution resolve(ClasspathResourceSelector selector, Context context) { - Set resources = selector.getClasspathResources(); + Set resources = selector.getResources(); if (!resources.stream().allMatch(resource -> isFeature(resource.getName()))) { return resolveClasspathResourceSelectorAsPackageSelector(selector); } diff --git a/cucumber-junit-platform-engine/src/main/java/io/cucumber/junit/platform/engine/FeatureParserWithCaching.java b/cucumber-junit-platform-engine/src/main/java/io/cucumber/junit/platform/engine/FeatureParserWithCaching.java index 65616e1480..b9e1c965d4 100644 --- a/cucumber-junit-platform-engine/src/main/java/io/cucumber/junit/platform/engine/FeatureParserWithCaching.java +++ b/cucumber-junit-platform-engine/src/main/java/io/cucumber/junit/platform/engine/FeatureParserWithCaching.java @@ -31,14 +31,14 @@ Optional parseResource(Path resource) { return parseResource(new PathAdapter(resource)); } - Optional parseResource(org.junit.platform.commons.support.Resource resource) { + Optional parseResource(org.junit.platform.commons.io.Resource resource) { return parseResource(new ResourceAdapter(resource)); } private static class ResourceAdapter implements Resource { - private final org.junit.platform.commons.support.Resource resource; + private final org.junit.platform.commons.io.Resource resource; - public ResourceAdapter(org.junit.platform.commons.support.Resource resource) { + public ResourceAdapter(org.junit.platform.commons.io.Resource resource) { this.resource = resource; } diff --git a/cucumber-junit-platform-engine/src/test/java/io/cucumber/junit/platform/engine/CucumberTestEngineTest.java b/cucumber-junit-platform-engine/src/test/java/io/cucumber/junit/platform/engine/CucumberTestEngineTest.java index db04054e43..3694f36c24 100644 --- a/cucumber-junit-platform-engine/src/test/java/io/cucumber/junit/platform/engine/CucumberTestEngineTest.java +++ b/cucumber-junit-platform-engine/src/test/java/io/cucumber/junit/platform/engine/CucumberTestEngineTest.java @@ -8,7 +8,7 @@ import org.junit.jupiter.api.Test; import org.junit.jupiter.params.ParameterizedTest; import org.junit.jupiter.params.provider.MethodSource; -import org.junit.platform.commons.support.Resource; +import org.junit.platform.commons.io.Resource; import org.junit.platform.engine.DiscoveryIssue; import org.junit.platform.engine.DiscoverySelector; import org.junit.platform.engine.TestDescriptor; @@ -34,6 +34,7 @@ import java.util.Arrays; import java.util.Collection; import java.util.LinkedHashSet; +import java.util.Objects; import java.util.Optional; import java.util.Set; import java.util.function.Predicate; @@ -75,6 +76,7 @@ import static org.junit.platform.engine.UniqueId.forEngine; import static org.junit.platform.engine.discovery.DiscoverySelectors.selectClass; import static org.junit.platform.engine.discovery.DiscoverySelectors.selectClasspathResource; +import static org.junit.platform.engine.discovery.DiscoverySelectors.selectClasspathResourceByName; import static org.junit.platform.engine.discovery.DiscoverySelectors.selectClasspathRoots; import static org.junit.platform.engine.discovery.DiscoverySelectors.selectDirectory; import static org.junit.platform.engine.discovery.DiscoverySelectors.selectFile; @@ -226,17 +228,30 @@ public String getName() { public URI getUri() { return source.toURI(); } + + @Override + public boolean equals(Object o) { + if (o == null || getClass() != o.getClass()) + return false; + TestResource that = (TestResource) o; + return Objects.equals(name, that.name) && Objects.equals(source, that.source); + } + + @Override + public int hashCode() { + return Objects.hash(name, source); + } } Set resources = new LinkedHashSet<>(Arrays.asList( new TestResource("io/cucumber/junit/platform/engine/single.feature", - new File("src/test/resources/io/cucumber/junit/platform/engine/single.feature")), + new File("duplicate1.feature")), new TestResource("io/cucumber/junit/platform/engine/single.feature", - new File("src/test/resources/io/cucumber/junit/platform/engine/single.feature")), + new File("duplicate2.feature")), new TestResource("io/cucumber/junit/platform/engine/single.feature", - new File("src/test/resources/io/cucumber/junit/platform/engine/single.feature")))); + new File("duplicate3.feature")))); Throwable exception = EngineTestKit.engine(ENGINE_ID) // - .selectors(selectClasspathResource(resources)) // + .selectors(selectClasspathResourceByName(resources)) // .discover() // .getDiscoveryIssues() // .get(0) // diff --git a/cucumber-junit/pom.xml b/cucumber-junit/pom.xml index 29c97d175d..ba9166fecd 100644 --- a/cucumber-junit/pom.xml +++ b/cucumber-junit/pom.xml @@ -14,7 +14,7 @@ 1.1.2 3.0 - 6.0.0-M2 + 6.0.0-RC3 4.13.2 5.19.0 io.cucumber.junit diff --git a/cucumber-kotlin-java8/pom.xml b/cucumber-kotlin-java8/pom.xml index 5b207a516b..c9ba70c35d 100644 --- a/cucumber-kotlin-java8/pom.xml +++ b/cucumber-kotlin-java8/pom.xml @@ -14,7 +14,7 @@ io.cucumber.kotlin.java8 2.2.20 - 6.0.0-M2 + 6.0.0-RC3 diff --git a/cucumber-openejb/pom.xml b/cucumber-openejb/pom.xml index 69be7a0e84..3828ed3758 100644 --- a/cucumber-openejb/pom.xml +++ b/cucumber-openejb/pom.xml @@ -14,7 +14,7 @@ 1.1.2 3.0 - 6.0.0-M2 + 6.0.0-RC3 8.0.16 io.cucumber.openejb diff --git a/cucumber-picocontainer/pom.xml b/cucumber-picocontainer/pom.xml index 51b97495ab..4ba73a1c59 100644 --- a/cucumber-picocontainer/pom.xml +++ b/cucumber-picocontainer/pom.xml @@ -15,7 +15,7 @@ io.cucumber.picocontainer 2.15.2 1.1.2 - 6.0.0-M2 + 6.0.0-RC3 diff --git a/cucumber-plugin/pom.xml b/cucumber-plugin/pom.xml index 3e4429d04d..5b171f3b94 100644 --- a/cucumber-plugin/pom.xml +++ b/cucumber-plugin/pom.xml @@ -12,7 +12,7 @@ Plugin interface for Cucumber-JVM - 6.0.0-M2 + 6.0.0-RC3 1.1.2 io.cucumber.plugin diff --git a/cucumber-spring/pom.xml b/cucumber-spring/pom.xml index 35c1d2bad9..d9fbb3bfe1 100644 --- a/cucumber-spring/pom.xml +++ b/cucumber-spring/pom.xml @@ -14,7 +14,7 @@ 1.1.2 3.0 - 6.0.0-M2 + 6.0.0-RC3 6.2.11 io.cucumber.spring 5.19.0 diff --git a/datatable-matchers/pom.xml b/datatable-matchers/pom.xml index 1ea6775f0e..70b51b8c4c 100644 --- a/datatable-matchers/pom.xml +++ b/datatable-matchers/pom.xml @@ -17,7 +17,7 @@ 1.1.2 33.4.8-jre 3.0 - 6.0.0-M2 + 6.0.0-RC3 diff --git a/datatable/pom.xml b/datatable/pom.xml index 8825ed2dcf..d3d760f4a9 100644 --- a/datatable/pom.xml +++ b/datatable/pom.xml @@ -19,7 +19,7 @@ 33.4.8-jre 3.0 2.20.0 - 6.0.0-M2 + 6.0.0-RC3 5.19.0 diff --git a/docstring/pom.xml b/docstring/pom.xml index 96c7d2e313..743dc9bf8a 100644 --- a/docstring/pom.xml +++ b/docstring/pom.xml @@ -13,7 +13,7 @@ 2.20.0 - 6.0.0-M2 + 6.0.0-RC3 1.1.2 io.cucumber.docstring 3.0 diff --git a/examples/wicket-java-junit4/wicket-main/pom.xml b/examples/wicket-java-junit4/wicket-main/pom.xml index 60e70de3ab..c0ce57bfe3 100644 --- a/examples/wicket-java-junit4/wicket-main/pom.xml +++ b/examples/wicket-java-junit4/wicket-main/pom.xml @@ -14,7 +14,7 @@ 9.4.0 9.4.43.v20210629 2.0.5 - 6.0.0-M2 + 6.0.0-RC3 1.4.7 diff --git a/examples/wicket-java-junit4/wicket-test/pom.xml b/examples/wicket-java-junit4/wicket-test/pom.xml index 7b496632aa..f70aaa5d87 100644 --- a/examples/wicket-java-junit4/wicket-test/pom.xml +++ b/examples/wicket-java-junit4/wicket-test/pom.xml @@ -10,7 +10,7 @@ io.cucumber.examples.wicket.test - 6.0.0-M2 + 6.0.0-RC3 4.13.0 From 24ce83b24b9fa936d72fcfb1de43dae0626a0d99 Mon Sep 17 00:00:00 2001 From: "M.P. Korstanje" Date: Mon, 22 Sep 2025 12:33:36 +0200 Subject: [PATCH 3/5] Use Resource.of --- .../engine/CucumberTestEngineTest.java | 46 +++---------------- 1 file changed, 6 insertions(+), 40 deletions(-) diff --git a/cucumber-junit-platform-engine/src/test/java/io/cucumber/junit/platform/engine/CucumberTestEngineTest.java b/cucumber-junit-platform-engine/src/test/java/io/cucumber/junit/platform/engine/CucumberTestEngineTest.java index 3694f36c24..c34bb9353b 100644 --- a/cucumber-junit-platform-engine/src/test/java/io/cucumber/junit/platform/engine/CucumberTestEngineTest.java +++ b/cucumber-junit-platform-engine/src/test/java/io/cucumber/junit/platform/engine/CucumberTestEngineTest.java @@ -34,7 +34,6 @@ import java.util.Arrays; import java.util.Collection; import java.util.LinkedHashSet; -import java.util.Objects; import java.util.Optional; import java.util.Set; import java.util.function.Predicate; @@ -209,46 +208,13 @@ void warnWhenResourceSelectorIsUsedToSelectAPackage() { @Test void classpathResourceSelectorThrowIfDuplicateResources() { - class TestResource implements Resource { - - private final String name; - private final File source; - - TestResource(String name, File source) { - this.name = name; - this.source = source; - } - - @Override - public String getName() { - return name; - } - - @Override - public URI getUri() { - return source.toURI(); - } - - @Override - public boolean equals(Object o) { - if (o == null || getClass() != o.getClass()) - return false; - TestResource that = (TestResource) o; - return Objects.equals(name, that.name) && Objects.equals(source, that.source); - } - - @Override - public int hashCode() { - return Objects.hash(name, source); - } - } Set resources = new LinkedHashSet<>(Arrays.asList( - new TestResource("io/cucumber/junit/platform/engine/single.feature", - new File("duplicate1.feature")), - new TestResource("io/cucumber/junit/platform/engine/single.feature", - new File("duplicate2.feature")), - new TestResource("io/cucumber/junit/platform/engine/single.feature", - new File("duplicate3.feature")))); + Resource.of("io/cucumber/junit/platform/engine/single.feature", + new File("duplicate1.feature").toURI()), + Resource.of("io/cucumber/junit/platform/engine/single.feature", + new File("duplicate2.feature").toURI()), + Resource.of("io/cucumber/junit/platform/engine/single.feature", + new File("duplicate3.feature").toURI()))); Throwable exception = EngineTestKit.engine(ENGINE_ID) // .selectors(selectClasspathResourceByName(resources)) // From d4d4c61cc8ab4449eafbdaa01dd865b064a694b7 Mon Sep 17 00:00:00 2001 From: "M.P. Korstanje" Date: Mon, 22 Sep 2025 15:49:37 +0200 Subject: [PATCH 4/5] Update sources forgotten by Renovate --- examples/calculator-java-junit5/pom.xml | 2 +- examples/calculator-kotlin-junit5/pom.xml | 2 +- examples/spring-java-junit5/pom.xml | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/examples/calculator-java-junit5/pom.xml b/examples/calculator-java-junit5/pom.xml index 5290566cbf..908e5d3050 100644 --- a/examples/calculator-java-junit5/pom.xml +++ b/examples/calculator-java-junit5/pom.xml @@ -28,7 +28,7 @@ org.junit junit-bom - 5.13.1 + 6.0.0-RC3 pom import diff --git a/examples/calculator-kotlin-junit5/pom.xml b/examples/calculator-kotlin-junit5/pom.xml index 75419eaa82..4196ab348e 100644 --- a/examples/calculator-kotlin-junit5/pom.xml +++ b/examples/calculator-kotlin-junit5/pom.xml @@ -31,7 +31,7 @@ org.junit junit-bom - 5.13.1 + 6.0.0-RC3 pom import diff --git a/examples/spring-java-junit5/pom.xml b/examples/spring-java-junit5/pom.xml index 7c03c859d3..832b567dcb 100644 --- a/examples/spring-java-junit5/pom.xml +++ b/examples/spring-java-junit5/pom.xml @@ -13,7 +13,7 @@ io.cucumber.examples.spring.application 3.5.0 - 5.13.1 + 6.0.0-RC3 From 706643c22ba996c120ffe92c399e1f73cdbb7bfc Mon Sep 17 00:00:00 2001 From: "M.P. Korstanje" Date: Mon, 22 Sep 2025 15:55:30 +0200 Subject: [PATCH 5/5] Upgrade console launcher commands --- examples/calculator-java-junit5/pom.xml | 1 + examples/calculator-kotlin-junit5/pom.xml | 1 + 2 files changed, 2 insertions(+) diff --git a/examples/calculator-java-junit5/pom.xml b/examples/calculator-java-junit5/pom.xml index 908e5d3050..64aaa1c7aa 100644 --- a/examples/calculator-java-junit5/pom.xml +++ b/examples/calculator-java-junit5/pom.xml @@ -118,6 +118,7 @@ + diff --git a/examples/calculator-kotlin-junit5/pom.xml b/examples/calculator-kotlin-junit5/pom.xml index 4196ab348e..efd2c5a327 100644 --- a/examples/calculator-kotlin-junit5/pom.xml +++ b/examples/calculator-kotlin-junit5/pom.xml @@ -140,6 +140,7 @@ +