diff --git a/io.cucumber.eclipse.editor/META-INF/MANIFEST.MF b/io.cucumber.eclipse.editor/META-INF/MANIFEST.MF index 87339c6a..aae9a94f 100644 --- a/io.cucumber.eclipse.editor/META-INF/MANIFEST.MF +++ b/io.cucumber.eclipse.editor/META-INF/MANIFEST.MF @@ -35,8 +35,9 @@ Require-Bundle: org.eclipse.ui;bundle-version="3.5.0", org.eclipse.ui.workbench.texteditor, io.cucumber.tag-expressions, org.eclipse.unittest.ui;bundle-version="1.0.0", - io.cucumber.gherkin-utils;bundle-version="9.0.0", - org.eclipse.core.expressions;bundle-version="3.9.500" + org.eclipse.core.expressions;bundle-version="3.9.500", + io.cucumber.gherkin.utils;bundle-version="11.0.0", + io.cucumber.cucumber-gherkin;bundle-version="7.33.0" Bundle-RequiredExecutionEnvironment: JavaSE-21 Automatic-Module-Name: io.cucumber.eclipse.editor Bundle-ActivationPolicy: lazy diff --git a/io.cucumber.eclipse.editor/src/io/cucumber/eclipse/editor/document/GherkinEditorDocument.java b/io.cucumber.eclipse.editor/src/io/cucumber/eclipse/editor/document/GherkinEditorDocument.java index 858a70df..c3da2f6b 100644 --- a/io.cucumber.eclipse.editor/src/io/cucumber/eclipse/editor/document/GherkinEditorDocument.java +++ b/io.cucumber.eclipse.editor/src/io/cucumber/eclipse/editor/document/GherkinEditorDocument.java @@ -150,7 +150,7 @@ public Position getPosition(io.cucumber.messages.types.Location location, int li throws BadLocationException { int line = location.getLine().intValue(); int offset = document.getLineOffset(line - 1 - lineOffset); - return new Position(offset + location.getColumn().orElse(0l).intValue() - 1, 1); + return new Position(offset + location.getColumn().orElse(0).intValue() - 1, 1); } /** diff --git a/io.cucumber.eclipse.editor/src/io/cucumber/eclipse/editor/hyperlinks/StepHyperlinkDetector.java b/io.cucumber.eclipse.editor/src/io/cucumber/eclipse/editor/hyperlinks/StepHyperlinkDetector.java index 8e9cf1a3..58c105fb 100644 --- a/io.cucumber.eclipse.editor/src/io/cucumber/eclipse/editor/hyperlinks/StepHyperlinkDetector.java +++ b/io.cucumber.eclipse.editor/src/io/cucumber/eclipse/editor/hyperlinks/StepHyperlinkDetector.java @@ -49,7 +49,7 @@ public IHyperlink[] detectHyperlinks(ITextViewer textViewer, IRegion region, boo IHyperlink[] hyperlinks = editorDocument.getSteps() .filter(step -> step.getLocation().getLine() == lineNumber).map(step -> { - long column = step.getLocation().getColumn().orElse(0l) - 1; + long column = step.getLocation().getColumn().orElse(0) - 1; String keyword = step.getKeyword(); Long statementStartOffset = lineStartOffset + column + keyword.length(); IRegion stepRegion = new Region(statementStartOffset.intValue(), step.getText().length()); diff --git a/io.cucumber.eclipse.editor/src/io/cucumber/eclipse/editor/marker/MarkerFactory.java b/io.cucumber.eclipse.editor/src/io/cucumber/eclipse/editor/marker/MarkerFactory.java index f87a3db3..df62bab9 100644 --- a/io.cucumber.eclipse.editor/src/io/cucumber/eclipse/editor/marker/MarkerFactory.java +++ b/io.cucumber.eclipse.editor/src/io/cucumber/eclipse/editor/marker/MarkerFactory.java @@ -180,9 +180,9 @@ public void build() throws CoreException { if (error.getSource().getLocation().isPresent()) { SourceReference source = error.getSource(); Location location = source.getLocation().get(); - Long l = location.getLine(); + Integer l = location.getLine(); line = l == null ? null : l.intValue(); - column = location.getColumn().orElse(-1l).intValue(); + column = location.getColumn().orElse(-1).intValue(); } else { line = -1; column = -1; diff --git a/io.cucumber.eclipse.java.plugins/META-INF/MANIFEST.MF b/io.cucumber.eclipse.java.plugins/META-INF/MANIFEST.MF index 370ce2b8..8e6e0a70 100644 --- a/io.cucumber.eclipse.java.plugins/META-INF/MANIFEST.MF +++ b/io.cucumber.eclipse.java.plugins/META-INF/MANIFEST.MF @@ -7,6 +7,7 @@ Bundle-RequiredExecutionEnvironment: JavaSE-11 Automatic-Module-Name: io.cucumber.eclipse.java.plugins Require-Bundle: io.cucumber.cucumber-plugin, io.cucumber.messages, - io.cucumber.cucumber-core + io.cucumber.cucumber-core, + io.cucumber.messagesn.ndjson;bundle-version="0.4.1" Export-Package: io.cucumber.eclipse.java.plugins Import-Package: com.fasterxml.jackson.annotation;version="[2.20.0,3.0.0)" diff --git a/io.cucumber.eclipse.java.plugins/src/io/cucumber/eclipse/java/plugins/CucumberEclipsePlugin.java b/io.cucumber.eclipse.java.plugins/src/io/cucumber/eclipse/java/plugins/CucumberEclipsePlugin.java index 08f8a2fd..1c3bea36 100644 --- a/io.cucumber.eclipse.java.plugins/src/io/cucumber/eclipse/java/plugins/CucumberEclipsePlugin.java +++ b/io.cucumber.eclipse.java.plugins/src/io/cucumber/eclipse/java/plugins/CucumberEclipsePlugin.java @@ -153,6 +153,6 @@ public void writeValue(Writer writer, Envelope value) throws IOException { }; } catch (Exception e) { } - return new Jackson(); + return new io.cucumber.messages.ndjson.Serializer(); } } diff --git a/io.cucumber.eclipse.java.plugins/src/io/cucumber/eclipse/java/plugins/Jackson.java b/io.cucumber.eclipse.java.plugins/src/io/cucumber/eclipse/java/plugins/Jackson.java deleted file mode 100644 index 57ace722..00000000 --- a/io.cucumber.eclipse.java.plugins/src/io/cucumber/eclipse/java/plugins/Jackson.java +++ /dev/null @@ -1,41 +0,0 @@ -package io.cucumber.eclipse.java.plugins; - -import static io.cucumber.core.internal.com.fasterxml.jackson.annotation.JsonInclude.Value.construct; - -import java.io.IOException; -import java.io.Writer; - -import io.cucumber.core.internal.com.fasterxml.jackson.annotation.JsonInclude.Include; -import io.cucumber.core.internal.com.fasterxml.jackson.core.JsonGenerator; -import io.cucumber.core.internal.com.fasterxml.jackson.databind.DeserializationFeature; -import io.cucumber.core.internal.com.fasterxml.jackson.databind.ObjectMapper; -import io.cucumber.core.internal.com.fasterxml.jackson.databind.SerializationFeature; -import io.cucumber.core.internal.com.fasterxml.jackson.databind.cfg.ConstructorDetector; -import io.cucumber.core.internal.com.fasterxml.jackson.databind.json.JsonMapper; -import io.cucumber.core.internal.com.fasterxml.jackson.datatype.jdk8.Jdk8Module; -import io.cucumber.messages.MessageToNdjsonWriter.Serializer; -import io.cucumber.messages.types.Envelope; - -final class Jackson implements Serializer { - // Copied from io.cucumber.core.plugin.Jackson as it is package protected and - // there seems no way to access it! - private static final ObjectMapper OBJECT_MAPPER = JsonMapper.builder() - .addModule(new Jdk8Module()) - .defaultPropertyInclusion(construct( - Include.NON_ABSENT, - Include.NON_ABSENT)) - .constructorDetector(ConstructorDetector.USE_PROPERTIES_BASED) - .enable(SerializationFeature.WRITE_ENUMS_USING_TO_STRING) - .enable(DeserializationFeature.READ_ENUMS_USING_TO_STRING) - .enable(DeserializationFeature.USE_LONG_FOR_INTS) - .disable(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES) - .disable(JsonGenerator.Feature.AUTO_CLOSE_TARGET) - .build(); - - - @Override - public void writeValue(Writer writer, Envelope value) throws IOException { - Jackson.OBJECT_MAPPER.writeValue(writer, value); - } - -} diff --git a/io.cucumber.eclipse.targetdefinition/cucumber.eclipse.targetdefinition.target b/io.cucumber.eclipse.targetdefinition/cucumber.eclipse.targetdefinition.target index 4a8b39d1..68ca648d 100644 --- a/io.cucumber.eclipse.targetdefinition/cucumber.eclipse.targetdefinition.target +++ b/io.cucumber.eclipse.targetdefinition/cucumber.eclipse.targetdefinition.target @@ -12,39 +12,27 @@ - + io.cucumber - gherkin - 37.0.1 + gherkin-utils + 11.0.0 jar - - - - io.cucumber - cucumber-java - 7.33.0 + gherkin + 39.0.0 jar - io.cucumber - cucumber-core + cucumber-java 7.34.3 jar @@ -54,7 +42,7 @@ Bundle-Name: ${mvnGroupId}:${mvnArtifactId}:${mvnVersion} version: ${version_cleanup;${mvnVersion}} Bundle-SymbolicName: ${mvnGroupId}.${mvnArtifactId} Bundle-Version: ${version} -Import-Package: !sun.*,io.cucumber.messages.internal.com.google.gson*,!io.cucumber.messages.internal.*,!org.checkerframework.*,* +Import-Package: !sun.*,io.cucumber.messages.internal.com.google.gson*,!io.cucumber.messages.internal.*,!org.checkerframework.*,!io.cucumber.messages.ndjson.internal.*,* Export-Package: *;version="${version}";-noimport:=true ]]> @@ -62,8 +50,8 @@ Export-Package: *;version="${version}";-noimport:=true io.cucumber - cucumber-expressions - 18.0.1 + cucumber-core + 7.34.3 jar @@ -72,7 +60,7 @@ Bundle-Name: ${mvnGroupId}:${mvnArtifactId}:${mvnVersion} version: ${version_cleanup;${mvnVersion}} Bundle-SymbolicName: ${mvnGroupId}.${mvnArtifactId} Bundle-Version: ${version} -Import-Package: !sun.*,io.cucumber.messages.internal.com.google.gson*,!io.cucumber.messages.internal.*,!org.checkerframework.*,* +Import-Package: !sun.*,io.cucumber.messages.internal.com.google.gson*,!io.cucumber.messages.internal.*,!org.checkerframework.*,!io.cucumber.messages.ndjson.internal.*,* Export-Package: *;version="${version}";-noimport:=true ]]> @@ -92,24 +80,6 @@ Export-Package: *;version="${version}";-noimport:=true - - - - io.cucumber - gherkin-utils - 10.0.0 - jar - - - - @@ -144,6 +114,28 @@ Export-Package: *;version="${version}";-noimport:=true + + + + io.cucumber + cucumber-expressions + 19.0.0 + jar + + + io.cucumber + messages-ndjson + 0.4.1 + jar + + + io.cucumber + messages + 32.3.1 + jar + + + \ No newline at end of file