296 lines
11 KiB
XML
296 lines
11 KiB
XML
<?xml version="1.0" encoding="UTF-8"?>
|
|
<project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
|
xmlns="http://maven.apache.org/POM/4.0.0"
|
|
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>
|
|
|
|
<parent>
|
|
<groupId>org.jeudego.pairgoth</groupId>
|
|
<artifactId>engine-parent</artifactId>
|
|
<version>1.0-SNAPSHOT</version>
|
|
</parent>
|
|
<artifactId>api-webapp</artifactId>
|
|
|
|
<packaging>war</packaging>
|
|
<name>${project.groupId}:${project.artifactId}</name>
|
|
<description>PairGoth pairing system</description>
|
|
<url>TODO</url>
|
|
<properties>
|
|
<kotlin.version>1.8.21</kotlin.version>
|
|
<kotlin.code.style>official</kotlin.code.style>
|
|
<kotlin.compiler.jvmTarget>10</kotlin.compiler.jvmTarget>
|
|
<kotlin.compiler.incremental>true</kotlin.compiler.incremental>
|
|
<pac4j.version>5.7.1</pac4j.version>
|
|
</properties>
|
|
<build>
|
|
<defaultGoal>package</defaultGoal>
|
|
<sourceDirectory>src/main/kotlin</sourceDirectory>
|
|
<testSourceDirectory>src/test/kotlin</testSourceDirectory>
|
|
<plugins>
|
|
<plugin>
|
|
<groupId>org.jetbrains.kotlin</groupId>
|
|
<artifactId>kotlin-maven-plugin</artifactId>
|
|
<version>${kotlin.version}</version>
|
|
<executions>
|
|
<execution>
|
|
<id>compile</id>
|
|
<phase>compile</phase>
|
|
<goals>
|
|
<goal>compile</goal>
|
|
</goals>
|
|
</execution>
|
|
<execution>
|
|
<id>test-compile</id>
|
|
<phase>test-compile</phase>
|
|
<goals>
|
|
<goal>test-compile</goal>
|
|
</goals>
|
|
</execution>
|
|
</executions>
|
|
</plugin>
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-enforcer-plugin</artifactId>
|
|
<executions>
|
|
<execution>
|
|
<id>enforce-properties-file-exists</id>
|
|
<goals>
|
|
<goal>enforce</goal>
|
|
</goals>
|
|
<configuration>
|
|
<rules>
|
|
<requireFilesExist>
|
|
<message>Missing pairgoth.properties file</message>
|
|
<files>
|
|
<file>${project.parent.basedir}/pairgoth.properties</file>
|
|
</files>
|
|
</requireFilesExist>
|
|
</rules>
|
|
<fail>true</fail>
|
|
</configuration>
|
|
</execution>
|
|
</executions>
|
|
</plugin>
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-resources-plugin</artifactId>
|
|
<executions>
|
|
<execution>
|
|
<id>copy-resources</id>
|
|
<phase>process-resources</phase>
|
|
<goals>
|
|
<goal>copy-resources</goal>
|
|
</goals>
|
|
<configuration>
|
|
<outputDirectory>${project.build.directory}/${project.build.finalName}/WEB-INF</outputDirectory>
|
|
<resources>
|
|
<resource>
|
|
<directory>${basedir}/..</directory>
|
|
<include>pairgoth.properties</include>
|
|
<!-- <filtering>true</filtering> -->
|
|
</resource>
|
|
</resources>
|
|
</configuration>
|
|
</execution>
|
|
</executions>
|
|
</plugin>
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-surefire-plugin</artifactId>
|
|
<configuration>
|
|
<classpathDependencyExcludes>
|
|
<classpathDependencyExclude>com.republicate:webapp-slf4j-logger</classpathDependencyExclude>
|
|
</classpathDependencyExcludes>
|
|
</configuration>
|
|
</plugin>
|
|
</plugins>
|
|
</build>
|
|
<dependencyManagement>
|
|
<dependencies>
|
|
<dependency>
|
|
<groupId>org.junit</groupId>
|
|
<artifactId>junit-bom</artifactId>
|
|
<version>5.9.3</version>
|
|
<type>pom</type>
|
|
<scope>import</scope>
|
|
</dependency>
|
|
</dependencies>
|
|
</dependencyManagement>
|
|
<dependencies>
|
|
<!-- main dependencies -->
|
|
<dependency>
|
|
<groupId>org.jetbrains.kotlin</groupId>
|
|
<artifactId>kotlin-test-junit5</artifactId>
|
|
<version>${kotlin.version}</version>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.jetbrains.kotlin</groupId>
|
|
<artifactId>kotlin-stdlib-jdk8</artifactId>
|
|
<version>${kotlin.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.jetbrains.kotlin</groupId>
|
|
<artifactId>kotlin-reflect</artifactId>
|
|
<version>${kotlin.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.jetbrains.kotlinx</groupId>
|
|
<artifactId>kotlinx-datetime-jvm</artifactId>
|
|
<version>0.4.0</version>
|
|
</dependency>
|
|
<!-- servlets and mail APIs -->
|
|
<dependency>
|
|
<groupId>jakarta.servlet</groupId>
|
|
<artifactId>jakarta.servlet-api</artifactId>
|
|
<version>${servlet.api.version}</version>
|
|
<scope>provided</scope>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>com.sun.mail</groupId>
|
|
<artifactId>jakarta.mail</artifactId>
|
|
<version>1.6.7</version>
|
|
</dependency>
|
|
<!-- auth -->
|
|
<dependency>
|
|
<groupId>org.pac4j</groupId>
|
|
<artifactId>pac4j-oauth</artifactId>
|
|
<version>${pac4j.version}</version>
|
|
</dependency>
|
|
<!-- logging -->
|
|
<dependency>
|
|
<groupId>io.github.microutils</groupId>
|
|
<artifactId>kotlin-logging-jvm</artifactId>
|
|
<version>3.0.5</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.slf4j</groupId>
|
|
<artifactId>slf4j-api</artifactId>
|
|
<version>${slf4j.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>com.republicate</groupId>
|
|
<artifactId>webapp-slf4j-logger</artifactId>
|
|
<version>3.0</version>
|
|
<scope>runtime</scope>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.slf4j</groupId>
|
|
<artifactId>slf4j-simple</artifactId>
|
|
<version>${slf4j.version}</version>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
<!--
|
|
<dependency>
|
|
<groupId>org.slf4j</groupId>
|
|
<artifactId>jcl-over-slf4j</artifactId>
|
|
<version>${slf4j.version}</version>
|
|
</dependency>
|
|
-->
|
|
<dependency>
|
|
<groupId>com.diogonunes</groupId>
|
|
<artifactId>JColor</artifactId>
|
|
<version>5.0.1</version>
|
|
</dependency>
|
|
<!-- mailer -->
|
|
<dependency>
|
|
<groupId>com.republicate</groupId>
|
|
<artifactId>simple-mailer</artifactId>
|
|
<version>1.6</version>
|
|
</dependency>
|
|
<!-- json -->
|
|
<dependency>
|
|
<groupId>com.republicate.kson</groupId>
|
|
<artifactId>essential-kson-jvm</artifactId>
|
|
<version>2.3</version>
|
|
</dependency>
|
|
<!-- charset detection
|
|
<dependency>
|
|
<groupId>com.ibm.icu</groupId>
|
|
<artifactId>icu4j</artifactId>
|
|
<version>70.1</version>
|
|
</dependency>
|
|
-->
|
|
<!-- net clients
|
|
<dependency>
|
|
<groupId>org.apache.httpcomponents</groupId>
|
|
<artifactId>httpclient</artifactId>
|
|
<version>4.5.13</version>
|
|
<exclusions>
|
|
<exclusion>
|
|
<artifactId>commons-logging</artifactId>
|
|
<groupId>commons-logging</groupId>
|
|
</exclusion>
|
|
</exclusions>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.apache.httpcomponents</groupId>
|
|
<artifactId>httpmime</artifactId>
|
|
<version>4.5.13</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>commons-io</groupId>
|
|
<artifactId>commons-io</artifactId>
|
|
<version>2.11.0</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>commons-net</groupId>
|
|
<artifactId>commons-net</artifactId>
|
|
<version>3.8.0</version>
|
|
</dependency>
|
|
-->
|
|
<!-- pdf -->
|
|
<dependency>
|
|
<groupId>org.apache.pdfbox</groupId>
|
|
<artifactId>pdfbox</artifactId>
|
|
<version>2.0.28</version>
|
|
</dependency>
|
|
<!-- server-side events -->
|
|
<dependency>
|
|
<groupId>com.republicate</groupId>
|
|
<artifactId>jeasse-servlet3</artifactId>
|
|
<version>1.2</version>
|
|
</dependency>
|
|
<!-- graph solver -->
|
|
<dependency>
|
|
<groupId>org.jgrapht</groupId>
|
|
<artifactId>jgrapht-core</artifactId>
|
|
<version>1.5.2</version>
|
|
</dependency>
|
|
<!-- tests -->
|
|
<dependency>
|
|
<groupId>org.junit.jupiter</groupId>
|
|
<artifactId>junit-jupiter-engine</artifactId>
|
|
<version>${junit.jupiter.version}</version>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.mockito.kotlin</groupId>
|
|
<artifactId>mockito-kotlin</artifactId>
|
|
<version>4.1.0</version>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
<!-- test emails -->
|
|
<dependency>
|
|
<groupId>com.icegreen</groupId>
|
|
<artifactId>greenmail</artifactId>
|
|
<version>1.6.12</version>
|
|
<scope>test</scope>
|
|
<exclusions>
|
|
<exclusion>
|
|
<groupId>junit</groupId>
|
|
<artifactId>junit</artifactId>
|
|
</exclusion>
|
|
<exclusion>
|
|
<groupId>javax.activation</groupId>
|
|
<artifactId>activation</artifactId>
|
|
</exclusion>
|
|
<exclusion>
|
|
<groupId>com.sun.mail</groupId>
|
|
<artifactId>javax.mail</artifactId>
|
|
</exclusion>
|
|
</exclusions>
|
|
</dependency>
|
|
</dependencies>
|
|
</project>
|