From 0e64e8c58d33d9eda2c4513e65487a841bbb849b Mon Sep 17 00:00:00 2001 From: Tatu Saloranta Date: Thu, 20 Mar 2025 20:34:43 -0700 Subject: [PATCH 01/10] Fix #56: add plain module-info.java's --- .../{moditect => main/java}/module-info.java | 6 ++++- .../money/MonetaryAmountDeserializer.java | 6 ++--- javax-money/src/test/java/module-info.java | 24 +++++++++++++++++++ .../CurrencyUnitSchemaSerializerTest.java | 2 -- 4 files changed, 32 insertions(+), 6 deletions(-) rename javax-money/src/{moditect => main/java}/module-info.java (68%) create mode 100644 javax-money/src/test/java/module-info.java diff --git a/javax-money/src/moditect/module-info.java b/javax-money/src/main/java/module-info.java similarity index 68% rename from javax-money/src/moditect/module-info.java rename to javax-money/src/main/java/module-info.java index 03f9e25..70a1856 100644 --- a/javax-money/src/moditect/module-info.java +++ b/javax-money/src/main/java/module-info.java @@ -1,4 +1,4 @@ -// Hand-crafted 05-Nov-2024 +// Javax-money module Main artifact Module descriptor module tools.jackson.datatype.javax.money { requires com.fasterxml.jackson.annotation; @@ -7,6 +7,10 @@ requires java.money; + // compile-time only dependencies + requires static org.apiguardian.api; + requires static lombok; + exports tools.jackson.datatype.javax.money; provides tools.jackson.databind.JacksonModule with diff --git a/javax-money/src/main/java/tools/jackson/datatype/javax/money/MonetaryAmountDeserializer.java b/javax-money/src/main/java/tools/jackson/datatype/javax/money/MonetaryAmountDeserializer.java index 01de2c1..4c32839 100644 --- a/javax-money/src/main/java/tools/jackson/datatype/javax/money/MonetaryAmountDeserializer.java +++ b/javax-money/src/main/java/tools/jackson/datatype/javax/money/MonetaryAmountDeserializer.java @@ -1,12 +1,12 @@ package tools.jackson.datatype.javax.money; -import javax.money.CurrencyUnit; -import javax.money.MonetaryAmount; -import java.io.IOException; import java.math.BigDecimal; import java.util.Arrays; import java.util.Objects; +import javax.money.CurrencyUnit; +import javax.money.MonetaryAmount; + import tools.jackson.core.JsonParser; import tools.jackson.core.JsonToken; import tools.jackson.databind.DeserializationContext; diff --git a/javax-money/src/test/java/module-info.java b/javax-money/src/test/java/module-info.java new file mode 100644 index 0000000..0ae4fca --- /dev/null +++ b/javax-money/src/test/java/module-info.java @@ -0,0 +1,24 @@ +// Javax-money module (unit) Test Module descriptor +module tools.jackson.datatype.javax.money +{ + // 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 java.money; + + // compile-time only dependencies + requires static org.apiguardian.api; + requires static lombok; + + // Additional test lib/framework dependencies + requires org.junit.jupiter.api; + + requires org.javamoney.moneta; + + // Further, need to open up test packages for JUnit et al + opens tools.jackson.datatype.javax.money; +} diff --git a/javax-money/src/test/java/tools/jackson/datatype/javax/money/CurrencyUnitSchemaSerializerTest.java b/javax-money/src/test/java/tools/jackson/datatype/javax/money/CurrencyUnitSchemaSerializerTest.java index cff647c..bc672cf 100644 --- a/javax-money/src/test/java/tools/jackson/datatype/javax/money/CurrencyUnitSchemaSerializerTest.java +++ b/javax-money/src/test/java/tools/jackson/datatype/javax/money/CurrencyUnitSchemaSerializerTest.java @@ -6,8 +6,6 @@ import com.kjetland.jackson.jsonSchema.JsonSchemaGenerator; -import tools.jackson.datatype.javax.money.JavaxMoneyModule; - import tools.jackson.databind.JsonNode; import tools.jackson.databind.ObjectMapper; import tools.jackson.databind.json.JsonMapper; From dc3581be8a959595fa15693750c72f20cbf527ba Mon Sep 17 00:00:00 2001 From: Tatu Saloranta Date: Thu, 20 Mar 2025 20:44:11 -0700 Subject: [PATCH 02/10] Try to get tests working too --- javax-money/pom.xml | 13 +++++++++++++ javax-money/src/test/java/module-info.java | 3 +++ 2 files changed, 16 insertions(+) diff --git a/javax-money/pom.xml b/javax-money/pom.xml index 4e43e86..52d2a25 100644 --- a/javax-money/pom.xml +++ b/javax-money/pom.xml @@ -92,6 +92,19 @@ + + org.apache.maven.plugins + maven-compiler-plugin + true + + + + org.projectlombok + lombok + + + + com.google.code.maven-replacer-plugin replacer diff --git a/javax-money/src/test/java/module-info.java b/javax-money/src/test/java/module-info.java index 0ae4fca..0758538 100644 --- a/javax-money/src/test/java/module-info.java +++ b/javax-money/src/test/java/module-info.java @@ -15,7 +15,10 @@ requires static lombok; // Additional test lib/framework dependencies + requires org.assertj.core; + requires org.mockito; requires org.junit.jupiter.api; + requires org.junit.jupiter.params; requires org.javamoney.moneta; From abf8b8adacc558fbf2029160a8e4ebaa0f5dd503 Mon Sep 17 00:00:00 2001 From: Tatu Saloranta Date: Thu, 20 Mar 2025 21:06:30 -0700 Subject: [PATCH 03/10] ... --- javax-money/pom.xml | 2 ++ .../java/tools/jackson/datatype/javax/money/FieldNamesTest.java | 2 -- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/javax-money/pom.xml b/javax-money/pom.xml index 52d2a25..e9aefb8 100644 --- a/javax-money/pom.xml +++ b/javax-money/pom.xml @@ -96,6 +96,7 @@ org.apache.maven.plugins maven-compiler-plugin true + com.google.code.maven-replacer-plugin diff --git a/javax-money/src/test/java/tools/jackson/datatype/javax/money/FieldNamesTest.java b/javax-money/src/test/java/tools/jackson/datatype/javax/money/FieldNamesTest.java index b918000..8e24416 100644 --- a/javax-money/src/test/java/tools/jackson/datatype/javax/money/FieldNamesTest.java +++ b/javax-money/src/test/java/tools/jackson/datatype/javax/money/FieldNamesTest.java @@ -2,8 +2,6 @@ import org.junit.jupiter.api.Test; -import tools.jackson.datatype.javax.money.FieldNames; - import static org.assertj.core.api.Assertions.assertThat; public final class FieldNamesTest From 7310582496bd7d07522753bf01b529c33cfc989b Mon Sep 17 00:00:00 2001 From: Tatu Saloranta Date: Thu, 20 Mar 2025 21:20:26 -0700 Subject: [PATCH 04/10] ... --- javax-money/pom.xml | 2 -- 1 file changed, 2 deletions(-) diff --git a/javax-money/pom.xml b/javax-money/pom.xml index e9aefb8..52d2a25 100644 --- a/javax-money/pom.xml +++ b/javax-money/pom.xml @@ -96,7 +96,6 @@ org.apache.maven.plugins maven-compiler-plugin true - com.google.code.maven-replacer-plugin From aa8f748c339815837093d8d36af9bbab2741e9cd Mon Sep 17 00:00:00 2001 From: Tatu Saloranta Date: Thu, 10 Apr 2025 14:31:13 -0700 Subject: [PATCH 05/10] ... --- javax-money/pom.xml | 5 ----- 1 file changed, 5 deletions(-) diff --git a/javax-money/pom.xml b/javax-money/pom.xml index 83f1952..6f71e38 100644 --- a/javax-money/pom.xml +++ b/javax-money/pom.xml @@ -44,11 +44,6 @@ 1.1.2 provided - - org.projectlombok - lombok - provided - From 7e5a0238c0dfa368d73fed8e3009f0a8b53bcee6 Mon Sep 17 00:00:00 2001 From: Tatu Saloranta Date: Thu, 10 Apr 2025 14:33:53 -0700 Subject: [PATCH 06/10] Remove Lombok from module defs --- javax-money/src/main/java/module-info.java | 1 - javax-money/src/test/java/module-info.java | 1 - 2 files changed, 2 deletions(-) diff --git a/javax-money/src/main/java/module-info.java b/javax-money/src/main/java/module-info.java index 70a1856..c15a174 100644 --- a/javax-money/src/main/java/module-info.java +++ b/javax-money/src/main/java/module-info.java @@ -9,7 +9,6 @@ // compile-time only dependencies requires static org.apiguardian.api; - requires static lombok; exports tools.jackson.datatype.javax.money; diff --git a/javax-money/src/test/java/module-info.java b/javax-money/src/test/java/module-info.java index 0758538..0c91219 100644 --- a/javax-money/src/test/java/module-info.java +++ b/javax-money/src/test/java/module-info.java @@ -12,7 +12,6 @@ // compile-time only dependencies requires static org.apiguardian.api; - requires static lombok; // Additional test lib/framework dependencies requires org.assertj.core; From 3f3eac93be31da5d9ab14029709599bd4bcf2a87 Mon Sep 17 00:00:00 2001 From: Tatu Saloranta Date: Thu, 10 Apr 2025 14:56:22 -0700 Subject: [PATCH 07/10] manual merge of pom.xml change --- javax-money/pom.xml | 13 ------------- 1 file changed, 13 deletions(-) diff --git a/javax-money/pom.xml b/javax-money/pom.xml index 6f71e38..4a8f1dc 100644 --- a/javax-money/pom.xml +++ b/javax-money/pom.xml @@ -81,19 +81,6 @@ - - org.apache.maven.plugins - maven-compiler-plugin - true - - - - org.projectlombok - lombok - - - - com.google.code.maven-replacer-plugin replacer From a51c974ca8720fc1fe599a77f3b4fb05721e5799 Mon Sep 17 00:00:00 2001 From: Tatu Saloranta Date: Thu, 10 Apr 2025 16:01:47 -0700 Subject: [PATCH 08/10] update release notes --- release-notes/VERSION | 2 ++ 1 file changed, 2 insertions(+) diff --git a/release-notes/VERSION b/release-notes/VERSION index f7ebd58..0dec429 100644 --- a/release-notes/VERSION +++ b/release-notes/VERSION @@ -15,6 +15,8 @@ Modules: 3.0.0-rc3 (not yet released) +#56: Change `jackson-datatype-javax-money`, `jackson-datatype-moneta` + to directly use JPMS [JSTEP-11] - Branch rename "master" -> "3.x" [JSTEP-12] 3.0.0-rc2 (28-Mar-2025) From b7048bfa0543c456cb171f9cf3a7a2346bccdc2d Mon Sep 17 00:00:00 2001 From: Tatu Saloranta Date: Thu, 10 Apr 2025 16:08:02 -0700 Subject: [PATCH 09/10] Update Moneta's JPMS defs too --- .../{moditect => main/java}/module-info.java | 8 ++++-- moneta/src/test/java/module-info.java | 26 +++++++++++++++++++ 2 files changed, 32 insertions(+), 2 deletions(-) rename moneta/src/{moditect => main/java}/module-info.java (69%) create mode 100644 moneta/src/test/java/module-info.java diff --git a/moneta/src/moditect/module-info.java b/moneta/src/main/java/module-info.java similarity index 69% rename from moneta/src/moditect/module-info.java rename to moneta/src/main/java/module-info.java index a2cd4a8..cde8f16 100644 --- a/moneta/src/moditect/module-info.java +++ b/moneta/src/main/java/module-info.java @@ -1,4 +1,4 @@ -// Hand-crafted 29-Jan-2025 +// Moneta module Main artifact Module descriptor module tools.jackson.datatype.moneta { requires com.fasterxml.jackson.annotation; @@ -6,9 +6,13 @@ requires tools.jackson.databind; requires tools.jackson.datatype.javax.money; - requires java.money; + requires org.javamoney.moneta; + + // compile-time only dependencies + requires static org.apiguardian.api; + exports tools.jackson.datatype.moneta; provides tools.jackson.databind.JacksonModule with diff --git a/moneta/src/test/java/module-info.java b/moneta/src/test/java/module-info.java new file mode 100644 index 0000000..036de6a --- /dev/null +++ b/moneta/src/test/java/module-info.java @@ -0,0 +1,26 @@ +// Moneta module (unit) Test Module descriptor +module tools.jackson.datatype.moneta +{ + // 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 tools.jackson.datatype.javax.money; + requires java.money; + requires org.javamoney.moneta; + + // compile-time only dependencies + requires static org.apiguardian.api; + + // Additional test lib/framework dependencies + requires org.assertj.core; + requires org.mockito; + requires org.junit.jupiter.api; + requires org.junit.jupiter.params; + + // Further, need to open up test packages for JUnit et al + opens tools.jackson.datatype.moneta; +} From c4d203735ab444c4890c37b5eb38a40f9487aa7d Mon Sep 17 00:00:00 2001 From: Tatu Saloranta Date: Thu, 10 Apr 2025 16:12:06 -0700 Subject: [PATCH 10/10] ... --- javax-money/pom.xml | 4 ---- moneta/pom.xml | 4 ---- 2 files changed, 8 deletions(-) diff --git a/javax-money/pom.xml b/javax-money/pom.xml index 4a8f1dc..29952bc 100644 --- a/javax-money/pom.xml +++ b/javax-money/pom.xml @@ -85,10 +85,6 @@ com.google.code.maven-replacer-plugin replacer - - org.moditect - moditect-maven-plugin - org.gradlex diff --git a/moneta/pom.xml b/moneta/pom.xml index 6da0fd6..860bfb1 100644 --- a/moneta/pom.xml +++ b/moneta/pom.xml @@ -89,10 +89,6 @@ com.google.code.maven-replacer-plugin replacer - - org.moditect - moditect-maven-plugin - org.gradlex