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.
Migrates PGM to use gradle instead of maven. It makes our multi-module setup so much easier to handle given certain modules depend on different mc versions but we don't want any of those deps reachable at compile time. They were a pain to get working on maven, and much simpler in gradle. Additionally, and most importantly, it allows us to use the paperweight userdev gradle plugin which gives us a much easier way to access paper/minecraft internals for modern versions without needing to rely on repos.
Additionally i've removed a few classes that weren't used and that maven was trimming but gradle kept.
Overall the final jar size is pretty similar, from 8.2MB (maven) to 8.5MB (gradle). It seems maven's minimizejar was a bit more aggresive, but if we were really keen on lowering size we could just opt to use proguard to trim at a more fine-grained level.