Modernize build tooling, dependencies, and documentation for Guilds#756
Merged
Conversation
Configure local Paper test servers across the supported Minecraft range. - Add version-specific runServer tasks for legacy, modern, and latest Paper targets - Configure per-version Java toolchains for server runtime compatibility - Generate local eula.txt files before server startup - Explicitly attach the shaded Guilds jar to custom RunServer tasks - Preload Vault, LuckPerms, and EssentialsX where compatible - Exclude EssentialsX from 26.1.2 due to current Paper API version parsing issues
Update the Gradle CI workflow to current GitHub Actions standards. - Use current checkout and setup-java actions - Replace deprecated gradle-build-action usage with gradle/actions/setup-gradle - Run the shaded plugin build with configuration cache enabled - Add workflow dispatch support for manual CI runs - Add concurrency control for branch and PR builds
Move Kotlin stdlib from the shaded plugin jar to Quark runtime dependency loading. - Add Quark Bukkit runtime and Gradle plugin configuration - Raise the plugin runtime baseline to Java 11 - Keep the Quark loader on the Bukkit platform for Spigot/Paper compatibility - Load Kotlin stdlib from Maven Central at plugin startup - Keep other implementation dependencies shaded and relocated - Validate runtime loading across the supported Paper test matrix
Refresh the README for the modernized Guilds build and runtime setup. - Document current Java 11+ runtime requirement - Clarify supported server environment expectations - Add Gradle build and local run-server task guidance - Mention Quark runtime dependency loading for Kotlin - Preserve support, contribution, addon, and special thanks sections
Disable Gradle configuration cache in CI while Quark is enabled. Quark's generateQuarkFiles task is not currently configuration-cache compatible and fails when Gradle attempts to serialize Project and Configuration references. - Run the CI shadowJar build with --no-configuration-cache - Keep the workflow on the modern Gradle setup action - Preserve the no-daemon stacktrace build flags
Disable Gradle configuration cache while Quark is part of the normal build path. Quark's generateQuarkFiles task is not currently configuration-cache compatible, so keeping configuration cache enabled by default causes local and CI builds to fail unless every command opts out manually. - Set org.gradle.configuration-cache=false in gradle.properties - Allow normal Gradle commands to run without repeated --no-configuration-cache flags - Keep dependency and task caching unaffected
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.
This pull request modernizes the build system, updates the project documentation, and improves dependency management for the Guilds plugin. The most significant changes include switching to Quark for runtime dependency loading, updating Gradle and build configuration files, and overhauling the README with clearer requirements and build instructions.
Build and Dependency Management Improvements:
Guilds.java,gradle/libs.versions.toml,settings.gradle.kts, [1] [2] [3] [4] [5] [6]gradle/wrapper/gradle-wrapper.properties,gradlew, [1] [2].gitattributesfile to ensure consistent line endings and proper handling of binary files.gradle.propertiesfor better performance and Kotlin configuration, including enabling parallel builds, build caching, and setting Java memory options.Continuous Integration (CI) Enhancements:
Documentation and Licensing:
README.mdto clarify requirements (Java 11+), supported integrations, build instructions, runtime dependency handling, and contribution guidelines.HEADER.txtfile with the MIT license and copyright.These changes collectively modernize the development workflow, make local and CI builds more reliable, and provide clearer guidance for users and contributors.