diff --git a/jackson-bom-pom.xml b/jackson-bom-pom.xml new file mode 100644 index 000000000..1214dc73b --- /dev/null +++ b/jackson-bom-pom.xml @@ -0,0 +1,288 @@ + + + 4.0.0 + + + com.fasterxml.jackson + jackson-parent + 2.9.pr1b + + + jackson-bom + 2.9.0.pr2-SNAPSHOT + pom + + https://github.com/FasterXML/jackson-bom + + scm:git:git@github.com:FasterXML/jackson-bom.git + scm:git:git@github.com:FasterXML/jackson-bom.git + http://github.com/FasterXML/jackson-bom + HEAD + + + + 2.9.0.pr2-SNAPSHOT + + 2.9.0.pr1 + ${jackson.version} + ${jackson.version} + + ${jackson.version} + ${jackson.version} + ${jackson.version} + ${jackson.version} + + ${jackson.version} + ${jackson.version.module} + ${jackson.version.module} + + + + + + + + com.fasterxml.jackson.core + jackson-annotations + ${jackson.version.annotations} + + + com.fasterxml.jackson.core + jackson-core + ${jackson.version.core} + + + com.fasterxml.jackson.core + jackson-databind + ${jackson.version.databind} + + + + + com.fasterxml.jackson.dataformat + jackson-dataformat-avro + ${jackson.version.dataformat} + + + com.fasterxml.jackson.dataformat + jackson-dataformat-cbor + ${jackson.version.dataformat} + + + com.fasterxml.jackson.dataformat + jackson-dataformat-csv + ${jackson.version.dataformat} + + + com.fasterxml.jackson.dataformat + jackson-dataformat-properties + ${jackson.version.dataformat} + + + com.fasterxml.jackson.dataformat + jackson-dataformat-protobuf + ${jackson.version.dataformat} + + + com.fasterxml.jackson.dataformat + jackson-dataformat-smile + ${jackson.version.dataformat} + + + com.fasterxml.jackson.dataformat + jackson-dataformat-xml + ${jackson.version.dataformat} + + + com.fasterxml.jackson.dataformat + jackson-dataformat-yaml + ${jackson.version.dataformat} + + + + + com.fasterxml.jackson.datatype + jackson-datatype-guava + ${jackson.version.datatype} + + + com.fasterxml.jackson.datatype + jackson-datatype-hibernate3 + ${jackson.version.datatype} + + + com.fasterxml.jackson.datatype + jackson-datatype-hibernate4 + ${jackson.version.datatype} + + + com.fasterxml.jackson.datatype + jackson-datatype-hibernate5 + ${jackson.version.datatype} + + + com.fasterxml.jackson.datatype + jackson-datatype-hppc + ${jackson.version.datatype} + + + com.fasterxml.jackson.datatype + jackson-datatype-jaxrs + + ${jackson.version.datatype} + + + com.fasterxml.jackson.datatype + jackson-datatype-joda + ${jackson.version.datatype} + + + com.fasterxml.jackson.datatype + jackson-datatype-jdk8 + ${jackson.version.datatype} + + + com.fasterxml.jackson.datatype + jackson-datatype-json-org + ${jackson.version.datatype} + + + com.fasterxml.jackson.datatype + jackson-datatype-jsr310 + ${jackson.version.datatype} + + + com.fasterxml.jackson.datatype + jackson-datatype-jsr353 + ${jackson.version.datatype} + + + com.fasterxml.jackson.datatype + jackson-datatype-pcollections + ${jackson.version.datatype} + + + + + com.fasterxml.jackson.jaxrs + jackson-jaxrs-base + ${jackson.version.jaxrs} + + + com.fasterxml.jackson.jaxrs + jackson-jaxrs-cbor-provider + ${jackson.version.jaxrs} + + + com.fasterxml.jackson.jaxrs + jackson-jaxrs-json-provider + ${jackson.version.jaxrs} + + + com.fasterxml.jackson.jaxrs + jackson-jaxrs-smile-provider + ${jackson.version.jaxrs} + + + com.fasterxml.jackson.jaxrs + jackson-jaxrs-xml-provider + ${jackson.version.jaxrs} + + + com.fasterxml.jackson.jaxrs + jackson-jaxrs-yaml-provider + ${jackson.version.jaxrs} + + + + + com.fasterxml.jackson.jr + jackson-jr-all + ${jackson.version.jacksonjr} + + + com.fasterxml.jackson.jr + jackson-jr-objects + ${jackson.version.jacksonjr} + + + com.fasterxml.jackson.jr + jackson-jr-retrofit2 + ${jackson.version.jacksonjr} + + + com.fasterxml.jackson.jr + jackson-jr-stree + ${jackson.version.jacksonjr} + + + + + com.fasterxml.jackson.module + jackson-module-afterburner + ${jackson.version.module} + + + com.fasterxml.jackson.module + jackson-module-guice + ${jackson.version.module} + + + com.fasterxml.jackson.module + jackson-module-jaxb-annotations + ${jackson.version.module} + + + com.fasterxml.jackson.module + jackson-module-jsonSchema + ${jackson.version.module} + + + com.fasterxml.jackson.module + jackson-module-kotlin + ${jackson.version.module.kotlin} + + + com.fasterxml.jackson.module + jackson-module-mrbean + ${jackson.version.module} + + + com.fasterxml.jackson.module + jackson-module-osgi + ${jackson.version.module} + + + com.fasterxml.jackson.module + jackson-module-parameter-names + ${jackson.version.module} + + + com.fasterxml.jackson.module + jackson-module-paranamer + ${jackson.version.module} + + + + + + com.fasterxml.jackson.module + jackson-module-scala_2.10 + ${jackson.version.module.scala} + + + com.fasterxml.jackson.module + jackson-module-scala_2.11 + ${jackson.version.module.scala} + + + com.fasterxml.jackson.module + jackson-module-scala_2.12 + ${jackson.version.module.scala} + + + + + + \ No newline at end of file diff --git a/pom.xml b/pom.xml index a776c7d22..2166b1195 100644 --- a/pom.xml +++ b/pom.xml @@ -4,6 +4,7 @@ com.fasterxml.jackson jackson-bom 2.9.0.pr2-SNAPSHOT + ./jackson-bom-pom.xml com.fasterxml.jackson.dataformat jackson-dataformats-binary diff --git a/smile/src/main/java/com/fasterxml/jackson/dataformat/smile/SmileFactory.java b/smile/src/main/java/com/fasterxml/jackson/dataformat/smile/SmileFactory.java index 649d6f532..25d2269b8 100644 --- a/smile/src/main/java/com/fasterxml/jackson/dataformat/smile/SmileFactory.java +++ b/smile/src/main/java/com/fasterxml/jackson/dataformat/smile/SmileFactory.java @@ -7,6 +7,7 @@ import com.fasterxml.jackson.core.format.InputAccessor; import com.fasterxml.jackson.core.format.MatchStrength; import com.fasterxml.jackson.core.io.IOContext; +import com.fasterxml.jackson.core.json.PackageVersion; /** * Factory used for constructing {@link SmileParser} and {@link SmileGenerator} diff --git a/smile/src/main/java/com/fasterxml/jackson/dataformat/smile/SmileGenerator.java b/smile/src/main/java/com/fasterxml/jackson/dataformat/smile/SmileGenerator.java index f95b0e5a1..7d713828a 100644 --- a/smile/src/main/java/com/fasterxml/jackson/dataformat/smile/SmileGenerator.java +++ b/smile/src/main/java/com/fasterxml/jackson/dataformat/smile/SmileGenerator.java @@ -10,6 +10,7 @@ import com.fasterxml.jackson.core.io.*; import com.fasterxml.jackson.core.json.JsonWriteContext; import com.fasterxml.jackson.core.base.GeneratorBase; +import com.fasterxml.jackson.core.json.PackageVersion; import static com.fasterxml.jackson.dataformat.smile.SmileConstants.*; diff --git a/smile/src/main/java/com/fasterxml/jackson/dataformat/smile/SmileParser.java b/smile/src/main/java/com/fasterxml/jackson/dataformat/smile/SmileParser.java index c2f2b2dd9..665d26cd6 100644 --- a/smile/src/main/java/com/fasterxml/jackson/dataformat/smile/SmileParser.java +++ b/smile/src/main/java/com/fasterxml/jackson/dataformat/smile/SmileParser.java @@ -9,6 +9,7 @@ import com.fasterxml.jackson.core.*; import com.fasterxml.jackson.core.base.ParserBase; import com.fasterxml.jackson.core.io.IOContext; +import com.fasterxml.jackson.core.json.PackageVersion; import com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer; import static com.fasterxml.jackson.dataformat.smile.SmileConstants.BYTE_MARKER_END_OF_STRING; diff --git a/smile/src/main/java/com/fasterxml/jackson/dataformat/smile/async/NonBlockingParserImpl.java b/smile/src/main/java/com/fasterxml/jackson/dataformat/smile/async/NonBlockingParserImpl.java index d4008f1f1..8a1d64f43 100644 --- a/smile/src/main/java/com/fasterxml/jackson/dataformat/smile/async/NonBlockingParserImpl.java +++ b/smile/src/main/java/com/fasterxml/jackson/dataformat/smile/async/NonBlockingParserImpl.java @@ -9,6 +9,7 @@ import com.fasterxml.jackson.core.*; import com.fasterxml.jackson.core.base.ParserBase; import com.fasterxml.jackson.core.io.IOContext; +import com.fasterxml.jackson.core.json.PackageVersion; import com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer; import com.fasterxml.jackson.dataformat.smile.*; diff --git a/smile/src/test/java/com/fasterxml/jackson/dataformat/smile/BrokenSurrogatePair.java b/smile/src/test/java/com/fasterxml/jackson/dataformat/smile/BrokenSurrogatePair.java new file mode 100644 index 000000000..032832f57 --- /dev/null +++ b/smile/src/test/java/com/fasterxml/jackson/dataformat/smile/BrokenSurrogatePair.java @@ -0,0 +1,24 @@ +package com.fasterxml.jackson.dataformat.smile; + +import com.fasterxml.jackson.databind.JsonNode; +import com.fasterxml.jackson.databind.ObjectMapper; +import com.fasterxml.jackson.databind.SequenceWriter; +import org.junit.Test; + +import java.io.File; +import java.io.IOException; + +public class BrokenSurrogatePair { + @Test + public void brokenSurrogatePair() throws IOException { + // The string '{"val":"conclu e"}' written as bytes to avoid any encoding issues, etc + byte[] bytes = {123, 34, 100, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 58, 34, 99, 111, 110, 99, 108, 117, -19, -92, -81, 32, 101, 34, 125, 10}; + ObjectMapper objectMapper = new ObjectMapper(); + JsonNode response = objectMapper.readValue(bytes, JsonNode.class); + + ObjectMapper smileMapper = new ObjectMapper(new SmileFactory()); + SequenceWriter sequenceWriter = smileMapper.writerFor(JsonNode.class) + .writeValuesAsArray(new File("./temp.txt")); + sequenceWriter.write(response); + } +} diff --git a/smile/src/test/java/com/fasterxml/jackson/dataformat/smile/VersionsTest.java b/smile/src/test/java/com/fasterxml/jackson/dataformat/smile/VersionsTest.java index 67f44350d..882467047 100644 --- a/smile/src/test/java/com/fasterxml/jackson/dataformat/smile/VersionsTest.java +++ b/smile/src/test/java/com/fasterxml/jackson/dataformat/smile/VersionsTest.java @@ -3,6 +3,7 @@ import java.io.*; import com.fasterxml.jackson.core.Versioned; +import com.fasterxml.jackson.core.json.PackageVersion; /** * Tests to verify [JACKSON-278]