summaryrefslogtreecommitdiff
path: root/website/src/docs/developers/resource.md
diff options
context:
space:
mode:
authorSho Sakuma <me@m1sk9.dev>2026-08-02 18:34:21 +0900
committerGitHub <noreply@github.com>2026-08-02 18:34:21 +0900
commit1dd2787059331db57049cb1dac8a38ceea859992 (patch)
treed5592ec0a9b92bc792301c0792baa8c0eac97111 /website/src/docs/developers/resource.md
parent45c29405be5169e088023aa01cde50467f3eabed (diff)
downloadLunaticChat-1dd2787059331db57049cb1dac8a38ceea859992.tar.gz
LunaticChat-1dd2787059331db57049cb1dac8a38ceea859992.tar.bz2
LunaticChat-1dd2787059331db57049cb1dac8a38ceea859992.zip
feat(velocity)!: build against Velocity API 4.0.0 and drop Velocity 3.5.x support
Velocity moved to the 4.x generation while platform-velocity still compiled against 3.5.1, so the debug environment had to pin an older proxy than the one most users now run. The migration needed no source changes. Comparing every one of the 213 classes in the API jar with javap shows 4.0.0 is identical to 3.5.1 in its public signatures; the supported protocol range is unchanged too. The one real difference is the POM, which moves adventure-bom from 4.26.1 to 5.2.0. Support for 3.5.x is dropped even though the JAR would still load there, because keeping it meant Adventure 4.26.1 could be the runtime and engine had to stay inside the API surface both Adventure majors share -- a constraint no build step could check. Narrowing to 4.x makes every supported runtime ship Adventure 5.2.0, matching what engine already compiles against, so the constraint is gone rather than merely documented. Nothing enforces the requirement in code, matching how dropping 3.4.0 was handled in v1.1.0. Also drops two dead dependencies: kaml, declared but never imported, worth about 1 MB of shaded JAR, and the velocity-api annotationProcessor, which does nothing without Java sources or kapt.
Diffstat (limited to 'website/src/docs/developers/resource.md')
-rw-r--r--website/src/docs/developers/resource.md2
1 files changed, 1 insertions, 1 deletions
diff --git a/website/src/docs/developers/resource.md b/website/src/docs/developers/resource.md
index ccc9eec..1526cf7 100644
--- a/website/src/docs/developers/resource.md
+++ b/website/src/docs/developers/resource.md
@@ -11,7 +11,7 @@ A Gradle multi-module setup shares `engine` while building and releasing Paper /
- Root `build.gradle.kts` — manages Kotlin 2.4.0 + serialization / Shadow / ktlint / dokka. The JVM target is **JVM_25**. Tests use JUnit Platform + jacoco, with common test dependencies injected into all modules
- `engine` — exposes core libraries (serialization / coroutines / ktor) via `api()` to propagate them to the platforms. Adventure is `compileOnly`. A pure library with no Shadow
- `platform-paper` — `version = paperVersion`. `api(project(":engine"))`. paper-api as `compileOnly`, KAML + kotlin-reflect as `implementation`. Output is **`LunaticChat-<ver>.jar`** (no classifier; `jar` disabled)
-- `platform-velocity` — `version = velocityVersion`. `api(project(":engine"))`. velocity-api as `compileOnly` + `annotationProcessor` (for `@Plugin` processing). Output is **`LunaticChat-<ver>-velocity.jar`** (distinguished by classifier)
+- `platform-velocity` — `version = velocityVersion`. `api(project(":engine"))`. velocity-api as `compileOnly`. Output is **`LunaticChat-<ver>-velocity.jar`** (distinguished by classifier)
- `dokka` — aggregates engine/paper/velocity and includes the README in the HTML
Both platforms' `processResources` compute `version` / `gitCommitHash` / `channel` from the git short hash and `isNightly`, and token-expand them into `paper-plugin.yml` / `velocity-plugin.json` and `build-info.properties`.