fix(deploy): make the lobby image actually build
The lobby image had never been built and two defects blocked it: the felis image .dockerignore excluded plugins/* and only re-included limbo/shared, so the lobby Dockerfile's COPY plugins/paper landed empty; and the plugin stage used eclipse-temurin:21-jdk, which ships no gradle (and the tree vendors no wrapper), failing with 'gradle: not found'. Re-include plugins/paper and build the paper plugin on gradle:8.14-jdk21, matching the limbo image. Verified: both images build and boot (limbo /healthz 200 on 25565; lobby reaches 'Done' with felis-paper enabled).
This commit is contained in:
2 files changed
+10
-6
No files matched your search
+7
-5
@@ -7,15 +7,17 @@
|
|||||||
.git
|
.git
|
||||||
.claude
|
.claude
|
||||||
**/node_modules
|
**/node_modules
|
||||||
# plugins/ is code-only and excluded from the MAIN felis image — EXCEPT the two
|
# plugins/ is code-only and excluded from the MAIN felis image — EXCEPT the source
|
||||||
# source trees the login-limbo image (deploy/limbo/Dockerfile) compiles: its own
|
# trees the two game images compile: the login-limbo image (deploy/limbo/Dockerfile)
|
||||||
# module (plugins/limbo) and the shared link core it srcDir-includes (plugins/shared).
|
# builds plugins/limbo, the lobby image (deploy/lobby/Dockerfile) builds plugins/paper,
|
||||||
|
# and both srcDir-include the shared link core (plugins/shared).
|
||||||
# `plugins/*` excludes each sibling module individually (so plugins/ itself is still
|
# `plugins/*` excludes each sibling module individually (so plugins/ itself is still
|
||||||
# walked and the negations below can re-include), then the two build trees are pulled
|
# walked and the negations below can re-include), then the build trees are pulled
|
||||||
# back in and their Gradle outputs re-excluded to keep the context lean. The main
|
# back in and their Gradle outputs re-excluded to keep the context lean. The main
|
||||||
# image copies none of plugins/, so carrying these two small source dirs is harmless.
|
# image copies none of plugins/, so carrying these small source dirs is harmless.
|
||||||
plugins/*
|
plugins/*
|
||||||
!plugins/limbo
|
!plugins/limbo
|
||||||
|
!plugins/paper
|
||||||
!plugins/shared
|
!plugins/shared
|
||||||
plugins/**/build
|
plugins/**/build
|
||||||
plugins/**/.gradle
|
plugins/**/.gradle
|
||||||
|
|||||||
@@ -17,7 +17,9 @@
|
|||||||
# token.
|
# token.
|
||||||
|
|
||||||
# ---- build the felis-paper plugin jar (Paper API is Java 21) ----
|
# ---- build the felis-paper plugin jar (Paper API is Java 21) ----
|
||||||
FROM eclipse-temurin:21-jdk AS plugin
|
# gradle:8.14-jdk21 — an official Gradle image on JDK 21 (this tree vendors no Gradle
|
||||||
|
# wrapper, and a bare JDK image ships no `gradle`). JDK 21 matches the Paper API.
|
||||||
|
FROM gradle:8.14-jdk21 AS plugin
|
||||||
WORKDIR /src
|
WORKDIR /src
|
||||||
COPY plugins/paper/ ./plugins/paper/
|
COPY plugins/paper/ ./plugins/paper/
|
||||||
COPY plugins/shared/ ./plugins/shared/
|
COPY plugins/shared/ ./plugins/shared/
|
||||||
|
|||||||
Reference in new issue
Block a user