mirror of
https://github.com/HangarMC/Hangar.git
synced 2024-11-27 06:01:08 +08:00
476 lines
17 KiB
XML
476 lines
17 KiB
XML
<?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 https://maven.apache.org/xsd/maven-4.0.0.xsd">
|
|
<modelVersion>4.0.0</modelVersion>
|
|
<parent>
|
|
<groupId>org.springframework.boot</groupId>
|
|
<artifactId>spring-boot-starter-parent</artifactId>
|
|
<version>3.2.0</version>
|
|
<relativePath/>
|
|
</parent>
|
|
|
|
<groupId>io.papermc</groupId>
|
|
<artifactId>hangar</artifactId>
|
|
<version>0.1.0-SNAPSHOT</version>
|
|
|
|
<name>hangar</name>
|
|
<description>Ore, but in Spring, but for Paper</description>
|
|
|
|
<properties>
|
|
<!-- compiling -->
|
|
<java.version>21</java.version>
|
|
|
|
<!-- encoding -->
|
|
<encoding>UTF-8</encoding>
|
|
<project.build.sourceEncoding>${encoding}</project.build.sourceEncoding>
|
|
<project.reporting.outputEncoding>${encoding}</project.reporting.outputEncoding>
|
|
|
|
<!-- dependency management -->
|
|
<jdbi3-bom.version>3.42.0</jdbi3-bom.version>
|
|
<configurate.version>4.1.2</configurate.version>
|
|
<spring-cloud-aws.version>3.0.3</spring-cloud-aws.version>
|
|
|
|
<!-- dependencies -->
|
|
<sentry.version>7.0.0</sentry.version>
|
|
<springdoc.version>2.3.0</springdoc.version>
|
|
<jsitemapgenerator.version>4.5</jsitemapgenerator.version>
|
|
<org-json.version>20231013</org-json.version>
|
|
<bucket4j.version>7.6.0</bucket4j.version>
|
|
<datafaker.version>2.0.2</datafaker.version>
|
|
<apache-commons-lang.version>3.14.0</apache-commons-lang.version>
|
|
<jwt.version>4.4.0</jwt.version>
|
|
<jetbrains-annotations.version>24.1.0</jetbrains-annotations.version>
|
|
<caffeine.version>3.1.8</caffeine.version>
|
|
<jarscanner.version>1.0-SNAPSHOT</jarscanner.version>
|
|
<jgroups.version>5.3.0.Final</jgroups.version>
|
|
<jgroups-kube.version>2.0.1.Final</jgroups-kube.version>
|
|
<totp.version>1.7.2-SNAPSHOT</totp.version>
|
|
<webp.version>0.1.6</webp.version>
|
|
<webauthn.version>2.5.0</webauthn.version>
|
|
<logback-contrib.version>0.1.5</logback-contrib.version>
|
|
<janino.version>3.1.11</janino.version>
|
|
<mockito-inline.version>5.2.0</mockito-inline.version>
|
|
<otel-semconv.version>1.30.0-alpha</otel-semconv.version>
|
|
|
|
<!-- test -->
|
|
<pg.version>1.19.3</pg.version>
|
|
|
|
<!-- plugins -->
|
|
<maven-compiler-plugin.version>3.11.0</maven-compiler-plugin.version>
|
|
</properties>
|
|
|
|
<repositories>
|
|
<repository>
|
|
<id>papermc</id>
|
|
<url>https://repo.papermc.io/repository/maven-public/</url>
|
|
</repository>
|
|
</repositories>
|
|
|
|
<dependencyManagement>
|
|
<dependencies>
|
|
<dependency>
|
|
<groupId>org.jdbi</groupId>
|
|
<artifactId>jdbi3-bom</artifactId>
|
|
<type>pom</type>
|
|
<version>${jdbi3-bom.version}</version>
|
|
<scope>import</scope>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.spongepowered</groupId>
|
|
<artifactId>configurate-bom</artifactId>
|
|
<type>pom</type>
|
|
<version>${configurate.version}</version>
|
|
<scope>import</scope>
|
|
</dependency>
|
|
</dependencies>
|
|
</dependencyManagement>
|
|
|
|
<dependencies>
|
|
<dependency>
|
|
<groupId>org.springframework</groupId>
|
|
<artifactId>spring-context</artifactId>
|
|
<exclusions>
|
|
<exclusion>
|
|
<groupId>commons-logging</groupId>
|
|
<artifactId>commons-logging</artifactId>
|
|
</exclusion>
|
|
</exclusions>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.springframework.boot</groupId>
|
|
<artifactId>spring-boot-properties-migrator</artifactId>
|
|
<scope>runtime</scope>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.springframework.boot</groupId>
|
|
<artifactId>spring-boot-starter-actuator</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.springframework.boot</groupId>
|
|
<artifactId>spring-boot-starter-jdbc</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.springframework.boot</groupId>
|
|
<artifactId>spring-boot-starter-mail</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.springframework.boot</groupId>
|
|
<artifactId>spring-boot-starter-security</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.springframework.boot</groupId>
|
|
<artifactId>spring-boot-starter-web</artifactId>
|
|
<exclusions>
|
|
<exclusion>
|
|
<groupId>org.springframework.boot</groupId>
|
|
<artifactId>spring-boot-starter-tomcat</artifactId>
|
|
</exclusion>
|
|
</exclusions>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.springframework.boot</groupId>
|
|
<artifactId>spring-boot-starter-undertow</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.springframework.boot</groupId>
|
|
<artifactId>spring-boot-starter-cache</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.springframework.boot</groupId>
|
|
<artifactId>spring-boot-starter-validation</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.springframework.boot</groupId>
|
|
<artifactId>spring-boot-starter-aop</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.springframework.boot</groupId>
|
|
<artifactId>spring-boot-starter-webflux</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.springframework.boot</groupId>
|
|
<artifactId>spring-boot-starter-graphql</artifactId>
|
|
</dependency>
|
|
|
|
<dependency>
|
|
<groupId>org.apache.commons</groupId>
|
|
<artifactId>commons-lang3</artifactId>
|
|
<version>${apache-commons-lang.version}</version>
|
|
</dependency>
|
|
|
|
<dependency>
|
|
<groupId>org.jetbrains</groupId>
|
|
<artifactId>annotations</artifactId>
|
|
<version>${jetbrains-annotations.version}</version>
|
|
</dependency>
|
|
|
|
<dependency>
|
|
<groupId>org.json</groupId>
|
|
<artifactId>json</artifactId>
|
|
<version>${org-json.version}</version>
|
|
</dependency>
|
|
|
|
<dependency>
|
|
<groupId>com.github.vladimir-bukhtoyarov</groupId>
|
|
<artifactId>bucket4j-core</artifactId>
|
|
<version>${bucket4j.version}</version>
|
|
</dependency>
|
|
|
|
<!-- configurate -->
|
|
<dependency>
|
|
<groupId>org.spongepowered</groupId>
|
|
<artifactId>configurate-jackson</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.spongepowered</groupId>
|
|
<artifactId>configurate-yaml</artifactId>
|
|
</dependency>
|
|
|
|
<!-- SpringDoc dependencies -->
|
|
<dependency>
|
|
<groupId>org.springdoc</groupId>
|
|
<artifactId>springdoc-openapi-starter-webmvc-ui</artifactId>
|
|
<version>${springdoc.version}</version>
|
|
</dependency>
|
|
|
|
<!-- Bean Validation API support -->
|
|
<dependency>
|
|
<groupId>jakarta.validation</groupId>
|
|
<artifactId>jakarta.validation-api</artifactId>
|
|
</dependency>
|
|
|
|
<!-- config stuff -->
|
|
<dependency>
|
|
<groupId>org.yaml</groupId>
|
|
<artifactId>snakeyaml</artifactId>
|
|
</dependency>
|
|
|
|
<!-- db -->
|
|
<dependency>
|
|
<groupId>org.jdbi</groupId>
|
|
<artifactId>jdbi3-core</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.jdbi</groupId>
|
|
<artifactId>jdbi3-sqlobject</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.jdbi</groupId>
|
|
<artifactId>jdbi3-postgres</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.jdbi</groupId>
|
|
<artifactId>jdbi3-spring5</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.jdbi</groupId>
|
|
<artifactId>jdbi3-stringtemplate4</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.postgresql</groupId>
|
|
<artifactId>postgresql</artifactId>
|
|
</dependency>
|
|
|
|
<!-- sentry -->
|
|
<dependency>
|
|
<groupId>io.sentry</groupId>
|
|
<artifactId>sentry-spring-boot-starter-jakarta</artifactId>
|
|
<version>${sentry.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>io.sentry</groupId>
|
|
<artifactId>sentry-logback</artifactId>
|
|
<version>${sentry.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>io.sentry</groupId>
|
|
<artifactId>sentry-opentelemetry-core</artifactId>
|
|
<version>${sentry.version}</version>
|
|
</dependency>
|
|
|
|
<!-- logging -->
|
|
<dependency>
|
|
<groupId>ch.qos.logback.contrib</groupId>
|
|
<artifactId>logback-jackson</artifactId>
|
|
<version>${logback-contrib.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>ch.qos.logback.contrib</groupId>
|
|
<artifactId>logback-json-classic</artifactId>
|
|
<version>${logback-contrib.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.codehaus.janino</groupId>
|
|
<artifactId>janino</artifactId>
|
|
<version>${janino.version}</version>
|
|
</dependency>
|
|
|
|
<!-- flyway -->
|
|
<dependency>
|
|
<groupId>org.flywaydb</groupId>
|
|
<artifactId>flyway-core</artifactId>
|
|
</dependency>
|
|
|
|
<!-- sitemap -->
|
|
<dependency>
|
|
<groupId>cz.jiripinkas</groupId>
|
|
<artifactId>jsitemapgenerator</artifactId>
|
|
<version>${jsitemapgenerator.version}</version>
|
|
</dependency>
|
|
|
|
<dependency>
|
|
<groupId>com.auth0</groupId>
|
|
<artifactId>java-jwt</artifactId>
|
|
<version>${jwt.version}</version>
|
|
</dependency>
|
|
|
|
<!-- aws -->
|
|
<dependency>
|
|
<groupId>io.awspring.cloud</groupId>
|
|
<artifactId>spring-cloud-aws-starter-s3</artifactId>
|
|
<version>${spring-cloud-aws.version}</version>
|
|
</dependency>
|
|
|
|
<!-- datafaker -->
|
|
<dependency>
|
|
<groupId>net.datafaker</groupId>
|
|
<artifactId>datafaker</artifactId>
|
|
<version>${datafaker.version}</version>
|
|
</dependency>
|
|
|
|
<!-- tracing -->
|
|
<dependency>
|
|
<groupId>io.micrometer</groupId>
|
|
<artifactId>micrometer-tracing-bridge-otel</artifactId>
|
|
</dependency>
|
|
<!-- need this to fix an incompatibility with springboot 3.2/micrometer -->
|
|
<dependency>
|
|
<groupId>io.opentelemetry</groupId>
|
|
<artifactId>opentelemetry-semconv</artifactId>
|
|
<version>${otel-semconv.version}</version>
|
|
</dependency>
|
|
<!--dependency>
|
|
<groupId>io.opentelemetry</groupId>
|
|
<artifactId>opentelemetry-exporter-zipkin</artifactId>
|
|
</dependency-->
|
|
|
|
<!-- cache -->
|
|
<dependency>
|
|
<groupId>com.github.ben-manes.caffeine</groupId>
|
|
<artifactId>caffeine</artifactId>
|
|
<version>${caffeine.version}</version>
|
|
</dependency>
|
|
|
|
<!-- jgroups -->
|
|
<dependency>
|
|
<groupId>org.jgroups</groupId>
|
|
<artifactId>jgroups</artifactId>
|
|
<version>${jgroups.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.jgroups.kubernetes</groupId>
|
|
<artifactId>jgroups-kubernetes</artifactId>
|
|
<version>${jgroups-kube.version}</version>
|
|
</dependency>
|
|
|
|
<dependency>
|
|
<groupId>io.papermc.hangar</groupId>
|
|
<artifactId>HangarJarScanner</artifactId>
|
|
<version>${jarscanner.version}</version>
|
|
</dependency>
|
|
|
|
<dependency>
|
|
<groupId>dev.samstevens.totp</groupId>
|
|
<artifactId>totp-spring-boot-starter-hangar</artifactId>
|
|
<version>${totp.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>com.yubico</groupId>
|
|
<artifactId>webauthn-server-core</artifactId>
|
|
<version>${webauthn.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>com.fasterxml.jackson.dataformat</groupId>
|
|
<artifactId>jackson-dataformat-cbor</artifactId>
|
|
</dependency>
|
|
|
|
<!-- webp -->
|
|
<dependency>
|
|
<groupId>org.sejda.imageio</groupId>
|
|
<artifactId>webp-imageio</artifactId>
|
|
<version>${webp.version}</version>
|
|
</dependency>
|
|
|
|
<!-- runtime -->
|
|
<dependency>
|
|
<groupId>org.springframework.boot</groupId>
|
|
<artifactId>spring-boot-devtools</artifactId>
|
|
<scope>runtime</scope>
|
|
<optional>true</optional>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.springframework.boot</groupId>
|
|
<artifactId>spring-boot-configuration-processor</artifactId>
|
|
<optional>true</optional>
|
|
</dependency>
|
|
|
|
<!-- test -->
|
|
<dependency>
|
|
<groupId>org.springframework.boot</groupId>
|
|
<artifactId>spring-boot-starter-test</artifactId>
|
|
<scope>test</scope>
|
|
<exclusions>
|
|
<exclusion>
|
|
<groupId>org.junit.vintage</groupId>
|
|
<artifactId>junit-vintage-engine</artifactId>
|
|
</exclusion>
|
|
</exclusions>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.springframework.security</groupId>
|
|
<artifactId>spring-security-test</artifactId>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.testcontainers</groupId>
|
|
<artifactId>postgresql</artifactId>
|
|
<version>${pg.version}</version>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.mockito</groupId>
|
|
<artifactId>mockito-inline</artifactId>
|
|
<version>${mockito-inline.version}</version>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.junit.platform</groupId>
|
|
<artifactId>junit-platform-suite</artifactId>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
</dependencies>
|
|
|
|
<build>
|
|
<resources>
|
|
<resource>
|
|
<directory>src/main/resources</directory>
|
|
<includes>
|
|
<include>banner.txt</include>
|
|
</includes>
|
|
<filtering>true</filtering>
|
|
</resource>
|
|
<resource>
|
|
<directory>src/main/resources</directory>
|
|
<filtering>false</filtering>
|
|
</resource>
|
|
</resources>
|
|
<plugins>
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-compiler-plugin</artifactId>
|
|
<version>${maven-compiler-plugin.version}</version>
|
|
<configuration>
|
|
<source>${java.version}</source>
|
|
<target>${java.version}</target>
|
|
<testSource>${java.version}</testSource>
|
|
<testTarget>${java.version}</testTarget>
|
|
<encoding>${encoding}</encoding>
|
|
<compilerArgs>--enable-preview</compilerArgs>
|
|
</configuration>
|
|
</plugin>
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-surefire-plugin</artifactId>
|
|
<version>3.2.2</version>
|
|
<configuration>
|
|
<argLine>--enable-preview</argLine>
|
|
</configuration>
|
|
</plugin>
|
|
<plugin>
|
|
<groupId>org.springframework.boot</groupId>
|
|
<artifactId>spring-boot-maven-plugin</artifactId>
|
|
</plugin>
|
|
|
|
<plugin>
|
|
<groupId>io.github.git-commit-id</groupId>
|
|
<artifactId>git-commit-id-maven-plugin</artifactId>
|
|
<executions>
|
|
<execution>
|
|
<phase>generate-resources</phase>
|
|
<goals>
|
|
<goal>revision</goal>
|
|
</goals>
|
|
</execution>
|
|
</executions>
|
|
<configuration>
|
|
<verbose>false</verbose>
|
|
<dateFormat>yyyy-MM-dd-HH:mm:ss</dateFormat>
|
|
<dotGitDirectory>${project.basedir}/.git</dotGitDirectory>
|
|
<generateGitPropertiesFile>true</generateGitPropertiesFile>
|
|
</configuration>
|
|
</plugin>
|
|
</plugins>
|
|
</build>
|
|
|
|
</project>
|