Fix fat jar build and update dependencies#146
Open
TheMeinerLP wants to merge 5 commits into
Open
Conversation
…n CI - Pin net.minestom:minestom to 2026.05.17-1.21.11 (current Maven Central release) instead of the BOM-resolved version so the deployable jar runs on the latest Minestom regardless of aonyx/mycelium BOM lag. - Bump butterfly 1.0.21 -> 1.0.23 to match the current Butterfly release. - Harden the application shadowJar: strip jar signatures and module-info and exclude duplicates so the relocation-free fat jar built from the shaded LuckPerms fork stays loadable. - Pin the reusable PR/publish workflows to the v2.1.0 release tag instead of a temporary branch ref. https://claude.ai/code/session_01S76fk9ma5Szkf9r1W44RVP
Job Summary for GradleBuild PR :: build
|
2 similar comments
Job Summary for GradleBuild PR :: build
|
Job Summary for GradleBuild PR :: build
|
Test results0 tests 0 ✅ 0s ⏱️ Results for commit c26dae7. ♻️ This comment has been updated with latest results. |
Titan shaded net.luckperms common/minestom/minestom-app/loader-utils into the relocation-free fat jar and bootstrapped LPMinestomBootstrap directly on the app classpath, defeating LuckPerms' dependency isolation. Switch to the LuckPerms-designed loader: - depend on net.luckperms:minestom-loader (runtimeOnly, not shaded) - net.luckperms:api becomes a runtime (implementation) dependency so LuckPermsProvider resolves on the host classpath while the JarInJar child loads the isolated implementation against the same API classes - drop Titan's custom MinestomLoader; TitanApplication now uses the fork's me.lucko.luckperms.minestom.loader.MinestomLoader - add the minestom-loader version catalog entry - generalise the shadowJar signature/module-info hardening comment https://claude.ai/code/session_01S76fk9ma5Szkf9r1W44RVP
Job Summary for GradleBuild PR :: build
|
TitanApplication references me.lucko.luckperms.minestom.loader.MinestomLoader directly, so the loader is needed at compile time; runtimeOnly removed it from compileClasspath and broke compilation. Use implementation: the minestom-loader artifact is a thin JarInJar wrapper with no heavy transitive dependencies (adventure/configurate live inside the embedded luckperms-minestom.jarinjar resource), so this does not reintroduce raw shading of common/minestom. https://claude.ai/code/session_01S76fk9ma5Szkf9r1W44RVP
Job Summary for GradleBuild PR :: build
|
5 similar comments
Job Summary for GradleBuild PR :: build
|
Job Summary for GradleBuild PR :: build
|
Job Summary for GradleBuild PR :: build
|
Job Summary for GradleBuild PR :: build
|
Job Summary for GradleBuild PR :: build
|
Pinning Minestom to 2026.05.17-1.21.11 decoupled it from the OLF BOM that also governs the cyano test harness; cyano 0.7.1 was built against an older Minestom, so RegistryData's static initializer threw NoSuchMethodError and all Minestom-backed tests failed. aonyx-bom 0.7.2 aligns cyano with Minestom 2026.05.17-1.21.11. https://claude.ai/code/session_01S76fk9ma5Szkf9r1W44RVP
Job Summary for GradleBuild PR :: build
|
2 similar comments
Job Summary for GradleBuild PR :: build
|
Job Summary for GradleBuild PR :: build
|
enforcedPlatform(mycelium-bom) pinned net.kyori:adventure-* classpath- wide; the pinned Adventure was older than Minestom 2026.05.17-1.21.11 requires, so MinestomFlattenerProvider.<clinit> failed with NoSuchMethodError: ComponentFlattener.toBuilder(). Switching to platform(...) keeps the BOM as a version recommendation that Gradle can upgrade to satisfy Minestom's transitive Adventure version requirement. Applied in :common and :setup, the two modules using enforcedPlatform. https://claude.ai/code/session_01S76fk9ma5Szkf9r1W44RVP
Job Summary for GradleBuild PR :: build
|
2 similar comments
Job Summary for GradleBuild PR :: build
|
Job Summary for GradleBuild PR :: build
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
This PR addresses issues with the fat jar build process and updates project dependencies to their latest versions.
Key Changes
META-INF/*.SF,META-INF/*.DSA,META-INF/*.RSA)module-info.class,META-INF/versions/**/module-info.class)duplicatesStrategy = DuplicatesStrategy.EXCLUDEto handle duplicate entries1.0.21→1.0.232026.05.17-1.21.11v2.1.0for both build and publish workflowsImplementation Details
The fat jar exclusions specifically target artifacts pulled by LuckPerms'
commonmodule that contain signed JARs and multi-release JAR metadata. These were causing conflicts in the final application JAR. TheduplicatesStrategysetting ensures consistent handling of any remaining duplicate entries during the merge process.https://claude.ai/code/session_01S76fk9ma5Szkf9r1W44RVP