Files
ServerPulse/pom.xml
2026-07-20 10:39:56 +02:00

191 lines
8.9 KiB
XML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>de.serverpulse</groupId>
<artifactId>ServerPulse</artifactId>
<version>1.0.2</version>
<packaging>jar</packaging>
<name>ServerPulse</name>
<description>Monitoring &amp; Analytics Suite Spigot + Paper + BungeeCord (unified JAR)</description>
<properties>
<!-- Bytecode bleibt auf 17 -> Jar läuft weiterhin auf älteren Servern (1.21.x).
Zum Kompilieren wird aber JDK 25 benötigt, da die paper-api 26.2 Klassen
mit Class-File-Version 25 ausliefert (siehe PaperMC Project-Setup Docs). -->
<maven.compiler.release>17</maven.compiler.release>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<repositories>
<!-- PaperMC: Paper API (aktuell 26.2) + BungeeCord API -->
<repository>
<id>papermc</id>
<url>https://repo.papermc.io/repository/maven-public/</url>
</repository>
<!-- Spigot -->
<repository>
<id>spigot-repo</id>
<url>https://hub.spigotmc.org/nexus/content/repositories/snapshots/</url>
</repository>
</repositories>
<dependencies>
<!-- ══════════════════════════════════════
SPIGOT / PAPER API (provided)
══════════════════════════════════════ -->
<!-- Ab 26.1 nutzt Paper ein neues Versionsschema (Jahr.Release statt 1.xx-R0.1-SNAPSHOT).
Der Range-Ausdruck holt sich automatisch den neuesten 26.2-Build.
Zum Fixieren auf einen konkreten Build stattdessen z.B. 26.2.build.60-beta eintragen. -->
<dependency>
<groupId>io.papermc.paper</groupId>
<artifactId>paper-api</artifactId>
<version>[26.2.build,)</version>
<scope>provided</scope>
</dependency>
<!-- ══════════════════════════════════════
BUNGEECORD API (provided)
══════════════════════════════════════ -->
<!-- TODO prüfen: ob/wann net.md-5 eine bungeecord-api 26.2-R0.1-SNAPSHOT im
hub.spigotmc.org Snapshot-Repo veröffentlicht. Aktuell bleibt 26.1 eingetragen,
da ich das von hier aus nicht gegen das Repo verifizieren konnte (Netzwerkzugriff
auf hub.spigotmc.org ist mir nicht möglich). BungeeCord-Server laden Plugins auch
ohne exakt passende API-Version, das Bungee-Modul sollte also trotzdem auf einem
26.2-Proxy laufen - bitte einmal real testen. -->
<dependency>
<groupId>net.md-5</groupId>
<artifactId>bungeecord-api</artifactId>
<version>26.1-R0.1-SNAPSHOT</version>
<scope>provided</scope>
</dependency>
<!-- ══════════════════════════════════════
SHADED DEPENDENCIES
══════════════════════════════════════ -->
<!-- MySQL Connector -->
<dependency>
<groupId>com.mysql</groupId>
<artifactId>mysql-connector-j</artifactId>
<version>8.3.0</version>
</dependency>
<!-- HikariCP Connection Pool -->
<dependency>
<groupId>com.zaxxer</groupId>
<artifactId>HikariCP</artifactId>
<version>5.1.0</version>
</dependency>
<!-- Gson (JSON + Discord + API) -->
<dependency>
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
<version>2.10.1</version>
</dependency>
<!-- OkHttp (Discord Webhooks + InfluxDB Push) -->
<dependency>
<groupId>com.squareup.okhttp3</groupId>
<artifactId>okhttp</artifactId>
<version>4.12.0</version>
</dependency>
</dependencies>
<build>
<finalName>ServerPulse-${project.version}</finalName>
<plugins>
<!-- Maven Shade: Alles in eine JAR -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-shade-plugin</artifactId>
<version>3.5.2</version>
<executions>
<execution>
<phase>package</phase>
<goals><goal>shade</goal></goals>
<configuration>
<createDependencyReducedPom>false</createDependencyReducedPom>
<!-- Relocation verhindert Konflikte mit anderen Plugins -->
<relocations>
<relocation>
<pattern>com.zaxxer.hikari</pattern>
<shadedPattern>de.serverpulse.libs.hikari</shadedPattern>
</relocation>
<relocation>
<pattern>com.google.gson</pattern>
<shadedPattern>de.serverpulse.libs.gson</shadedPattern>
</relocation>
<relocation>
<pattern>okhttp3</pattern>
<shadedPattern>de.serverpulse.libs.okhttp3</shadedPattern>
</relocation>
<relocation>
<pattern>okio</pattern>
<shadedPattern>de.serverpulse.libs.okio</shadedPattern>
</relocation>
<relocation>
<pattern>com.mysql</pattern>
<shadedPattern>de.serverpulse.libs.mysql</shadedPattern>
</relocation>
<relocation>
<pattern>kotlin</pattern>
<shadedPattern>de.serverpulse.libs.kotlin</shadedPattern>
</relocation>
</relocations>
<filters>
<filter>
<artifact>*:*</artifact>
<excludes>
<exclude>META-INF/*.SF</exclude>
<exclude>META-INF/*.DSA</exclude>
<exclude>META-INF/*.RSA</exclude>
<exclude>META-INF/MANIFEST.MF</exclude>
</excludes>
</filter>
</filters>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.13.0</version>
<configuration>
<release>${maven.compiler.release}</release>
</configuration>
</plugin>
<!-- Bricht den Build sofort mit klarer Meldung ab, falls nicht mit JDK 25
gebaut wird (paper-api 26.2 Klassen haben Class-File-Version 69). -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-enforcer-plugin</artifactId>
<version>3.5.0</version>
<executions>
<execution>
<id>enforce-jdk-25</id>
<goals><goal>enforce</goal></goals>
<configuration>
<rules>
<requireJavaVersion>
<version>[25,26)</version>
<message>Dieses Projekt braucht JDK 25 zum Bauen (paper-api 26.2 Class-File-Version 69). JAVA_HOME auf JDK 25 setzen und erneut versuchen.</message>
</requireJavaVersion>
</rules>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>