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;
}