构建与贡献
前置要求
- JDK 25(
build.gradle.kts的 toolchain 要求 Java 25;当前构建未配置 Foojay 工具链自动下载,需要本机安装 JDK 25) - Node.js 20+(文档站使用 VitePress 1.6)
构建与测试
Linux / macOS:
bash
./gradlew build # 构建并运行全部测试
./gradlew test # 只运行测试Windows:
bash
gradlew.bat build
gradlew.bat test
build任务已经包含测试,不需要先test再build。
发布新版本
- 在
gradle.properties中更新version。 - 在根目录
CHANGELOG.md顶部添加对应版本的条目;写法必须用普通用户可以读懂的语言,不使用编程或 Java 术语(见贡献规范)。 - 推送到
master,然后在 Actions 页面手动运行Release工作流;它会构建、创建 tag 并发布 GitHub Release。 - 该 tag 首次被 JitPack 引用时会构建产物,第三方插件直接引用即可(见 集成接入)。
文档站
bash
npm install
npm run docs:dev # 本地预览
npm run docs:build # 构建到 docs/.vitepress/dist
npm run docs:preview # 预览构建产物GitHub Actions 会在推送 docs/ 相关文件到 master 时自动构建并发布到 GitHub Pages。
paper-plugin.yml
BetterPlugin 自身也是 Paper 插件,paper-plugin.yml 中配置了 Bootstrap 与 Loader 入口:
yaml
name: BetterPlugin
version: '${version}'
main: org.coffeepop.betterPlugin.bootstrap.BetterPlugin
bootstrapper: org.coffeepop.betterPlugin.bootstrap.BetterPluginBootstrap
loader: org.coffeepop.betterPlugin.bootstrap.BetterPluginLoader
api-version: '26.1.2'
load: STARTUP
authors: [Neamyoo]修改 paper-plugin.yml 时需注意:
main、bootstrapper、loader必须指向正确的全限定类名processResources会对paper-plugin.yml中的${version}做变量替换