From cb35a34e7a9ab78b29c21f2ab1df2c5516f9d961 Mon Sep 17 00:00:00 2001
From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com>
Date: Mon, 18 May 2026 23:53:14 +0000
Subject: [PATCH 1/3] Initial plan
From 4fdd8a1c7860fce4b5c84e0eea0c600c9ab7e982 Mon Sep 17 00:00:00 2001
From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com>
Date: Mon, 18 May 2026 23:57:40 +0000
Subject: [PATCH 2/3] Add Automatic-Module-Name metadata for core and kotlin
jars
Agent-Logs-Url: https://github.com/MorphiaOrg/morphia/sessions/84565e58-a094-40a0-9413-4ff40e4629d8
Co-authored-by: evanchooly <195021+evanchooly@users.noreply.github.com>
---
core/pom.xml | 7 +++++
.../dev/morphia/test/ModuleMetadataTest.java | 26 +++++++++++++++++++
kotlin/pom.xml | 18 ++++++++++++-
3 files changed, 50 insertions(+), 1 deletion(-)
create mode 100644 core/src/test/java/dev/morphia/test/ModuleMetadataTest.java
diff --git a/core/pom.xml b/core/pom.xml
index 7fbd1d7130c..ba39503eacf 100644
--- a/core/pom.xml
+++ b/core/pom.xml
@@ -18,6 +18,13 @@
org.apache.maven.plugins
maven-jar-plugin
3.5.0
+
+
+
+ dev.morphia.core
+
+
+
test-jar
diff --git a/core/src/test/java/dev/morphia/test/ModuleMetadataTest.java b/core/src/test/java/dev/morphia/test/ModuleMetadataTest.java
new file mode 100644
index 00000000000..e1309525111
--- /dev/null
+++ b/core/src/test/java/dev/morphia/test/ModuleMetadataTest.java
@@ -0,0 +1,26 @@
+package dev.morphia.test;
+
+import java.io.File;
+import java.nio.file.Files;
+
+import org.testng.annotations.Test;
+
+import static dev.morphia.test.TestBase.GIT_ROOT;
+import static org.testng.Assert.assertTrue;
+
+public class ModuleMetadataTest {
+ @Test
+ public void coreJarDefinesAutomaticModuleName() throws Exception {
+ assertPomContains("core/pom.xml", "dev.morphia.core");
+ }
+
+ @Test
+ public void kotlinJarDefinesAutomaticModuleName() throws Exception {
+ assertPomContains("kotlin/pom.xml", "dev.morphia.kotlin");
+ }
+
+ private static void assertPomContains(String path, String value) throws Exception {
+ String pom = Files.readString(new File(GIT_ROOT, path).toPath());
+ assertTrue(pom.contains(value), "Expected " + path + " to contain " + value);
+ }
+}
diff --git a/kotlin/pom.xml b/kotlin/pom.xml
index 1554fef890b..012f0dec010 100644
--- a/kotlin/pom.xml
+++ b/kotlin/pom.xml
@@ -12,6 +12,23 @@
morphia-kotlin
+
+
+
+ org.apache.maven.plugins
+ maven-jar-plugin
+ 3.5.0
+
+
+
+ dev.morphia.kotlin
+
+
+
+
+
+
+
dev.morphia.morphia
@@ -47,4 +64,3 @@
-
From dcd8874dc9f1ef5c3833bb3801cdc71879db814f Mon Sep 17 00:00:00 2001
From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com>
Date: Tue, 19 May 2026 00:01:30 +0000
Subject: [PATCH 3/3] Refine module metadata checks and centralize jar plugin
version
Agent-Logs-Url: https://github.com/MorphiaOrg/morphia/sessions/84565e58-a094-40a0-9413-4ff40e4629d8
Co-authored-by: evanchooly <195021+evanchooly@users.noreply.github.com>
---
core/pom.xml | 1 -
.../dev/morphia/test/ModuleMetadataTest.java | 38 ++++++++++++++++---
kotlin/pom.xml | 1 -
pom.xml | 7 +++-
4 files changed, 38 insertions(+), 9 deletions(-)
diff --git a/core/pom.xml b/core/pom.xml
index ba39503eacf..b24f6420d2d 100644
--- a/core/pom.xml
+++ b/core/pom.xml
@@ -17,7 +17,6 @@
org.apache.maven.plugins
maven-jar-plugin
- 3.5.0
diff --git a/core/src/test/java/dev/morphia/test/ModuleMetadataTest.java b/core/src/test/java/dev/morphia/test/ModuleMetadataTest.java
index e1309525111..cb0231c3d11 100644
--- a/core/src/test/java/dev/morphia/test/ModuleMetadataTest.java
+++ b/core/src/test/java/dev/morphia/test/ModuleMetadataTest.java
@@ -1,26 +1,52 @@
package dev.morphia.test;
import java.io.File;
-import java.nio.file.Files;
+import java.io.FileReader;
+import java.util.Optional;
+import org.apache.maven.model.Model;
+import org.apache.maven.model.Plugin;
+import org.apache.maven.model.io.xpp3.MavenXpp3Reader;
+import org.codehaus.plexus.util.xml.Xpp3Dom;
import org.testng.annotations.Test;
import static dev.morphia.test.TestBase.GIT_ROOT;
+import static org.testng.Assert.assertEquals;
+import static org.testng.Assert.assertNotNull;
import static org.testng.Assert.assertTrue;
public class ModuleMetadataTest {
@Test
public void coreJarDefinesAutomaticModuleName() throws Exception {
- assertPomContains("core/pom.xml", "dev.morphia.core");
+ assertAutomaticModuleName("core/pom.xml", "dev.morphia.core");
}
@Test
public void kotlinJarDefinesAutomaticModuleName() throws Exception {
- assertPomContains("kotlin/pom.xml", "dev.morphia.kotlin");
+ assertAutomaticModuleName("kotlin/pom.xml", "dev.morphia.kotlin");
}
- private static void assertPomContains(String path, String value) throws Exception {
- String pom = Files.readString(new File(GIT_ROOT, path).toPath());
- assertTrue(pom.contains(value), "Expected " + path + " to contain " + value);
+ private static void assertAutomaticModuleName(String path, String expectedValue) throws Exception {
+ MavenXpp3Reader reader = new MavenXpp3Reader();
+ Model model;
+ try (FileReader fileReader = new FileReader(new File(GIT_ROOT, path).getAbsoluteFile())) {
+ model = reader.read(fileReader);
+ }
+
+ Optional plugin = model.getBuild().getPlugins().stream()
+ .filter(p -> "maven-jar-plugin".equals(p.getArtifactId()))
+ .findFirst();
+
+ assertTrue(plugin.isPresent(), "Expected maven-jar-plugin in " + path);
+
+ Xpp3Dom configuration = (Xpp3Dom) plugin.get().getConfiguration();
+ assertNotNull(configuration, "Expected maven-jar-plugin configuration in " + path);
+ Xpp3Dom archive = configuration.getChild("archive");
+ assertNotNull(archive, "Expected archive configuration in " + path);
+ Xpp3Dom manifestEntries = archive.getChild("manifestEntries");
+ assertNotNull(manifestEntries, "Expected manifestEntries configuration in " + path);
+ Xpp3Dom automaticModuleName = manifestEntries.getChild("Automatic-Module-Name");
+ assertNotNull(automaticModuleName, "Expected Automatic-Module-Name entry in " + path);
+ assertEquals(automaticModuleName.getValue(), expectedValue);
}
}
diff --git a/kotlin/pom.xml b/kotlin/pom.xml
index 012f0dec010..9123058f7c3 100644
--- a/kotlin/pom.xml
+++ b/kotlin/pom.xml
@@ -17,7 +17,6 @@
org.apache.maven.plugins
maven-jar-plugin
- 3.5.0
diff --git a/pom.xml b/pom.xml
index ac8c7710da6..907ae8f36b6 100644
--- a/pom.xml
+++ b/pom.xml
@@ -94,7 +94,12 @@
-parameters
-
+
+
+
+ org.apache.maven.plugins
+ maven-jar-plugin
+ 3.5.0
org.revapi