diff --git a/devkit/package-lock.json b/devkit/package-lock.json
index cb2b8a6..fb0735d 100644
--- a/devkit/package-lock.json
+++ b/devkit/package-lock.json
@@ -63,7 +63,6 @@
"resolved": "https://registry.npmjs.org/@cucumber/cucumber-expressions/-/cucumber-expressions-18.0.1.tgz",
"integrity": "sha512-NSid6bI+7UlgMywl5octojY5NXnxR9uq+JisjOrO52VbFsQM6gTWuQFE8syI10KnIBEdPzuEUSVEeZ0VFzRnZA==",
"license": "MIT",
- "peer": true,
"dependencies": {
"regexp-match-indices": "1.0.2"
}
@@ -77,7 +76,6 @@
"resolved": "https://registry.npmjs.org/@cucumber/gherkin/-/gherkin-36.0.0.tgz",
"integrity": "sha512-L/WomevUuGSHWeJqLN9yEsz37ns0M1BiRu8Isp+hlYTBAYzt6ZkLiUEK3W9gT5STu++lL/2tE04bD8Ma1p0AYw==",
"license": "MIT",
- "peer": true,
"dependencies": {
"@cucumber/messages": ">=19.1.4 <31"
}
@@ -151,7 +149,6 @@
"version": "4.0.1",
"resolved": "https://registry.npmjs.org/@cucumber/message-streams/-/message-streams-4.0.1.tgz",
"integrity": "sha512-Kxap9uP5jD8tHUZVjTWgzxemi/0uOsbGjd4LBOSxcJoOCRbESFwemUzilJuzNTB8pcTQUh8D5oudUyxfkJOKmA==",
- "peer": true,
"peerDependencies": {
"@cucumber/messages": ">=17.1.1"
}
@@ -161,7 +158,6 @@
"resolved": "https://registry.npmjs.org/@cucumber/messages/-/messages-30.0.0.tgz",
"integrity": "sha512-Q49dy57Iv58sTU4z3I9FU0mfCOk/6akuqiANr99eWzX2hBuywbsrGSwi6nEAisLJwiKvSK/kKxlo/YQPegjkEA==",
"license": "MIT",
- "peer": true,
"dependencies": {
"class-transformer": "0.5.1",
"reflect-metadata": "0.2.2"
@@ -172,7 +168,6 @@
"resolved": "https://registry.npmjs.org/@cucumber/query/-/query-14.0.1.tgz",
"integrity": "sha512-9/Uc96XO4Uvj4+JdVB0RVEgVmddSeHvSJcK978iJITC8idDlAsk9DAZ+BL53cLCdGaRHcBEYI+KBREIM6w19JA==",
"license": "MIT",
- "peer": true,
"dependencies": {
"@teppeis/multimaps": "3.0.0",
"lodash.sortby": "^4.7.0"
@@ -185,8 +180,7 @@
"version": "8.0.0",
"resolved": "https://registry.npmjs.org/@cucumber/tag-expressions/-/tag-expressions-8.0.0.tgz",
"integrity": "sha512-2G+GMMhazdW4oiWSarDdRQ5uLx70zEvuVyf53HzJ7gwGeFiOB1tLIxyKiCIAjF63be65sRLPdjDqGxFuT5w8FQ==",
- "license": "MIT",
- "peer": true
+ "license": "MIT"
},
"node_modules/@esbuild/aix-ppc64": {
"version": "0.25.8",
@@ -1316,7 +1310,6 @@
"integrity": "sha512-Zhy8HCvBUEfBECzIl1PKqF4p11+d0aUJS1GeUiuqK9WmOug8YCmC4h4bjyBvMyAMI9sbRczmrYL5lKg/YMbrcQ==",
"dev": true,
"license": "MIT",
- "peer": true,
"dependencies": {
"@typescript-eslint/scope-manager": "8.38.0",
"@typescript-eslint/types": "8.38.0",
@@ -1659,7 +1652,6 @@
"integrity": "sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==",
"dev": true,
"license": "MIT",
- "peer": true,
"bin": {
"acorn": "bin/acorn"
},
@@ -1962,7 +1954,6 @@
"integrity": "sha512-LSehfdpgMeWcTZkWZVIJl+tkZ2nuSkyyB9C27MZqFWXuph7DvaowgcTvKqxvpLW1JZIk8PN7hFY3Rj9LQ7m7lg==",
"dev": true,
"license": "MIT",
- "peer": true,
"dependencies": {
"@eslint-community/eslint-utils": "^4.2.0",
"@eslint-community/regexpp": "^4.12.1",
@@ -3440,7 +3431,6 @@
"integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==",
"dev": true,
"license": "MIT",
- "peer": true,
"engines": {
"node": ">=12"
},
@@ -3522,7 +3512,6 @@
"integrity": "sha512-p1diW6TqL9L07nNxvRMM7hMMw4c5XOo/1ibL4aAIGmSAt9slTE1Xgw5KWuof2uTOvCg9BY7ZRi+GaF+7sfgPeQ==",
"dev": true,
"license": "Apache-2.0",
- "peer": true,
"bin": {
"tsc": "bin/tsc",
"tsserver": "bin/tsserver"
@@ -3590,7 +3579,6 @@
"integrity": "sha512-4nVGliEpxmhCL8DslSAUdxlB6+SMrhB0a1v5ijlh1xB1nEPuy1mxaHxysVucLHuWryAxLWg6a5ei+U4TLn/rFg==",
"dev": true,
"license": "MIT",
- "peer": true,
"dependencies": {
"esbuild": "^0.25.0",
"fdir": "^6.5.0",
@@ -3684,7 +3672,6 @@
"integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==",
"dev": true,
"license": "MIT",
- "peer": true,
"engines": {
"node": ">=12"
},
diff --git a/java/.mvn/jvm.config b/java/.mvn/jvm.config
new file mode 100644
index 0000000..32599ce
--- /dev/null
+++ b/java/.mvn/jvm.config
@@ -0,0 +1,10 @@
+--add-exports jdk.compiler/com.sun.tools.javac.api=ALL-UNNAMED
+--add-exports jdk.compiler/com.sun.tools.javac.file=ALL-UNNAMED
+--add-exports jdk.compiler/com.sun.tools.javac.main=ALL-UNNAMED
+--add-exports jdk.compiler/com.sun.tools.javac.model=ALL-UNNAMED
+--add-exports jdk.compiler/com.sun.tools.javac.parser=ALL-UNNAMED
+--add-exports jdk.compiler/com.sun.tools.javac.processing=ALL-UNNAMED
+--add-exports jdk.compiler/com.sun.tools.javac.tree=ALL-UNNAMED
+--add-exports jdk.compiler/com.sun.tools.javac.util=ALL-UNNAMED
+--add-opens jdk.compiler/com.sun.tools.javac.code=ALL-UNNAMED
+--add-opens jdk.compiler/com.sun.tools.javac.comp=ALL-UNNAMED
diff --git a/java/pom.xml b/java/pom.xml
index 9f7a0dc..5830083 100644
--- a/java/pom.xml
+++ b/java/pom.xml
@@ -5,11 +5,11 @@
io.cucumber
cucumber-parent
- 4.5.0
+ 5.0.0-SNAPSHOT
compatibility-kit
- 24.0.2-SNAPSHOT
+ 25.0.0-SNAPSHOT
jar
Compatibility Kit
Test data used to validate a Cucumber implementation
@@ -51,7 +51,7 @@
io.cucumber
messages
- 30.1.0
+ 32.0.0-SNAPSHOT
provided
@@ -67,4 +67,22 @@
test
+
+
+
+
+ org.apache.maven.plugins
+ maven-checkstyle-plugin
+
+
+ validate
+ validate
+
+ check
+
+
+
+
+
+
diff --git a/java/src/main/java/io/cucumber/compatibilitykit/package-info.java b/java/src/main/java/io/cucumber/compatibilitykit/package-info.java
new file mode 100644
index 0000000..3e282b2
--- /dev/null
+++ b/java/src/main/java/io/cucumber/compatibilitykit/package-info.java
@@ -0,0 +1,4 @@
+@NullMarked
+package io.cucumber.compatibilitykit;
+
+import org.jspecify.annotations.NullMarked;
\ No newline at end of file
diff --git a/java/src/test/java/io/cucumber/compatibilitykit/MessageOrdererTest.java b/java/src/test/java/io/cucumber/compatibilitykit/MessageOrdererTest.java
index 0b37d2c..08e8dee 100644
--- a/java/src/test/java/io/cucumber/compatibilitykit/MessageOrdererTest.java
+++ b/java/src/test/java/io/cucumber/compatibilitykit/MessageOrdererTest.java
@@ -31,8 +31,8 @@ void worksOnEmptyLists(){
@Test
void worksOnListsWithoutTestRunEvents(){
List t = Arrays.asList(
- Envelope.of(new TestRunStarted(new Timestamp(0L, 0L), "")),
- Envelope.of(new TestRunFinished(null, false, new Timestamp(0L, 0L), null, ""))
+ Envelope.of(new TestRunStarted(new Timestamp(0L, 0), "")),
+ Envelope.of(new TestRunFinished(null, false, new Timestamp(0L, 0), null, ""))
);
assertDoesNotThrow(() -> originalOrder.accept(t));
assertDoesNotThrow(() -> simulateParallelExecution.accept(t));