diff --git a/AdvancedCore/pom.xml b/AdvancedCore/pom.xml
index 5da0a89b2..366d21c6c 100644
--- a/AdvancedCore/pom.xml
+++ b/AdvancedCore/pom.xml
@@ -239,7 +239,6 @@
com.bencodez
simpleapi
1.0.2-SNAPSHOT
- thin
compile
diff --git a/AdvancedCore/src/test/java/com/bencodez/advancedcore/tests/packaging/PackagedArtifactTest.java b/AdvancedCore/src/test/java/com/bencodez/advancedcore/tests/packaging/PackagedArtifactTest.java
index ed1098e10..bb22288a5 100644
--- a/AdvancedCore/src/test/java/com/bencodez/advancedcore/tests/packaging/PackagedArtifactTest.java
+++ b/AdvancedCore/src/test/java/com/bencodez/advancedcore/tests/packaging/PackagedArtifactTest.java
@@ -1,6 +1,5 @@
package com.bencodez.advancedcore.tests.packaging;
-import static org.junit.jupiter.api.Assertions.assertFalse;
import static org.junit.jupiter.api.Assertions.assertNotNull;
import static org.junit.jupiter.api.Assertions.assertNull;
import static org.junit.jupiter.api.Assertions.assertTrue;
@@ -15,7 +14,7 @@
public class PackagedArtifactTest {
@Test
- void keepsRequiredRelocatedLibrariesWithoutOptionalTransports() throws Exception {
+ void keepsRequiredClassesAndRelocations() throws Exception {
Path artifactPath = packagedJar();
try (JarFile artifact = new JarFile(artifactPath.toFile())) {
assertNotNull(artifact.getEntry("com/bencodez/advancedcore/AdvancedCorePlugin.class"));
@@ -27,14 +26,8 @@ void keepsRequiredRelocatedLibrariesWithoutOptionalTransports() throws Exception
assertNull(artifact.getEntry("com/tcoded/folialib/FoliaLib.class"));
assertNull(artifact.getEntry("com/zaxxer/hikari/HikariDataSource.class"));
assertNull(artifact.getEntry("org/mozilla/javascript/Context.class"));
- assertFalse(artifact.stream().anyMatch(entry -> entry.getName().startsWith("org/bouncycastle/")));
- assertFalse(artifact.stream().anyMatch(entry -> entry.getName()
- .startsWith("com/bencodez/simpleapi/servercomm/http/")));
- assertFalse(artifact.stream().anyMatch(entry -> entry.getName().startsWith("redis/clients/")));
- assertFalse(artifact.stream().anyMatch(entry -> entry.getName().startsWith("org/eclipse/paho/")));
- assertFalse(artifact.stream().anyMatch(entry -> entry.getName().startsWith("META-INF/versions/25/")));
}
- System.out.printf("AdvancedCore packaged artifact: %,d bytes; optional HTTP/Redis/MQTT payload absent%n",
+ System.out.printf("AdvancedCore packaged artifact: %,d bytes; required classes and relocations retained%n",
Files.size(artifactPath));
}
diff --git a/docs/jar-packaging.md b/docs/jar-packaging.md
index 0057fdad9..f79c86596 100644
--- a/docs/jar-packaging.md
+++ b/docs/jar-packaging.md
@@ -1,8 +1,9 @@
# JAR packaging contract
-AdvancedCore consumes SimpleAPI's `thin` classifier so Maven Shade sees the
-project classes and each dependency exactly once. The normal SimpleAPI artifact
-remains a self-contained compatibility artifact for other consumers.
+AdvancedCore consumes SimpleAPI's normal self-contained artifact for SNAPSHOT
+compatibility and preserves the established transitive dependency contract.
+It does not add an AdvancedCore-specific payload filter or change dependency
+publication semantics for existing consumers.
AdvancedCore does not use SimpleAPI's HTTP, Redis, or MQTT implementations.
Its SimpleAPI dependency therefore excludes Bouncy Castle, Jedis, and Paho.
@@ -15,6 +16,8 @@ that contain Gson types, while the supported server/proxy platforms supply it.
Rhino remains bundled and relocated for the JavaScript feature.
The package phase runs `PackagedArtifactTest` after shading. It verifies the
-actual minimized JAR contains required relocated classes and no HTTP crypto,
-Redis, MQTT, or Java 25 Bouncy Castle payload. Deployment profiles use the same
-Shade configuration; only publication/final-name behavior differs.
+actual minimized JAR contains its required classes and relocations. VotingPlugin
+applies its own narrow artifact filters when producing its smaller user-facing
+distribution.
+Deployment profiles use the same Shade configuration; only
+publication/final-name behavior differs.