-
Notifications
You must be signed in to change notification settings - Fork 0
Building from Source
- JDK 21 (Temurin/OpenJDK)
- Gradle 9.0+ (the Shadow plugin requires it) — or just use the included wrapper (
./gradlew)
gradle :serverdoctor-universal:shadowJarOutput: serverdoctor-universal/build/libs/serverdoctor-0.10.0.jar — the universal jar that
runs on Paper/Folia, Velocity and BungeeCord.
gradle testThis runs the JUnit 5 suite and the ArchUnit architecture tests. JUnit must stay on the 5.x
line — ArchUnit's JUnit 5 integration does not yet support JUnit Platform 6. Coverage includes
version/severity logic, the AnalysisResult builder, scanner-registry capability gating, the
event bus (including error isolation), the scanner thresholds, the recommendation engine, the
analysis engine end-to-end, and storage round-trips. The ArchUnit rules enforce the
boundaries described in Architecture.
-
org.xerial:sqlite-jdbc— SQLite -
com.zaxxer:HikariCP— connection pool for the SQL backends -
org.postgresql:postgresql,org.mariadb.jdbc:mariadb-java-client— SQL drivers -
org.mongodb:mongodb-driver-sync— MongoDB -
org.yaml:snakeyaml— config parsing on Velocity -
serverdoctor-rest-api/serverdoctor-webhook— no external dependencies (JDKcom.sun.net.httpserverandjava.net.http) -
io.papermc.paper:paper-api,com.velocitypowered:velocity-api,net.md-5:bungeecord-api—compileOnly(the BungeeCord API is a snapshot; the Sonatype snapshots repository must be present insettings.gradle.kts) -
me.clip:placeholderapi—compileOnly(optional integration)
Versions are managed in gradle/libs.versions.toml.
jitpack.yml publishes serverdoctor-common and serverdoctor-api to Maven Local, so other
projects can depend on the API through JitPack. See Developer API.
See Architecture for what each module does and how they depend on one another.
ServerDoctor · read-only analysis for Minecraft servers & proxies · MIT · Repository