diff --git a/jakarta-jsonp/pom.xml b/jakarta-jsonp/pom.xml
index cc76a25a..823e6da9 100644
--- a/jakarta-jsonp/pom.xml
+++ b/jakarta-jsonp/pom.xml
@@ -49,10 +49,6 @@ working with JSON-P (JSON Processing) node types (new Jakarta flavor) via data-b
com.google.code.maven-replacer-plugin
replacer
-
- org.moditect
- moditect-maven-plugin
-
diff --git a/jakarta-jsonp/src/moditect/module-info.java b/jakarta-jsonp/src/main/java/module-info.java
similarity index 59%
rename from jakarta-jsonp/src/moditect/module-info.java
rename to jakarta-jsonp/src/main/java/module-info.java
index 8fb7446b..f438c413 100644
--- a/jakarta-jsonp/src/moditect/module-info.java
+++ b/jakarta-jsonp/src/main/java/module-info.java
@@ -1,7 +1,8 @@
-// Copied+modified from jsr-353 ones on 04-Mar-2021
-module tools.jackson.datatype.jsonp {
+// Jakarta JSONP module Main artifact Module descriptor
+module tools.jackson.datatype.jsonp
+{
requires tools.jackson.core;
- requires tools.jackson.databind;
+ requires transitive tools.jackson.databind;
requires jakarta.json;
diff --git a/jakarta-jsonp/src/test/java/module-info.java b/jakarta-jsonp/src/test/java/module-info.java
new file mode 100644
index 00000000..bf065167
--- /dev/null
+++ b/jakarta-jsonp/src/test/java/module-info.java
@@ -0,0 +1,20 @@
+// Jakarta JSONP module (unit) Test Module descriptor
+module tools.jackson.datatype.jsonp
+{
+ // Since we are not split from Main artifact, will not
+ // need to depend on Main artifact -- but need its dependencies
+
+ requires tools.jackson.core;
+ requires tools.jackson.databind;
+
+ requires jakarta.json;
+
+ // // Actual Test dependencies
+ requires java.desktop; // @ConstructorProperties
+
+ // Additional test lib/framework dependencies
+ requires junit; // JUnit 4
+
+ // Further, need to open up test packages for JUnit et al
+ opens tools.jackson.datatype.jsonp;
+}
diff --git a/jakarta-mail/pom.xml b/jakarta-mail/pom.xml
index 3fab4e98..fb9177b2 100644
--- a/jakarta-mail/pom.xml
+++ b/jakarta-mail/pom.xml
@@ -38,10 +38,6 @@ working with Jakarta Mail types
com.google.code.maven-replacer-plugin
replacer
-
- org.moditect
- moditect-maven-plugin
-
diff --git a/jakarta-mail/src/moditect/module-info.java b/jakarta-mail/src/main/java/module-info.java
similarity index 61%
rename from jakarta-mail/src/moditect/module-info.java
rename to jakarta-mail/src/main/java/module-info.java
index 0dbc7b28..0f42e9d4 100644
--- a/jakarta-mail/src/moditect/module-info.java
+++ b/jakarta-mail/src/main/java/module-info.java
@@ -1,7 +1,8 @@
-// Copied+modified from jakarta-jsonp one on 20-Aug-2021
-module tools.jackson.datatype.jakarta.mail {
+// Jakarta Mail module Main artifact Module descriptor
+module tools.jackson.datatype.jakarta_mail
+{
requires tools.jackson.core;
- requires tools.jackson.databind;
+ requires transitive tools.jackson.databind;
requires jakarta.mail;
diff --git a/jakarta-mail/src/test/java/module-info.java b/jakarta-mail/src/test/java/module-info.java
new file mode 100644
index 00000000..c82bb1d0
--- /dev/null
+++ b/jakarta-mail/src/test/java/module-info.java
@@ -0,0 +1,17 @@
+// Jakarta Mail module (unit) Test Module descriptor
+module tools.jackson.datatype.jakarta_mail
+{
+ // Since we are not split from Main artifact, will not
+ // need to depend on Main artifact -- but need its dependencies
+
+ requires tools.jackson.core;
+ requires tools.jackson.databind;
+
+ requires jakarta.mail;
+
+ // Additional test lib/framework dependencies
+ requires junit; // JUnit 4
+
+ // Further, need to open up test packages for JUnit et al
+ opens tools.jackson.datatype.jakarta.mail;
+}
diff --git a/joda-money/pom.xml b/joda-money/pom.xml
index f9b9e60e..05030889 100644
--- a/joda-money/pom.xml
+++ b/joda-money/pom.xml
@@ -28,7 +28,7 @@
org.joda
joda-money
- 1.0.1
+ 1.0.5
pl.pragmatists
@@ -44,10 +44,6 @@
com.google.code.maven-replacer-plugin
replacer
-
- org.moditect
- moditect-maven-plugin
-
diff --git a/joda-money/src/moditect/module-info.java b/joda-money/src/main/java/module-info.java
similarity index 59%
rename from joda-money/src/moditect/module-info.java
rename to joda-money/src/main/java/module-info.java
index 8821fca9..1ac6dd1f 100644
--- a/joda-money/src/moditect/module-info.java
+++ b/joda-money/src/main/java/module-info.java
@@ -1,8 +1,11 @@
-module tools.jackson.datatype.joda {
+// Joda-Money module Main artifact Module descriptor
+module tools.jackson.datatype.joda
+{
requires com.fasterxml.jackson.annotation;
requires tools.jackson.core;
- requires tools.jackson.databind;
- requires joda.money;
+ requires transitive tools.jackson.databind;
+
+ requires org.joda.money;
exports tools.jackson.datatype.jodamoney;
diff --git a/joda-money/src/test/java/module-info.java b/joda-money/src/test/java/module-info.java
new file mode 100644
index 00000000..df0b4da9
--- /dev/null
+++ b/joda-money/src/test/java/module-info.java
@@ -0,0 +1,18 @@
+// Joda-Money 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.money;
+
+ // Additional test lib/framework dependencies
+ requires junit; // JUnit 4
+
+ // Further, need to open up test packages for JUnit et al
+ opens tools.jackson.datatype.jodamoney;
+}
diff --git a/json-org/pom.xml b/json-org/pom.xml
index 0fe93b4d..1fd531d9 100644
--- a/json-org/pom.xml
+++ b/json-org/pom.xml
@@ -29,7 +29,7 @@ mainly to make it easier to upgrade code to Jackson, using automated conversions
org.json
json
- 20231013
+ 20250107
@@ -39,10 +39,6 @@ mainly to make it easier to upgrade code to Jackson, using automated conversions
com.google.code.maven-replacer-plugin
replacer
-
- org.moditect
- moditect-maven-plugin
-
diff --git a/json-org/src/moditect/module-info.java b/json-org/src/main/java/module-info.java
similarity index 51%
rename from json-org/src/moditect/module-info.java
rename to json-org/src/main/java/module-info.java
index 0534a0af..67a80fa5 100644
--- a/json-org/src/moditect/module-info.java
+++ b/json-org/src/main/java/module-info.java
@@ -1,11 +1,10 @@
-module tools.jackson.datatype.jsonorg {
+// Org.json module Main artifact Module descriptor
+module tools.jackson.datatype.jsonorg
+{
requires tools.jackson.core;
- requires tools.jackson.databind;
+ requires transitive tools.jackson.databind;
- // is this the package name
- requires static json;
- //^2015
- requires static org.json;
+ requires org.json;
exports tools.jackson.datatype.jsonorg;
diff --git a/json-org/src/test/java/module-info.java b/json-org/src/test/java/module-info.java
new file mode 100644
index 00000000..e42604bd
--- /dev/null
+++ b/json-org/src/test/java/module-info.java
@@ -0,0 +1,17 @@
+// Org.json module (unit) Test Module descriptor
+module tools.jackson.datatype.jsonorg
+{
+ // Since we are not split from Main artifact, will not
+ // need to depend on Main artifact -- but need its dependencies
+
+ requires tools.jackson.core;
+ requires tools.jackson.databind;
+
+ requires static org.json;
+
+ // Additional test lib/framework dependencies
+ requires junit; // JUnit 4
+
+ // Further, need to open up test packages for JUnit et al
+ opens tools.jackson.datatype.jsonorg;
+}
diff --git a/jsr-353/pom.xml b/jsr-353/pom.xml
index 1ff65f01..27871b13 100644
--- a/jsr-353/pom.xml
+++ b/jsr-353/pom.xml
@@ -35,12 +35,19 @@ working with JSR-353 (JSON-P) node types via data-binding
+
+
@@ -49,9 +56,15 @@ working with JSR-353 (JSON-P) node types via data-binding
com.google.code.maven-replacer-plugin
replacer
+
- org.moditect
- moditect-maven-plugin
+ org.apache.maven.plugins
+ maven-surefire-plugin
+
+ true
+
diff --git a/jsr-353/src/moditect/module-info.java b/jsr-353/src/main/java/module-info.java
similarity index 66%
rename from jsr-353/src/moditect/module-info.java
rename to jsr-353/src/main/java/module-info.java
index 59f13bfa..ea9fde35 100644
--- a/jsr-353/src/moditect/module-info.java
+++ b/jsr-353/src/main/java/module-info.java
@@ -1,6 +1,8 @@
-module tools.jackson.datatype.jsr353 {
+// JSR-353 module Main artifact Module descriptor
+module tools.jackson.datatype.jsr353
+{
requires tools.jackson.core;
- requires tools.jackson.databind;
+ requires transitive tools.jackson.databind;
// 08-Jan-2020, tatu: changed in 2.12.1 from "javax.json.api"
requires java.json;
diff --git a/jsr-353/src/test/java/module-info.java b/jsr-353/src/test/java/module-info.java
new file mode 100644
index 00000000..e82ba36a
--- /dev/null
+++ b/jsr-353/src/test/java/module-info.java
@@ -0,0 +1,20 @@
+// JSR-353 module (unit) Test Module descriptor
+module tools.jackson.datatype.jsr353
+{
+ // Since we are not split from Main artifact, will not
+ // need to depend on Main artifact -- but need its dependencies
+
+ requires tools.jackson.core;
+ requires tools.jackson.databind;
+
+ requires java.json;
+
+ // Additional test dependencies
+ requires java.desktop; // @ConstructorProperties
+
+ // Additional test lib/framework dependencies
+ requires junit; // JUnit 4
+
+ // Further, need to open up test packages for JUnit et al
+ opens tools.jackson.datatype.jsr353;
+}
diff --git a/release-notes/VERSION b/release-notes/VERSION
index 4531cce4..fd2500ee 100644
--- a/release-notes/VERSION
+++ b/release-notes/VERSION
@@ -13,4 +13,5 @@ Modules:
3.0.0 (not yet released)
+#52: Change 3.0 to use `module-info.java` directly [JSTEP-11]
- Minimum Java baseline: Java 17