Skip to content

Conversation

@wipodev
Copy link

@wipodev wipodev commented Jan 20, 2026

Description

This PR improves the developer workflow by centralizing all plugin metadata and automating the generation of the manifest.json file.

The goal is to establish a "Single Source of Truth" within gradle.properties, ensuring that the plugin's metadata remains consistent across the build process, the game manifest, and the development server.

Key Changes

  • Centralized Metadata: All Hytale-specific properties (Group, Name, Version, Authors, Main Class, etc.) are now managed in gradle.properties.
  • Dynamic Manifest Generation: Replaced the manual updatePluginManifest task with generatePluginManifest. This task creates the manifest.json on the fly inside the build/ directory during the compilation process.
  • Cleaner Source Tree: Removed the static manifest.json from src/main/resources to prevent out-of-sync metadata and keep the source folder focused on code and assets.
  • Improved runHytale Task: Updated the execution logic to load the plugin from the build resources path, ensuring the server always runs with the latest generated metadata.
  • Expanded Manifest Support: Added support for additional fields required for complex plugins, such as Authors, Dependencies, and OptionalDependencies.

Benefits

  • Maintainability: Developers only need to edit one file (gradle.properties) to update the entire project.
  • Automation: Reduces manual errors when bumping versions or changing the main entry point.
  • Standardization: Follows Java/Gradle best practices by keeping generated files out of the source control.

- Centralize all plugin metadata in gradle.properties for easier project management.
- Automate manifest.json generation during the build process to keep resources clean.
- Update 'runHytale' task to use generated resources from the build directory.
- Expand manifest support to include additional Hytale fields like Authors and Dependencies.
- Improve gradle.properties organization with clear sections and documentation.
- Remove manifest.json from source resources to prevent out-of-sync metadata.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant