diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 761edba..743911c 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -16,8 +16,8 @@ on: - "release-notes/*" env: JODA_DEFAULT: '2.12.7' - JODA_MIN: '2.9' - JODA_MAX: '2.12.7' + JODA_MIN: '2.10' + JODA_MAX: '2.13.0' jobs: build: runs-on: 'ubuntu-22.04' diff --git a/.mvn/wrapper/maven-wrapper.properties b/.mvn/wrapper/maven-wrapper.properties index 8f2e645..b9b1153 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/README.md b/README.md index b4e26d1..4138a6f 100644 --- a/README.md +++ b/README.md @@ -30,7 +30,7 @@ To use module on Maven-based projects, use following dependency: com.fasterxml.jackson.datatype jackson-datatype-joda - 2.17.1 + 3.0.0-SNAPSHOT ``` @@ -79,7 +79,7 @@ Assert.assertEquals(INPUT_JSON, json); ## Compatibility -Module works with Joda version 2.9 and higher (CI tests compatibility since module version 2.14), even if it declares dependency to a newer version. +Module works with Joda version 2.10 (as of Jackson 3.0) and higher (CI tests compatibility since module version 2.14), even if it declares dependency to a newer version. This means that it is possible to use with older version by using Maven dependency override. ## More diff --git a/pom.xml b/pom.xml index c60867c..b35095f 100644 --- a/pom.xml +++ b/pom.xml @@ -42,8 +42,8 @@ Joda (https://www.joda.org/joda-time/) data types. Jackson 2.10: Joda 2.9[.9] Jackson 2.12: Joda 2.10[.8] ... - Jackson 3.0: Joda 2.12.7 - --> + Jackson 3.0: Joda 2.12.7 + --> 2.12.7 @@ -110,13 +110,6 @@ Joda (https://www.joda.org/joda-time/) data types. - - - org.moditect - moditect-maven-plugin - de.jjohannes gradle-module-metadata-maven-plugin diff --git a/release-notes/VERSION b/release-notes/VERSION index 667e3e2..e31a7b9 100644 --- a/release-notes/VERSION +++ b/release-notes/VERSION @@ -8,6 +8,7 @@ Major version: 3 (for earlier, see VERSION-2.x) 3.0.0 (not yet released) #130: Remove support of `org.joda.time.DateMidnight` from Jackson 3.x +#153: Change 3.0 to use `module-info.java` directly [JSTEP-11] * Rename "com.fasterxml.jackson" -> "tools.jackson" - -- Minimum Java baseline: Java 17 \ No newline at end of file +- Minimum Java baseline: Java 17 +- Minimum Joda version supported 2.10 (due to JPMS requirement) diff --git a/src/moditect/module-info.java b/src/main/java/module-info.java similarity index 66% rename from src/moditect/module-info.java rename to src/main/java/module-info.java index cc63773..654a64c 100644 --- a/src/moditect/module-info.java +++ b/src/main/java/module-info.java @@ -1,12 +1,9 @@ -// Last changes: -// -// * 2020-11-25 change joda requires from "joda.time" to "org.joda.time" -// (Joda 2.10 now has automatic module name) -// -module tools.jackson.datatype.joda { +// Joda datatype module Main artifact Module descriptor +module tools.jackson.datatype.joda +{ requires com.fasterxml.jackson.annotation; requires tools.jackson.core; - requires tools.jackson.databind; + requires transitive tools.jackson.databind; requires org.joda.time; exports tools.jackson.datatype.joda; diff --git a/src/test/java/module-info.java b/src/test/java/module-info.java new file mode 100644 index 0000000..872eab1 --- /dev/null +++ b/src/test/java/module-info.java @@ -0,0 +1,20 @@ +// Joda datatype module (unit) Test Module descriptor +module tools.jackson.datatype.joda +{ + // Since we are not split from Main artifact, will not + // need to depend on Main artifact -- but need its dependencies + + requires com.fasterxml.jackson.annotation; + requires tools.jackson.core; + requires tools.jackson.databind; + requires org.joda.time; + + // Additional test lib/framework dependencies + requires junit; // JUnit 4 + + // Further, need to open up test packages for JUnit et al + opens tools.jackson.datatype.joda; + opens tools.jackson.datatype.joda.deser; + opens tools.jackson.datatype.joda.failing; + opens tools.jackson.datatype.joda.ser; +}