REST API and web interface for managing Paper updates.
Note
This project is intended for internal use and does not guarantee stability, compatibility, support, or follow semantic versioning.
Powered by Spring Boot, backend for the web interface and paperweight. Routes are under /api.
paperweight has tasks to interface with the REST API during the update process.
SvelteKit frontend using Kumo Svelte and Tailwind CSS for styling. Hosted as static files by the Spring Boot server.
- Install Bun and execute
bun installin/webto install the required dependencies for the frontend. - Install a JVM 25 or newer for the Gradle runtime (prefer a JDK to avoid extra downloads for a compiler).
- Run the frontend with
bun run devLocalServerorbun run devProdServerin/web.devLocalServerwill use localhost as the API, whiledevProdServerwill use the production API at https://patch-roulette.papermc.io/api. - Run the backend with
./gradlew bootRunin the project root.
- Run the frontend checks with
bun run lint,bun run check, andbun run buildin/web. - Run the backend checks and tests with
./gradlew buildin the project root.
- The frontend uses ESLint and Prettier for code style. Run
bun run formatto reformat andbun run lintto check style. - The backend uses Immaculate with Palantir Java Format. Run
./gradlew immaculateApplyto reformat and./gradlew immaculateCheckto check style.
- Published to the GitHub Container Registry after successful pushes to
masterthrough thepublishjob in the CI workflow.