Skip to content

build: modernize Maven deps & multi-version packaging - #24

Open
shiftySenpai wants to merge 6 commits into
splunk:developfrom
shiftySenpai:pr1-build-deps
Open

build: modernize Maven deps & multi-version packaging#24
shiftySenpai wants to merge 6 commits into
splunk:developfrom
shiftySenpai:pr1-build-deps

Conversation

@shiftySenpai

Copy link
Copy Markdown

Summary

Split out of #23 (build/dependency slice). No functional logging/feature changes.

  • Adds OWASP dependency-check with a CVSS 7.0 gate.
  • Targets Java 21, bumps maven-compiler-plugin to 3.14.0.
  • Replaces json-simple with gson for the HEC envelope.
  • Centralizes dependency versions in the parent POM, bumps junit to 4.13.2.
  • Drops forge from the reactor (forge now builds standalone via its own Gradle wrapper — see the forge PR), bumps shade-plugin to 3.6.0.
  • Restructures Maven modules for multi-version packaging (logtosplunk-<mc.version>-<loader>-<loader.version>.jar), pins a transitively-pulled CVE'd kotlin-stdlib.

Rebased onto current develop (past the recent spigot/pom.xml craftbukkit 26.2 bump) — the old hardcoded spigot-api/bukkit dependency block that commit touched is fully replaced here by the new profile-based system, so that block is removed rather than merged. Worth a maintainer sanity-check that the default profile's spigot.api.version (currently MC-version-keyed, e.g. 1.21.1-R0.1-SNAPSHOT) still resolves given the newer 26.2-R0.1-<timestamp> coordinates upstream is now publishing under.

Test plan

  • mvn clean package (not verified in this environment — no local Maven install; please build-check before merging)

Part of the #23 split (see that PR for full context/links to the other 4 pieces).

Extract buildHecEnvelope() helper in SingleSplunkConnection using gson
(already a shared-mc dependency) instead of the unmaintained json-simple
1.1 library. Wire format is unchanged: {"event": <message>}. Adds unit
tests covering basic wrapping and quote escaping, and removes the
json-simple dependency from shared-mc/pom.xml and the parent pom's
dependencyManagement.
…'d deps

Adds per-platform MC-version Maven profiles (spigot: 1.21.1 default plus
1.20.1/1.20.4/1.20.6), a shade-plugin build producing
logtosplunk-<mc.version>-<loader>-<loader.version>.jar per module, and marks
server-provided deps (log4j, spigot-api) as provided scope so they aren't
shaded into the plugin jar. Pins kotlin-stdlib to 2.0.21 to clear
CVE-2026-53914 pulled in transitively via splunk-library-javalogging ->
okhttp3 -> kotlin-stdlib:1.6.20. Tunes the OWASP dependency-check plugin to
skip provided-scope CVEs (server operator's responsibility) and not fail on
Sonatype OSS Index 401s (paid-only), while still enforcing the CVSS 7.0 gate.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant