Files
MoonBridge/settings.gradle.kts
T
Claude f156932f1a refactor(build): 后端 5 个模块合并为 messaging 与 backend,LuckPerms 改为可选构建
模块
- messaging-api + messaging-protocol → messaging(Java 8,消息 API 与线协议)
- backend-channel-client + backend-bukkit-api + backend-bukkit → backend(Java 8;
  jar 即 MoonBridgeBackend Bukkit 插件,内含消息类与控制通道客户端;业务插件
  compileOnly 同一个 jar)
- 包名不变,源码只移动目录;Maven 坐标改为 messaging / backend(破坏性变更)
- 新增 moonbridge.java8-library-conventions 与 moonbridge.publishing-conventions,
  取代各模块复制粘贴的 Java 8 编译和发布配置
- 发行包后端目录由 backend-client/backend-host/backend-api 合为 backend/

LuckPerms
- 只有传入 -Pluckperms 时才 include luckperms-moonbridge 及其 upstream 构建;
  日常 check 不再编译 LuckPerms,permissionAcceptance 与发行包 plugins/ 随该开关
- 根 check/publish 按实际包含的模块聚合

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01GGL9BudzWm4dUQgBsQw4Qr
2026-10-21 10:06:20 +00:00

46 lines
1.3 KiB
Kotlin

pluginManagement {
includeBuild("proxy-build-logic")
repositories {
gradlePluginPortal()
mavenCentral()
}
}
plugins {
id("org.gradle.toolchains.foojay-resolver-convention") version "1.0.0"
}
dependencyResolutionManagement {
repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
repositories {
mavenCentral()
maven {
url = uri("https://repo.lucko.me/")
content { includeGroup("me.lucko.configurate") }
}
maven {
url = uri("https://hub.spigotmc.org/nexus/content/repositories/snapshots/")
content { includeGroup("org.spigotmc") }
}
}
}
rootProject.name = "moonbridge"
include(
"proxy-core",
"proxy-plugin-api",
"messaging",
"backend",
)
// The LuckPerms platform plugin compiles LuckPerms itself from the vendor/luckperms submodule, which is
// slow and pulls a large dependency tree, so it is opt-in: pass -Pluckperms (CI and release builds do).
if (providers.gradleProperty("luckperms").map { it != "false" }.getOrElse(false)) {
check(file("vendor/luckperms/build.gradle").isFile) {
"-Pluckperms needs the LuckPerms sources: run git submodule update --init --recursive"
}
includeBuild("luckperms-moonbridge/upstream-build")
include("luckperms-moonbridge")
}