diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index b432de56a..259b5d5c7 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -23,7 +23,7 @@ jobs: strategy: fail-fast: false matrix: - java_version: ['17', '21' ] + java_version: ['17', '21', '23' ] include: - java_version: '17' release_build: 'R' diff --git a/.mvn/wrapper/maven-wrapper.properties b/.mvn/wrapper/maven-wrapper.properties index 8f2e64519..b9b1153ae 100644 --- a/.mvn/wrapper/maven-wrapper.properties +++ b/.mvn/wrapper/maven-wrapper.properties @@ -14,5 +14,5 @@ # KIND, either express or implied. See the License for the # specific language governing permissions and limitations # under the License. -distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.9.6/apache-maven-3.9.6-bin.zip -wrapperUrl=https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.3.1/maven-wrapper-3.3.1.jar +distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.9.9/apache-maven-3.9.9-bin.zip +wrapperUrl=https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.3.2/maven-wrapper-3.3.2.jar diff --git a/pom.xml b/pom.xml index 06b6f7b7d..d3cd97198 100644 --- a/pom.xml +++ b/pom.xml @@ -65,8 +65,8 @@ alternative support for serializing POJOs as XML and deserializing XML as pojos. 4.2.2 - javax.xml.stream - stax-api + javax.xml.stream + stax-api @@ -80,8 +80,8 @@ alternative support for serializing POJOs as XML and deserializing XML as pojos. 7.1.0 - javax.xml.stream - stax-api + javax.xml.stream + stax-api @@ -92,6 +92,24 @@ alternative support for serializing POJOs as XML and deserializing XML as pojos. junit test + + - - - org.moditect - moditect-maven-plugin - de.jjohannes diff --git a/release-notes/VERSION b/release-notes/VERSION index 59a31552a..24c3d6d30 100644 --- a/release-notes/VERSION +++ b/release-notes/VERSION @@ -12,5 +12,6 @@ Version: 3.x (for earlier see VERSION-2.x) #540: Rename "com.fasterxml.jackson" -> "tools.jackson" #687: JSTEP-8: rename `FromXmlParser.Feature` as `XmlReadFeature`, `ToXmlGenerator.Feature` as `XmlWriteFeature` +#701: Change 3.0 to use `module-info.java` directly, remove use of Moditect - Add `XmlMapper.shared()` - Minimum Java baseline: Java 17 diff --git a/src/moditect/module-info.java b/src/main/java/module-info.java similarity index 85% rename from src/moditect/module-info.java rename to src/main/java/module-info.java index 9e06e0da2..7e7170a31 100644 --- a/src/moditect/module-info.java +++ b/src/main/java/module-info.java @@ -1,4 +1,6 @@ -module tools.jackson.dataformat.xml { +// Jackson 3.x module-info for jackson-dataformat-xml Main artifact +module tools.jackson.dataformat.xml +{ requires java.xml; requires org.codehaus.stax2; diff --git a/src/test/java/module-info.java b/src/test/java/module-info.java new file mode 100644 index 000000000..36f1fb70f --- /dev/null +++ b/src/test/java/module-info.java @@ -0,0 +1,49 @@ +// Jackson 3.x module-info for jackson-dataformat-xml Test artifact +module tools.jackson.dataformat.xml +{ + // First, same requires as the main artifact + + requires java.xml; + requires org.codehaus.stax2; + + requires com.fasterxml.jackson.annotation; + requires tools.jackson.core; + requires tools.jackson.databind; + + // Then test dependencies + requires junit; + //requires org.junit.jupiter.api; + //requires org.junit.jupiter.params; + + requires com.ctc.wstx; // woodstox + requires jakarta.xml.bind; // Jakarta-binding + requires tools.jackson.module.jakarta.xmlbind; + + // Then same exports as main artifact, but as "opens" + + opens tools.jackson.dataformat.xml; + opens tools.jackson.dataformat.xml.annotation; + opens tools.jackson.dataformat.xml.deser; + opens tools.jackson.dataformat.xml.ser; + opens tools.jackson.dataformat.xml.util; + + // And then additional "opens" access for tests not in packages of main + + opens tools.jackson.dataformat.xml.adapters; + opens tools.jackson.dataformat.xml.deser.builder; + opens tools.jackson.dataformat.xml.deser.convert; + opens tools.jackson.dataformat.xml.deser.creator; + opens tools.jackson.dataformat.xml.dos; + opens tools.jackson.dataformat.xml.failing; + opens tools.jackson.dataformat.xml.failing.records; + opens tools.jackson.dataformat.xml.fuzz; + opens tools.jackson.dataformat.xml.jaxb; + opens tools.jackson.dataformat.xml.incr; + opens tools.jackson.dataformat.xml.jdk17; + opens tools.jackson.dataformat.xml.lists; + opens tools.jackson.dataformat.xml.misc; + opens tools.jackson.dataformat.xml.node; + opens tools.jackson.dataformat.xml.stream; + opens tools.jackson.dataformat.xml.vld; + opens tools.jackson.dataformat.xml.woodstox; +} diff --git a/src/test/java/tools/jackson/dataformat/xml/ser/dos/CyclicXMLDataSerTest.java b/src/test/java/tools/jackson/dataformat/xml/dos/CyclicXMLDataSerTest.java similarity index 96% rename from src/test/java/tools/jackson/dataformat/xml/ser/dos/CyclicXMLDataSerTest.java rename to src/test/java/tools/jackson/dataformat/xml/dos/CyclicXMLDataSerTest.java index 48a0a038b..78d89de71 100644 --- a/src/test/java/tools/jackson/dataformat/xml/ser/dos/CyclicXMLDataSerTest.java +++ b/src/test/java/tools/jackson/dataformat/xml/dos/CyclicXMLDataSerTest.java @@ -1,4 +1,4 @@ -package tools.jackson.dataformat.xml.ser.dos; +package tools.jackson.dataformat.xml.dos; import java.util.ArrayList; import java.util.List; diff --git a/src/test/java/tools/jackson/dataformat/xml/failing/XmlTextViaCreator306Test.java b/src/test/java/tools/jackson/dataformat/xml/failing/XmlTextViaCreator306Test.java index cf21d645f..9e55e53aa 100644 --- a/src/test/java/tools/jackson/dataformat/xml/failing/XmlTextViaCreator306Test.java +++ b/src/test/java/tools/jackson/dataformat/xml/failing/XmlTextViaCreator306Test.java @@ -1,8 +1,7 @@ package tools.jackson.dataformat.xml.failing; -import java.beans.ConstructorProperties; - import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonRootName; import tools.jackson.dataformat.xml.XmlMapper; @@ -37,8 +36,8 @@ static class Child { @JacksonXmlText String el; - @ConstructorProperties({"attr", "el"}) - Child(String attr, String el) { + @JsonCreator + Child(@JsonProperty("attr") String attr, @JsonProperty("el") String el) { this.attr = attr; this.el = el; } @@ -49,8 +48,8 @@ static class RootWithoutConstructor { @JacksonXmlProperty(localName = "CHILD") final ChildWithoutConstructor child; - @ConstructorProperties({"child"}) - public RootWithoutConstructor(ChildWithoutConstructor child) { + @JsonCreator + public RootWithoutConstructor(@JsonProperty("child") ChildWithoutConstructor child) { this.child = child; }