summaryrefslogtreecommitdiff
path: root/website
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
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')
-rw-r--r--website/.vitepress/theme/components/DownloadCard.vue4
-rw-r--r--website/src/docs/developers/resource.md2
-rw-r--r--website/src/ja/docs/developers/resource.md2
3 files changed, 4 insertions, 4 deletions
diff --git a/website/.vitepress/theme/components/DownloadCard.vue b/website/.vitepress/theme/components/DownloadCard.vue
index af54d10..add8d45 100644
--- a/website/.vitepress/theme/components/DownloadCard.vue
+++ b/website/.vitepress/theme/components/DownloadCard.vue
@@ -15,7 +15,7 @@ const t = computed(() =>
requirements: 'Requirements',
javaReq: '25 or later',
paperReq: '26.2.x or later',
- velocityReq: '3.5.x or later',
+ velocityReq: '4.0.x or later',
noRelease: 'No release',
releaseDate: 'Release date',
fileSize: 'File size',
@@ -45,7 +45,7 @@ const t = computed(() =>
requirements: '動作要件',
javaReq: '25 以降',
paperReq: '26.2.x 以降',
- velocityReq: '3.5.x 以降',
+ velocityReq: '4.0.x 以降',
noRelease: 'リリースなし',
releaseDate: 'リリース日',
fileSize: 'ファイルサイズ',
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`.
diff --git a/website/src/ja/docs/developers/resource.md b/website/src/ja/docs/developers/resource.md
index 78d6128..b06864a 100644
--- a/website/src/ja/docs/developers/resource.md
+++ b/website/src/ja/docs/developers/resource.md
@@ -11,7 +11,7 @@ Gradle マルチモジュール構成で,engine を共有しつつ Paper / Vel
- ルート `build.gradle.kts` — Kotlin 2.4.0 + serialization / Shadow / ktlint / dokka を管理.JVM ターゲットは **JVM_25**.テストは JUnit Platform + jacoco で,共通テスト依存を全モジュールへ注入
- `engine` — コアライブラリ (serialization / coroutines / ktor) を `api()` で公開しプラットフォームへ伝播.Adventure は `compileOnly`.Shadow を持たない純ライブラリ
- `platform-paper` — `version = paperVersion`.`api(project(":engine"))`.paper-api を `compileOnly`,KAML + kotlin-reflect を `implementation`.成果物は **`LunaticChat-<ver>.jar`** (classifier なし,`jar` は無効化)
-- `platform-velocity` — `version = velocityVersion`.`api(project(":engine"))`.velocity-api を `compileOnly` + `annotationProcessor` (`@Plugin` 処理用).成果物は **`LunaticChat-<ver>-velocity.jar`** (classifier で区別)
+- `platform-velocity` — `version = velocityVersion`.`api(project(":engine"))`.velocity-api を `compileOnly`.成果物は **`LunaticChat-<ver>-velocity.jar`** (classifier で区別)
- `dokka` — engine/paper/velocity を集約し HTML に README を include
両プラットフォームの `processResources` は git short hash と `isNightly` から `version` / `gitCommitHash` / `channel` を算出し,`paper-plugin.yml` / `velocity-plugin.json` と `build-info.properties` にトークン展開します.