322 lines
9.8 KiB
XML
322 lines
9.8 KiB
XML
<?xml version="1.0" encoding="UTF-8"?>
|
|
<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"
|
|
xmlns="http://maven.apache.org/POM/4.0.0"
|
|
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
|
|
<modelVersion>4.0.0</modelVersion>
|
|
|
|
<groupId>dev.lions</groupId>
|
|
<artifactId>lionsdev-client-impl-quarkus</artifactId>
|
|
<version>1.0.0-SNAPSHOT</version>
|
|
<name>Lions Dev - Application Client Quarkus</name>
|
|
<description>Application client implémentant les services de Lions Dev avec Quarkus</description>
|
|
|
|
<properties>
|
|
<!-- Versions -->
|
|
<compiler-plugin.version>3.13.0</compiler-plugin.version>
|
|
<maven.compiler.release>17</maven.compiler.release>
|
|
<myfaces.version>4.0.1</myfaces.version>
|
|
<primefaces.version>13.0.5</primefaces.version>
|
|
<quarkus.platform.version>3.7.3</quarkus.platform.version>
|
|
<lombok.version>1.18.32</lombok.version>
|
|
<jackson.version>2.17.0</jackson.version>
|
|
<elasticsearch.version>8.12.2</elasticsearch.version>
|
|
<guava.version>33.0.0-jre</guava.version>
|
|
<jakarta.mail.version>2.1.3</jakarta.mail.version>
|
|
|
|
<!-- Configuration du projet -->
|
|
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
|
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
|
|
<quarkus.platform.artifact-id>quarkus-bom</quarkus.platform.artifact-id>
|
|
<quarkus.platform.group-id>io.quarkus.platform</quarkus.platform.group-id>
|
|
|
|
<!-- Tests -->
|
|
<skipITs>true</skipITs>
|
|
<surefire-plugin.version>3.2.5</surefire-plugin.version>
|
|
<jacoco.version>0.8.11</jacoco.version>
|
|
<sonar.version>3.10.0.2594</sonar.version>
|
|
|
|
<!-- Qualité du code -->
|
|
<sonar.host.url>http://localhost:9000</sonar.host.url>
|
|
<sonar.java.source>17</sonar.java.source>
|
|
<sonar.coverage.exclusions>
|
|
**/models/**,
|
|
**/exceptions/**
|
|
</sonar.coverage.exclusions>
|
|
</properties>
|
|
|
|
<dependencyManagement>
|
|
<dependencies>
|
|
<dependency>
|
|
<groupId>${quarkus.platform.group-id}</groupId>
|
|
<artifactId>${quarkus.platform.artifact-id}</artifactId>
|
|
<version>${quarkus.platform.version}</version>
|
|
<type>pom</type>
|
|
<scope>import</scope>
|
|
</dependency>
|
|
</dependencies>
|
|
</dependencyManagement>
|
|
|
|
<dependencies>
|
|
<!-- Quarkus Core -->
|
|
<dependency>
|
|
<groupId>io.quarkus</groupId>
|
|
<artifactId>quarkus-core</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>io.quarkus</groupId>
|
|
<artifactId>quarkus-arc</artifactId>
|
|
</dependency>
|
|
|
|
<!-- Web & UI -->
|
|
<dependency>
|
|
<groupId>io.quarkus</groupId>
|
|
<artifactId>quarkus-undertow</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.apache.myfaces.core</groupId>
|
|
<artifactId>myfaces-api</artifactId>
|
|
<version>${myfaces.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.apache.myfaces.core</groupId>
|
|
<artifactId>myfaces-impl</artifactId>
|
|
<version>${myfaces.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>io.quarkiverse.primefaces</groupId>
|
|
<artifactId>quarkus-primefaces</artifactId>
|
|
<version>3.14.0</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.apache.myfaces.core.extensions.quarkus</groupId>
|
|
<artifactId>myfaces-quarkus</artifactId>
|
|
<version>4.0.1</version>
|
|
</dependency>
|
|
|
|
<!-- Persistence -->
|
|
<dependency>
|
|
<groupId>io.quarkus</groupId>
|
|
<artifactId>quarkus-hibernate-orm</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>io.quarkus</groupId>
|
|
<artifactId>quarkus-hibernate-validator</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>io.quarkus</groupId>
|
|
<artifactId>quarkus-jdbc-postgresql</artifactId>
|
|
</dependency>
|
|
|
|
<!-- Cache & Performance -->
|
|
<dependency>
|
|
<groupId>io.quarkus</groupId>
|
|
<artifactId>quarkus-cache</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>com.google.guava</groupId>
|
|
<artifactId>guava</artifactId>
|
|
<version>${guava.version}</version>
|
|
</dependency>
|
|
|
|
<!-- Messaging & Communication -->
|
|
<dependency>
|
|
<groupId>io.quarkus</groupId>
|
|
<artifactId>quarkus-mailer</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>io.quarkus</groupId>
|
|
<artifactId>quarkus-websockets</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>jakarta.mail</groupId>
|
|
<artifactId>jakarta.mail-api</artifactId>
|
|
<version>${jakarta.mail.version}</version>
|
|
</dependency>
|
|
|
|
<!-- Elasticsearch -->
|
|
<dependency>
|
|
<groupId>io.quarkus</groupId>
|
|
<artifactId>quarkus-elasticsearch-rest-client</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>co.elastic.clients</groupId>
|
|
<artifactId>elasticsearch-java</artifactId>
|
|
<version>${elasticsearch.version}</version>
|
|
</dependency>
|
|
|
|
<!-- Utilitaires -->
|
|
<dependency>
|
|
<groupId>org.projectlombok</groupId>
|
|
<artifactId>lombok</artifactId>
|
|
<version>${lombok.version}</version>
|
|
<scope>provided</scope>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>com.fasterxml.jackson.core</groupId>
|
|
<artifactId>jackson-databind</artifactId>
|
|
<version>${jackson.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>com.fasterxml.jackson.datatype</groupId>
|
|
<artifactId>jackson-datatype-jsr310</artifactId>
|
|
<version>${jackson.version}</version>
|
|
</dependency>
|
|
|
|
<!-- Monitoring & API -->
|
|
<dependency>
|
|
<groupId>io.quarkus</groupId>
|
|
<artifactId>quarkus-smallrye-health</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>io.quarkus</groupId>
|
|
<artifactId>quarkus-smallrye-openapi</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>io.quarkus</groupId>
|
|
<artifactId>quarkus-swagger-ui</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>io.quarkus</groupId>
|
|
<artifactId>quarkus-micrometer</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>io.quarkus</groupId>
|
|
<artifactId>quarkus-micrometer-registry-prometheus</artifactId>
|
|
</dependency>
|
|
|
|
<!-- Tests -->
|
|
<dependency>
|
|
<groupId>io.quarkus</groupId>
|
|
<artifactId>quarkus-junit5</artifactId>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>io.rest-assured</groupId>
|
|
<artifactId>rest-assured</artifactId>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.mockito</groupId>
|
|
<artifactId>mockito-core</artifactId>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>io.quarkus</groupId>
|
|
<artifactId>quarkus-vertx-http</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>io.quarkus</groupId>
|
|
<artifactId>quarkus-resteasy-reactive</artifactId>
|
|
</dependency>
|
|
<!-- Sécurité -->
|
|
<dependency>
|
|
<groupId>io.quarkus</groupId>
|
|
<artifactId>quarkus-elytron-security-properties-file</artifactId>
|
|
</dependency>
|
|
</dependencies>
|
|
|
|
<build>
|
|
<plugins>
|
|
<!-- Plugin Quarkus -->
|
|
<plugin>
|
|
<groupId>${quarkus.platform.group-id}</groupId>
|
|
<artifactId>quarkus-maven-plugin</artifactId>
|
|
<version>${quarkus.platform.version}</version>
|
|
<extensions>true</extensions>
|
|
<executions>
|
|
<execution>
|
|
<goals>
|
|
<goal>build</goal>
|
|
<goal>generate-code</goal>
|
|
<goal>generate-code-tests</goal>
|
|
</goals>
|
|
</execution>
|
|
</executions>
|
|
</plugin>
|
|
|
|
<!-- Compilation Java -->
|
|
<plugin>
|
|
<artifactId>maven-compiler-plugin</artifactId>
|
|
<version>${compiler-plugin.version}</version>
|
|
<configuration>
|
|
<parameters>true</parameters>
|
|
<annotationProcessorPaths>
|
|
<path>
|
|
<groupId>org.projectlombok</groupId>
|
|
<artifactId>lombok</artifactId>
|
|
<version>${lombok.version}</version>
|
|
</path>
|
|
</annotationProcessorPaths>
|
|
</configuration>
|
|
</plugin>
|
|
|
|
<!-- Tests unitaires -->
|
|
<plugin>
|
|
<artifactId>maven-surefire-plugin</artifactId>
|
|
<version>${surefire-plugin.version}</version>
|
|
<configuration>
|
|
<systemPropertyVariables>
|
|
<java.util.logging.manager>org.jboss.logmanager.LogManager</java.util.logging.manager>
|
|
<maven.home>${maven.home}</maven.home>
|
|
</systemPropertyVariables>
|
|
</configuration>
|
|
</plugin>
|
|
|
|
<!-- Couverture de code -->
|
|
<plugin>
|
|
<groupId>org.jacoco</groupId>
|
|
<artifactId>jacoco-maven-plugin</artifactId>
|
|
<version>${jacoco.version}</version>
|
|
<executions>
|
|
<execution>
|
|
<goals>
|
|
<goal>prepare-agent</goal>
|
|
</goals>
|
|
</execution>
|
|
<execution>
|
|
<id>report</id>
|
|
<phase>test</phase>
|
|
<goals>
|
|
<goal>report</goal>
|
|
</goals>
|
|
</execution>
|
|
</executions>
|
|
</plugin>
|
|
|
|
<!-- Analyse qualité -->
|
|
<plugin>
|
|
<groupId>org.sonarsource.scanner.maven</groupId>
|
|
<artifactId>sonar-maven-plugin</artifactId>
|
|
<version>${sonar.version}</version>
|
|
</plugin>
|
|
</plugins>
|
|
</build>
|
|
|
|
<profiles>
|
|
<profile>
|
|
<id>native</id>
|
|
<activation>
|
|
<property>
|
|
<name>native</name>
|
|
</property>
|
|
</activation>
|
|
<properties>
|
|
<skipITs>false</skipITs>
|
|
<quarkus.package.type>native</quarkus.package.type>
|
|
</properties>
|
|
</profile>
|
|
<profile>
|
|
<id>development</id>
|
|
<properties>
|
|
<quarkus.package.type>jar</quarkus.package.type>
|
|
</properties>
|
|
</profile>
|
|
<profile>
|
|
<id>production</id>
|
|
<properties>
|
|
<quarkus.package.type>jar</quarkus.package.type>
|
|
<quarkus.package.uber-jar>true</quarkus.package.uber-jar>
|
|
</properties>
|
|
</profile>
|
|
</profiles>
|
|
</project> |