-
Notifications
You must be signed in to change notification settings - Fork 3
Improve the plugin for 0.2.0 Release #68
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull request overview
This pull request prepares the BuildTeamTools plugin for version 0.2.0 by migrating the build system from Maven to Gradle and implementing various code improvements. The migration enables better build performance and versioning through Git-based version naming. Key changes include centralized wiki documentation links, module system enhancements, disabled broken generators (Rail and Field), updated dependency management, and code modernization with switch expressions and improved error handling.
Changes:
- Migrated build system from Maven to Gradle with automatic versioning based on Git commits
- Centralized wiki documentation URLs into WikiLinks.java utility class
- Disabled broken Rail and Field generators with user-facing messages
- Modernized code with switch expressions, improved exception handling, and Path API usage
Reviewed changes
Copilot reviewed 48 out of 51 changed files in this pull request and generated 3 comments.
Show a summary per file
| File | Description |
|---|---|
| build.gradle.kts | New Gradle build configuration with dependency management and shadowing |
| settings.gradle.kts, gradle.properties, libs.versions.toml | Gradle project configuration and version catalog |
| gradlew, gradlew.bat, gradle/wrapper/* | Gradle wrapper for consistent builds |
| plugin.yml | Dynamic version and description from Gradle properties |
| WikiLinks.java | Centralized wiki URL constants for documentation |
| Module.java, GeneratorComponent.java | Enhanced with WikiDocumented interface |
| GeneratorCollections.java | Improved file handling with Path API and better error logging |
| Item.java | Updated skull texture handling for Minecraft 1.21+ |
| Field/Rail generators | Disabled with UnsupportedOperationException |
| Various menu classes | Refactored to use centralized wiki links |
| README.md | Updated documentation and contributor information |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| @Getter | ||
| private final String wikiPage; | ||
|
|
Copilot
AI
Jan 10, 2026
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This method overrides WikiDocumented.getWikiPage; it is advisable to add an Override annotation.
| @Getter | |
| private final String wikiPage; | |
| private final String wikiPage; | |
| @Override | |
| public String getWikiPage() { | |
| return this.wikiPage; | |
| } |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I don't really agree with that. What are the other opinions? Maybe a Comment would be nice? But adding the extra method seems bad/useless
| @@ -194,4 +173,8 @@ protected void convertArgsToSettings(Player p, String[] args){ | |||
| if(getPlayerSettings().get(p.getUniqueId()).getValues().isEmpty() && args.length > 1) | |||
| sendHelp(p); | |||
| } | |||
|
|
|||
| public String getWikiPage() { | |||
Copilot
AI
Jan 10, 2026
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This method overrides WikiDocumented.getWikiPage; it is advisable to add an Override annotation.
| net-daporkchop-lib-binary = "0.5.7-SNAPSHOT" | ||
| net-wesjd-anvilgui = "1.10.8-SNAPSHOT" |
Copilot
AI
Jan 10, 2026
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The dependencies net.daporkchop.lib:binary:0.5.7-SNAPSHOT and net.wesjd:anvilgui:1.10.8-SNAPSHOT are pinned to -SNAPSHOT versions from third-party Maven repositories, which are mutable and can be replaced upstream without any change to the version string. If an attacker compromises the publisher or repository, they can silently ship a new JAR under the same coordinate, and your builds will automatically include and ship that untrusted code. To reduce this supply-chain risk, switch to immutable released versions (non-SNAPSHOT) or otherwise pin to artifacts whose content cannot change without updating the version you depend on.
This PR contains major changes to the plugin, making it ready for the next release.
We also switched to Gradle now, which allows us to do more things in the future & improves building performance.
Build's now have a distinct name to tracker better what version is currently running.