-
Notifications
You must be signed in to change notification settings - Fork 3
v1.0.0 #67
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
Conversation
WalkthroughThis update marks the release of version 1.0.0 after a significant gap, introducing major changes to the project's structure and APIs. Core functionalities for running Paper servers and generating Changes
Sequence Diagram(s)sequenceDiagram
participant Developer
participant BukkitGradle
participant run-task Plugin
participant resource-factory Plugin
participant Paper Server
Developer->>BukkitGradle: Configure build (set bukkit.apiVersion, etc.)
BukkitGradle->>run-task Plugin: Delegate server running tasks
BukkitGradle->>resource-factory Plugin: Delegate plugin.yml generation
run-task Plugin->>Paper Server: Start server with specified configuration
resource-factory Plugin->>BukkitGradle: Provide generated plugin.yml
Possibly related PRs
Poem
🪧 TipsChatThere are 3 ways to chat with CodeRabbit:
Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments. CodeRabbit Commands (Invoked using PR comments)
Other keywords and placeholders
CodeRabbit Configuration File (
|
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.
Actionable comments posted: 1
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (3)
CHANGELOG.md
(5 hunks)README.md
(4 hunks)gradle.properties
(1 hunks)
✅ Files skipped from review due to trivial changes (1)
- README.md
🚧 Files skipped from review as they are similar to previous changes (1)
- gradle.properties
🧰 Additional context used
🧠 Learnings (1)
CHANGELOG.md (2)
Learnt from: osipxd
PR: EndlessCodeGroup/BukkitGradle#66
File: README.md:104-108
Timestamp: 2025-04-17T20:35:24.623Z
Learning: In Bukkit plugin.yml, the `api-version` field doesn't support patch versions for Minecraft versions lower than 1.20.5. Even if `apiVersion = "1.16.5"` is specified in configuration, it will be transformed to `api-version: '1.16'` in the generated plugin.yml file. Starting from Minecraft 1.20.5, full patch versions are supported in the api-version field.
Learnt from: osipxd
PR: EndlessCodeGroup/BukkitGradle#66
File: README.md:104-108
Timestamp: 2025-04-17T20:35:24.623Z
Learning: In Bukkit plugin.yml, the `api-version` field doesn't support patch versions for Minecraft versions lower than 1.20.5. Even if `apiVersion = "1.16.5"` is specified in configuration, it will be transformed to `api-version: '1.16'` in the generated plugin.yml file. Starting from Minecraft 1.20.5, full patch versions are supported in the api-version field.
🪛 LanguageTool
CHANGELOG.md
[uncategorized] ~58-~58: Possible missing comma found.
Context: ...bstituting bukkit version. In version catalogs placeholder value {bukkit.version}
ca...
(AI_HYDRA_LEO_MISSING_COMMA)
⏰ Context from checks skipped due to timeout of 90000ms (1)
- GitHub Check: Check
🔇 Additional comments (13)
CHANGELOG.md (13)
3-3
: Keep the Unreleased placeholder as-is.
The*No changes yet*
entry clarifies that no upcoming changes are documented yet.
5-5
: Release header is correctly formatted.
The version1.0.0
and date2025-04-18
follow the established convention.
7-7
: Pivot section title is clear.
The### Pivot!
heading effectively highlights the major shift in project direction.
9-11
: Introduction paragraphs are concise and informative.
They succinctly explain why jpenilla’s plugins were chosen and set the context for the pivot.
13-16
: Bullet list clearly states the goals.
The points “Reduce maintenance burden” and “Focus on innovation” are well articulated.
18-19
: Main goal description is on point.
It reinforces the purpose of the unified API and nice defaults.
21-21
: Features section heading is in place.
This anchors the forthcoming list of enhancements and breaking changes.
24-24
: Run-task integration description is clear.
Specifying the removal ofbukkit.server.coreType
and spigot drop is well documented.
31-32
: Resource-factory integration is well explained.
You’ve clearly listed renames and the migration frommergePluginMeta
tomainResourceFactory
.
65-65
: Default JVM toolchain note is precise.
Clearly indicates replacing source/target compatibility with the toolchain strategy.
72-77
: Plugin YAML generation API change is well documented.
The diff block clearly shows the migration fromdisableMetaGeneration()
to the lazy setter.
87-88
: Housekeeping upgrades are accurately listed.
Target JVM bump and Gradle upgrade align with the project’s new baseline.
218-219
: Footer links are correctly linked.
The compare URLs for[unreleased]
and[1.0.0]
follow the expected pattern.
Pivot!
After a 4-year hiatus in releases, the plugin landscape has evolved significantly.
jpenilla's excellent plugins run-task and resource-factory have been released,
and they're perfect for running Paper servers and generating
plugin.yml
.Rather than maintaining our own implementations, BukkitGradle now leverages jpenilla's work, allowing us to:
The main goal of BukkitGradle is now to provide nice defaults and a unified API
that simplifies plugin development by seamlessly integrating these plugins.
Features
Use jpenilla/run-task plugin and integrate run-paper for server execution,
improving maintainability and compatibility with various server versions.
bukkit.server.coreType
property.Spigot is not supported anymore, PaperMC is the only supported server.
If you need to run other server cores,
please file an issue.
Use jpenilla/resource-factory under the hood to generate
plugin.yml
.This change enables full configuration of
plugin.yml
from a build script, but it comes with some renaming:bukkit.meta { ... }
->bukkit.plugin { ... }
bukkit.plugin.url
->bukkit.plugin.website
:parsePluginMetaFile
->:parsePluginYaml
:mergePluginMeta
has been dropped. Use:mainResourceFactory
insteadru.endlesscode.bukkitgradle.meta
->ru.endlesscode.bukkitgradle.plugin
It was impossible to opt out from automatic repositories adding.
From now, repositories should be added manually. For example:
Don't set default
bukkit.apiVersion
.It was implicitly set to
1.16.4
for the sake of simplicity, but in fact it was unobvious behavior.Now,
bukkit.apiVersion
should be set explicitly:In version catalogs placeholder value
{bukkit.version}
can be used, and it will be replaced with the actual version:instead of setting JVM target and source compatibility to 1.8.
By default, the minimal supported JVM version compatible with the specified
bukkit.apiVersion
is used.-Dcom.mojang.eula.agree=true
instead of changingeula.txt
Changed
bukkit.server.debug
tofalse
.It is recommended to use IDE facilities to run server with enabled debugging.
plugin.yml
generation:bukkit.apiVersion
property.Fixed
Housekeeping