364 lines
12 KiB
XML
364 lines
12 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 http://maven.apache.org/maven-v4_0_0.xsd">
|
|
|
|
<modelVersion>4.0.0</modelVersion>
|
|
|
|
<artifactId>mezzotre</artifactId>
|
|
<groupId>com.github.polpetta</groupId>
|
|
<version>1.0-SNAPSHOT</version>
|
|
<packaging>jar</packaging>
|
|
|
|
<name>Mezzotre</name>
|
|
<description>A simple Telegram assistant for DnD content</description>
|
|
<inceptionYear>2023</inceptionYear>
|
|
<contributors>
|
|
<contributor>
|
|
<name>Davide Polonio</name>
|
|
<url>https://bitdispenser.dev</url>
|
|
<email>davide+mezzotre@poldebra.me</email>
|
|
</contributor>
|
|
</contributors>
|
|
|
|
<properties>
|
|
<!-- Startup class -->
|
|
<application.class>com.github.polpetta.mezzotre.App</application.class>
|
|
|
|
<jooby.version>2.16.2</jooby.version>
|
|
|
|
<maven.compiler.source>17</maven.compiler.source>
|
|
<maven.compiler.target>17</maven.compiler.target>
|
|
<maven.compiler.parameters>true</maven.compiler.parameters>
|
|
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
|
<javax.validation.version>2.0.1.Final</javax.validation.version>
|
|
<!-- Cannot upgrade more since we need Jooby 3-->
|
|
<ebean.version>12.16.0</ebean.version>
|
|
<org.mockito.mockio-core.version>4.3.1</org.mockito.mockio-core.version>
|
|
<mock-server.version>5.11.2</mock-server.version>
|
|
<testcontainers-postgresql.version>1.16.3</testcontainers-postgresql.version>
|
|
<org.testcontainers.junit-jupiter.version>1.16.3</org.testcontainers.junit-jupiter.version>
|
|
<jsonschema2pojo.version>1.1.1</jsonschema2pojo.version>
|
|
<jackson-databind.version>2.13.3</jackson-databind.version>
|
|
</properties>
|
|
|
|
<dependencies>
|
|
<!-- Server -->
|
|
<dependency>
|
|
<groupId>io.jooby</groupId>
|
|
<artifactId>jooby-netty</artifactId>
|
|
</dependency>
|
|
|
|
<!-- logging -->
|
|
<dependency>
|
|
<groupId>ch.qos.logback</groupId>
|
|
<artifactId>logback-classic</artifactId>
|
|
</dependency>
|
|
|
|
<!-- Tests -->
|
|
<dependency>
|
|
<groupId>org.junit.jupiter</groupId>
|
|
<artifactId>junit-jupiter-api</artifactId>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
|
|
<dependency>
|
|
<groupId>org.junit.jupiter</groupId>
|
|
<artifactId>junit-jupiter-engine</artifactId>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
|
|
<dependency>
|
|
<groupId>io.jooby</groupId>
|
|
<artifactId>jooby-test</artifactId>
|
|
</dependency>
|
|
|
|
<dependency>
|
|
<groupId>io.jooby</groupId>
|
|
<artifactId>jooby-guice</artifactId>
|
|
</dependency>
|
|
|
|
<dependency>
|
|
<groupId>io.swagger.core.v3</groupId>
|
|
<artifactId>swagger-annotations</artifactId>
|
|
<version>2.2.0</version>
|
|
</dependency>
|
|
|
|
<!-- Database dependencies-->
|
|
<!-- DataSource via HikariCP-->
|
|
<dependency>
|
|
<groupId>io.jooby</groupId>
|
|
<artifactId>jooby-hikari</artifactId>
|
|
</dependency>
|
|
|
|
<!-- Ebean Module-->
|
|
<dependency>
|
|
<groupId>io.jooby</groupId>
|
|
<artifactId>jooby-ebean</artifactId>
|
|
</dependency>
|
|
|
|
<dependency>
|
|
<groupId>io.ebean</groupId>
|
|
<artifactId>ebean-test</artifactId>
|
|
<version>${ebean.version}</version>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
|
|
<!-- https://mvnrepository.com/artifact/org.postgresql/postgresql -->
|
|
<dependency>
|
|
<groupId>org.postgresql</groupId>
|
|
<artifactId>postgresql</artifactId>
|
|
<version>42.5.4</version>
|
|
</dependency>
|
|
|
|
<dependency>
|
|
<groupId>javax.validation</groupId>
|
|
<artifactId>validation-api</artifactId>
|
|
<version>${javax.validation.version}</version>
|
|
</dependency>
|
|
|
|
<!-- Flyway Module-->
|
|
<dependency>
|
|
<groupId>io.jooby</groupId>
|
|
<artifactId>jooby-flyway</artifactId>
|
|
</dependency>
|
|
|
|
<!-- Jackson-->
|
|
<dependency>
|
|
<groupId>io.jooby</groupId>
|
|
<artifactId>jooby-gson</artifactId>
|
|
</dependency>
|
|
|
|
<!-- Starting banner-->
|
|
<dependency>
|
|
<groupId>io.jooby</groupId>
|
|
<artifactId>jooby-banner</artifactId>
|
|
</dependency>
|
|
|
|
<!-- https://mvnrepository.com/artifact/org.mockito/mockito-core -->
|
|
<dependency>
|
|
<groupId>org.mockito</groupId>
|
|
<artifactId>mockito-core</artifactId>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
|
|
<!-- https://mvnrepository.com/artifact/org.mockito/mockito-junit-jupiter -->
|
|
<dependency>
|
|
<groupId>org.mockito</groupId>
|
|
<artifactId>mockito-junit-jupiter</artifactId>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
|
|
<dependency>
|
|
<groupId>org.testcontainers</groupId>
|
|
<artifactId>testcontainers</artifactId>
|
|
<version>${org.testcontainers.junit-jupiter.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.testcontainers</groupId>
|
|
<artifactId>postgresql</artifactId>
|
|
<version>${testcontainers-postgresql.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.testcontainers</groupId>
|
|
<artifactId>junit-jupiter</artifactId>
|
|
<version>${org.testcontainers.junit-jupiter.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.mock-server</groupId>
|
|
<artifactId>mockserver-netty</artifactId>
|
|
<version>${mock-server.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.mock-server</groupId>
|
|
<artifactId>mockserver-junit-jupiter</artifactId>
|
|
<version>${mock-server.version}</version>
|
|
</dependency>
|
|
<!-- https://mvnrepository.com/artifact/org.apache.velocity/velocity-engine-core -->
|
|
<dependency>
|
|
<groupId>org.apache.velocity</groupId>
|
|
<artifactId>velocity-engine-core</artifactId>
|
|
<version>2.3</version>
|
|
</dependency>
|
|
<!-- https://mvnrepository.com/artifact/org.apache.velocity.tools/velocity-tools-generic -->
|
|
<dependency>
|
|
<groupId>org.apache.velocity.tools</groupId>
|
|
<artifactId>velocity-tools-generic</artifactId>
|
|
<version>3.1</version>
|
|
</dependency>
|
|
|
|
<!--Telegram stuff-->
|
|
<dependency>
|
|
<groupId>com.github.pengrad</groupId>
|
|
<artifactId>java-telegram-bot-api</artifactId>
|
|
<version>6.5.0</version>
|
|
</dependency>
|
|
|
|
<!-- https://mvnrepository.com/artifact/io.vavr/vavr -->
|
|
<dependency>
|
|
<groupId>io.vavr</groupId>
|
|
<artifactId>vavr</artifactId>
|
|
<version>1.0.0-alpha-4</version>
|
|
</dependency>
|
|
|
|
<dependency>
|
|
<groupId>com.squareup.okhttp3</groupId>
|
|
<artifactId>okhttp</artifactId>
|
|
</dependency>
|
|
|
|
<dependency>
|
|
<groupId>com.fasterxml.jackson.core</groupId>
|
|
<artifactId>jackson-databind</artifactId>
|
|
<version>${jackson-databind.version}</version>
|
|
</dependency>
|
|
|
|
<!-- https://mvnrepository.com/artifact/com.google.guava/guava -->
|
|
<dependency>
|
|
<groupId>com.google.guava</groupId>
|
|
<artifactId>guava</artifactId>
|
|
<version>31.1-jre</version>
|
|
</dependency>
|
|
|
|
|
|
</dependencies>
|
|
|
|
<build>
|
|
<finalName>mezzotre</finalName>
|
|
<plugins>
|
|
<plugin>
|
|
<groupId>org.jsonschema2pojo</groupId>
|
|
<artifactId>jsonschema2pojo-maven-plugin</artifactId>
|
|
<version>${jsonschema2pojo.version}</version>
|
|
<configuration>
|
|
<sourceDirectory>${basedir}/schema/json</sourceDirectory>
|
|
<targetPackage>com.github.polpetta.types.json</targetPackage>
|
|
<outputDirectory>${basedir}/src/gen/java</outputDirectory>
|
|
<sourceType>jsonschema</sourceType>
|
|
<usePrimitives>true</usePrimitives>
|
|
<generateBuilders>true</generateBuilders>
|
|
<useInnerClassBuilders>true</useInnerClassBuilders>
|
|
<useLongIntegers>true</useLongIntegers>
|
|
<useDoubleNumbers>true</useDoubleNumbers>
|
|
<includeHashcodeAndEquals>true</includeHashcodeAndEquals>
|
|
<includeToString>true</includeToString>
|
|
<annotationStyle>jackson2</annotationStyle>
|
|
<includeJsr303Annotations>true</includeJsr303Annotations>
|
|
<includeJsr305Annotations>true</includeJsr305Annotations>
|
|
<useOptionalForGetters>true</useOptionalForGetters>
|
|
<removeOldOutput>true</removeOldOutput>
|
|
<initializeCollections>true</initializeCollections>
|
|
</configuration>
|
|
<executions>
|
|
<execution>
|
|
<goals>
|
|
<goal>generate</goal>
|
|
</goals>
|
|
</execution>
|
|
</executions>
|
|
</plugin>
|
|
<plugin>
|
|
<artifactId>maven-compiler-plugin</artifactId>
|
|
<version>3.6.2</version>
|
|
<configuration>
|
|
<compilerArgs>
|
|
<arg>-parameters</arg>
|
|
</compilerArgs>
|
|
<annotationProcessorPaths>
|
|
<path>
|
|
<groupId>io.jooby</groupId>
|
|
<artifactId>jooby-apt</artifactId>
|
|
<version>2.16.2</version>
|
|
</path>
|
|
<path>
|
|
<groupId>io.ebean</groupId>
|
|
<artifactId>querybean-generator</artifactId>
|
|
<version>${ebean.version}</version>
|
|
</path>
|
|
</annotationProcessorPaths>
|
|
</configuration>
|
|
</plugin>
|
|
<plugin>
|
|
<groupId>io.jooby</groupId>
|
|
<artifactId>jooby-maven-plugin</artifactId>
|
|
<version>2.16.2</version>
|
|
<executions>
|
|
<execution>
|
|
<goals>
|
|
<goal>openapi</goal>
|
|
</goals>
|
|
</execution>
|
|
</executions>
|
|
</plugin>
|
|
<plugin>
|
|
<artifactId>maven-surefire-plugin</artifactId>
|
|
<version>2.22.2</version>
|
|
</plugin>
|
|
<!-- Build uber jar-->
|
|
<plugin>
|
|
<artifactId>maven-shade-plugin</artifactId>
|
|
<version>3.4.1</version>
|
|
<executions>
|
|
<execution>
|
|
<id>uber-jar</id>
|
|
<phase>package</phase>
|
|
<goals>
|
|
<goal>shade</goal>
|
|
</goals>
|
|
<configuration>
|
|
<minimizeJar>false</minimizeJar>
|
|
<createDependencyReducedPom>false</createDependencyReducedPom>
|
|
<transformers>
|
|
<transformer
|
|
implementation="org.apache.maven.plugins.shade.resource.ServicesResourceTransformer"/>
|
|
<transformer
|
|
implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
|
|
<mainClass>${application.class}</mainClass>
|
|
</transformer>
|
|
</transformers>
|
|
</configuration>
|
|
</execution>
|
|
</executions>
|
|
</plugin>
|
|
<plugin>
|
|
<groupId>io.repaint.maven</groupId>
|
|
<artifactId>tiles-maven-plugin</artifactId>
|
|
<version>2.24</version>
|
|
<extensions>true</extensions>
|
|
<configuration>
|
|
<tiles>
|
|
<tile>io.jooby:jooby-stork:2.16.2</tile>
|
|
<tile>io.ebean.tile:enhancement:${ebean.version}</tile>
|
|
</tiles>
|
|
</configuration>
|
|
</plugin>
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-jar-plugin</artifactId>
|
|
<version>3.3.0</version>
|
|
<configuration>
|
|
<archive>
|
|
<manifest>
|
|
<addDefaultImplementationEntries>true</addDefaultImplementationEntries>
|
|
<addDefaultSpecificationEntries>true</addDefaultSpecificationEntries>
|
|
</manifest>
|
|
</archive>
|
|
</configuration>
|
|
</plugin>
|
|
|
|
</plugins>
|
|
</build>
|
|
|
|
<dependencyManagement>
|
|
<dependencies>
|
|
<dependency>
|
|
<groupId>io.jooby</groupId>
|
|
<artifactId>jooby-bom</artifactId>
|
|
<version>${jooby.version}</version>
|
|
<type>pom</type>
|
|
<scope>import</scope>
|
|
</dependency>
|
|
</dependencies>
|
|
</dependencyManagement>
|
|
|
|
</project>
|