Upload via Git Manager GUI

This commit is contained in:
Git Manager GUI
2026-05-22 20:19:07 +02:00
parent e850f86abe
commit b34c3d6dd1

170
pom.xml Normal file
View File

@@ -0,0 +1,170 @@
<?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.teleportsuite</groupId>
<artifactId>TeleportSuite</artifactId>
<version>1.0.0</version>
<packaging>jar</packaging>
<properties>
<!--
Java 21 (LTS) als Compiler-Ziel.
Ein mit Java 21 kompiliertes Plugin läuft problemlos
auf Java 25 (keine Source-Änderungen nötig).
Soll ausschließlich Java-25-Syntax genutzt werden,
einfach den Wert auf 25 ändern.
-->
<maven.compiler.release>21</maven.compiler.release>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<!-- Pfad zur lokalen BungeeCord.jar (liegt im Projekt unter lib/) -->
<bungeecord.jar.path>${project.basedir}/lib/BungeeCord.jar</bungeecord.jar.path>
</properties>
<!-- ============================================================ -->
<!-- Repositories -->
<!-- ============================================================ -->
<repositories>
<!-- Spigot / Paper API -->
<repository>
<id>spigot-repo</id>
<url>https://hub.spigotmc.org/nexus/content/repositories/snapshots/</url>
</repository>
</repositories>
<!-- ============================================================ -->
<!-- Dependencies -->
<!-- ============================================================ -->
<dependencies>
<!-- Spigot API 1.21.4 provided, kommt vom Server -->
<dependency>
<groupId>org.spigotmc</groupId>
<artifactId>spigot-api</artifactId>
<version>1.21.4-R0.1-SNAPSHOT</version>
<scope>provided</scope>
</dependency>
<!--
BungeeCord.jar aus dem lokalen lib/-Ordner.
scope=provided → wird NICHT ins Shade-JAR gepackt
(der Server hat BungeeCord bereits im Classpath).
-->
<dependency>
<groupId>net.md-5</groupId>
<artifactId>bungeecord-all</artifactId>
<version>1.21-SNAPSHOT</version>
<scope>system</scope>
<systemPath>${bungeecord.jar.path}</systemPath>
</dependency>
<!-- MySQL Connector wird ins Shade-JAR gepackt -->
<dependency>
<groupId>com.mysql</groupId>
<artifactId>mysql-connector-j</artifactId>
<version>9.1.0</version>
<scope>compile</scope>
</dependency>
<!-- SQLite JDBC wird ins Shade-JAR gepackt -->
<dependency>
<groupId>org.xerial</groupId>
<artifactId>sqlite-jdbc</artifactId>
<version>3.47.1.0</version>
<scope>compile</scope>
</dependency>
<!-- HikariCP Connection-Pool wird ins Shade-JAR gepackt -->
<dependency>
<groupId>com.zaxxer</groupId>
<artifactId>HikariCP</artifactId>
<version>6.2.1</version>
<scope>compile</scope>
</dependency>
</dependencies>
<!-- ============================================================ -->
<!-- Build -->
<!-- ============================================================ -->
<build>
<!-- Ausgabe-JAR bekommt keinen Version-Suffix -->
<finalName>${project.artifactId}</finalName>
<plugins>
<!-- Compiler-Plugin explizit für Java 21 / 25 -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.13.0</version>
<configuration>
<release>${maven.compiler.release}</release>
<encoding>UTF-8</encoding>
</configuration>
</plugin>
<!--
Shade-Plugin:
- packt compile-scope Dependencies in das Ziel-JAR
- system-scope (BungeeCord) wird NICHT eingeschlossen
- Relocations vermeiden Klassenkonflikte auf dem Server
-->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-shade-plugin</artifactId>
<version>3.6.0</version>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>shade</goal>
</goals>
<configuration>
<createDependencyReducedPom>false</createDependencyReducedPom>
<!-- system-scope JARs vom Shade ausschließen -->
<artifactSet>
<excludes>
<exclude>net.md-5:bungeecord-all</exclude>
</excludes>
</artifactSet>
<!-- Relocation: verhindert Konflikte mit anderen Plugins -->
<relocations>
<relocation>
<pattern>com.mysql</pattern>
<shadedPattern>de.teleportsuite.libs.mysql</shadedPattern>
</relocation>
<relocation>
<pattern>com.zaxxer.hikari</pattern>
<shadedPattern>de.teleportsuite.libs.hikari</shadedPattern>
</relocation>
</relocations>
<!-- Unnötige Meta-Dateien aus dem Shade-JAR entfernen -->
<filters>
<filter>
<artifact>*:*</artifact>
<excludes>
<exclude>META-INF/LICENSE*</exclude>
<exclude>META-INF/NOTICE*</exclude>
<exclude>META-INF/DEPENDENCIES</exclude>
<exclude>META-INF/*.SF</exclude>
<exclude>META-INF/*.DSA</exclude>
<exclude>META-INF/*.RSA</exclude>
</excludes>
</filter>
</filters>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>