Shared runtime library provider plugins for Grounds Paper and Velocity workloads.
The Paper and Velocity artifacts expose selected shared JVM libraries for internal Grounds plugins that use the runtime-consumer Gradle conventions.
This repository owns the shared runtime platform:
plugin-grounds-runtime-paperplugin-grounds-runtime-velocitygrounds-runtime-bomgrounds-runtime-catalog
runtime-catalog/grounds-runtime-libraries.json is the source of truth for shared runtime library versions. The BOM and runtime diagnostics are generated from that catalog.
Use this flow when a library should be provided by plugin-grounds-runtime instead of bundled into each consumer plugin.
-
Decide whether the library is actually shared runtime surface.
Add it only when multiple internal Paper or Velocity plugins need the same library at runtime and all target environments install
plugin-grounds-runtime. Keep plugin-private clients, app-specific libraries, and test-only libraries in consumer plugin builds. -
Update
runtime-catalog/grounds-runtime-libraries.json.Add or change the Maven
group,name, andversion. This updates the publishedgrounds-runtime-bom, the runtime catalog artifact, and/grounds-runtimediagnostics. -
Update provider shading when needed.
If the dependency exposes packages that can conflict with server or plugin classpaths, add relocations in the runtime catalog fields used by the convention plugin and keep Paper and Velocity provider relocation behavior aligned.
-
Update
library-gradle-pluginonly when the module set changes.Version-only changes stay in this repository. Additions or removals also need the versionless module list, relocation policy, shadow exclusions, and forbidden package prefixes updated in
library-gradle-plugin. -
Verify locally.
Run
./gradlew test,./gradlew spotlessApply, and./gradlew build. For consumer behavior, publish this runtime platform and the matching convention plugin to Maven Local, then build a real runtime-consumer plugin. -
Release in order.
Merge and release
plugin-grounds-runtimefirst. Then releaselibrary-gradle-pluginif its convention policy changed. Finally bump consumer plugingroundsRuntime.versionand containerGROUNDS_RUNTIME_PLUGIN_VERSIONto the released runtime version.