<?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>fr.gouv.vitam</groupId>
    <artifactId>parent</artifactId>
    <version>8.0.3</version>
    <packaging>pom</packaging>
    <name>vitam-parent</name>
    <description>${project.artifactId}</description>

    <organization>
        <name>Vitam</name>
    </organization>

    <prerequisites>
        <maven>3.8.7</maven>
    </prerequisites>

    <licenses>
        <license>
            <name>CeCILL 2.1</name>
            <url>https://cecill.info/</url>
        </license>
    </licenses>


    <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
    <!-- Modules -->
    <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->

    <modules>
        <module>common</module>
        <module>access</module>
        <module>ingest</module>
        <module>processing</module>
        <module>worker</module>
        <module>logbook</module>
        <module>workspace</module>
        <module>storage</module>
        <module>metadata</module>
        <module>functional-administration</module>
        <module>technical-administration</module>
        <module>ihm-demo</module>
        <module>integration-test</module>
        <module>ihm-recette</module>
        <module>storage-integration-test</module>
        <module>storage-integration-nossl-test</module>
        <module>storage-integration-multi-offers</module>
        <module>storage-integration-tape-library-test</module>
        <module>functional-test</module>
        <module>internal-security</module>
        <module>elastic-kibana-interceptor</module>
        <module>batch-report</module>
        <module>collect</module>
        <module>scheduler</module>
        <!-- Last module should not build a debian/rpm artefact, otherwise packaging does not deploy them to the remote repository -->
        <module>hello-world-plugin</module>
    </modules>


    <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
    <!-- Définition des SCM, ciManagement -->
    <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->

    <!-- Définition de l'url du gestionnaire de source à utiliser -->
    <scm>
        <connection>scm:git:https://gitlab.dev.programmevitam.fr/vitam/vitam.git</connection>
        <developerConnection>scm:git:https://gitlab.dev.programmevitam.fr/vitam/vitam.git</developerConnection>
        <url>https://gitlab.dev.programmevitam.fr/vitam/vitam.git</url>
        <tag>HEAD</tag>
    </scm>

    <!-- Définition de l'url de l'intégration continue du projet -->
    <ciManagement>
        <system>jenkins</system>
        <url>https://jenkins.dev.programmevitam.fr</url>
    </ciManagement>


    <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
    <!-- Définition des properties -->
    <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
    <properties>
        <!-- Global Properties -->
        <private.java.version>17</private.java.version>
        <public.java.version>11</public.java.version>


        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>

        <!-- JDK version -->
        <jdk.version.rpm>java-17-openjdk-headless</jdk.version.rpm>
        <jdk.version.debian>openjdk-17-jre-headless</jdk.version.debian>

        <!-- Build environment Properties -->
        <project.scm.id>vitam-gitlab</project.scm.id>

        <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
        <!-- Sonar properties -->
        <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
        <sonar.core.codeCoveragePlugin>jacoco</sonar.core.codeCoveragePlugin>
        <!-- <sonar.profile>MonPetitProfil</sonar.profile> -->
        <!-- <sonar.branch>1.0</sonar.branch> -->
        <!-- <sonar.jacoco.reportPath>${project.build.directory}/jacoco-unit.exec</sonar.jacoco.reportPath> -->
        <!-- <sonar.jacoco.itReportPath>${project.build.directory}/jacoco-it.exec</sonar.jacoco.itReportPath> -->
        <!-- <sonar.jaccommons-iooco.includes></sonar.jacoco.includes> -->
        <!-- <sonar.jacoco.excludes></sonar.jacoco.excludes> -->

        <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
        <!-- Dependencies versions -->
        <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->

        <!-- maven plugins-->
        <maven.rpm-maven-plugin.version>2.3.0</maven.rpm-maven-plugin.version>
        <maven.clean.version>3.3.2</maven.clean.version>
        <maven.compiler.version>3.13.0</maven.compiler.version>
        <maven.deploy.version>3.1.1</maven.deploy.version>
        <maven.resources.version>3.3.1</maven.resources.version>
        <maven.source.version>3.3.0</maven.source.version>
        <maven.dependency.version>3.6.1</maven.dependency.version>
        <maven.site.version>3.12.1</maven.site.version>
        <maven.assembly.version>3.7.1</maven.assembly.version>
        <maven.exec.version>3.2.0</maven.exec.version>
        <maven.failsafe.version>3.2.5</maven.failsafe.version>
        <maven.javadoc.version>3.6.3</maven.javadoc.version>
        <maven.exec.version>3.2.0</maven.exec.version>
        <maven.dependencycheck.version>12.1.9</maven.dependencycheck.version>
        <git-commit-id-plugin.version>4.9.10</git-commit-id-plugin.version>
        <maven-antrun-plugin.version>3.1.0</maven-antrun-plugin.version>
        <license-maven-plugin.version>4.3</license-maven-plugin.version>
        <maven-install-plugin.version>3.1.1</maven-install-plugin.version>
        <maven-verifier-plugin.version>1.1</maven-verifier-plugin.version>
        <maven-enforcer-plugin.version>3.4.1</maven-enforcer-plugin.version>
        <maven-help-plugin.version>3.4.0</maven-help-plugin.version>
        <maven-release-plugin.version>3.0.1</maven-release-plugin.version>
        <sonar-maven-plugin.version>3.11.0.3922</sonar-maven-plugin.version>
        <versions-maven-plugin.version>2.16.2</versions-maven-plugin.version>
        <maven-scm-provider-jgit.version>2.0.1</maven-scm-provider-jgit.version>
        <maven-jar-plugin.version>3.3.0</maven-jar-plugin.version>
        <maven-scm-plugin.version>2.0.1</maven-scm-plugin.version>
        <spotless-maven-plugin.version>2.43.0</spotless-maven-plugin.version>
        <spotless-maven-plugin.prettier.version>3.2.4</spotless-maven-plugin.prettier.version>
        <spotless-maven-plugin.prettier-plugin-java.version>2.6.0</spotless-maven-plugin.prettier-plugin-java.version>

        <!-- tests -->
        <maven.surefire.version>3.2.5</maven.surefire.version>
        <jacoco-maven-plugin.version>0.8.11</jacoco-maven-plugin.version>
        <mockito.version>4.11.0</mockito.version>
        <junit.version>4.13.2</junit.version>
        <json-unit-version>2.38.0</json-unit-version>
        <testcontainers.version>1.19.7</testcontainers.version>
        <nginx.container.version>nginx:1.25.4</nginx.container.version>
        <httpd.container.version>httpd:2.4.58</httpd.container.version>
        <archunit.version>1.3.0</archunit.version>

        <!-- database libraries -->
        <elasticsearch.version>8.14.3</elasticsearch.version>
        <mongo.version>4.6.1</mongo.version>

        <!-- object storing-->
        <jclouds.version>2.5.0</jclouds.version>
        <openstack4j.version>3.11</openstack4j.version>
        <awssdk.v1.version>1.12.690</awssdk.v1.version>

        <!-- jetty -->
        <jetty.version>10.0.20</jetty.version>

        <!-- Metrics -->
        <prometheus-version>0.16.0</prometheus-version>
        <jclouds-slf4j.version>2.5.0</jclouds-slf4j.version>
        <skipITs>false</skipITs>

        <!-- vitam specific -->
        <unix.user>vitam</unix.user>
        <unix.group>vitam</unix.group>

        <!-- node -->
        <nodeDownloadRoot/>

        <!-- other -->
        <slf4j.version>2.0.12</slf4j.version>
        <logback.version>1.3.14</logback.version>
        <resteasy.client.version>5.0.9.Final</resteasy.client.version>
        <resteasy.core.version>5.0.9.Final</resteasy.core.version>
        <javax.ws.rs.version>2.1.1</javax.ws.rs.version>
        <thaiopensource.version>20220510</thaiopensource.version>
        <guava.version>33.1.0-jre</guava.version>
        <log4j2.version>2.17.1</log4j2.version>
        <commons-logging.version>1.3.1</commons-logging.version>
        <commons-io.version>2.17.0</commons-io.version>
        <commons-lang3>3.14.0</commons-lang3>
        <commons-text>1.11.0</commons-text>
        <jackson.version>2.17.0</jackson.version>
        <apache-shiro.version>1.13.0</apache-shiro.version>
        <assertj.version>3.25.3</assertj.version>
        <rest-assured.version>5.4.0</rest-assured.version>
        <staxon.version>1.3</staxon.version>
        <org.json.version>20240303</org.json.version>
        <javax.servlet.version>4.0.1</javax.servlet.version>
        <json-sanitize.version>1.2.2</json-sanitize.version>
        <commons-collections4.version>4.4</commons-collections4.version>
        <esapi.version>2.5.3.1</esapi.version>
        <!-- removed to support xerces with 1.1 support <xerces.version>2.11.0</xerces.version> -->
        <xerces-xsd11.version>2.12-beta-r1667115</xerces-xsd11.version>
        <xml-resolver.version>1.2</xml-resolver.version>
        <opencsv.version>5.9</opencsv.version>
        <commons-csv.version>1.10.0</commons-csv.version>
        <bouncycastle.version>1.78.1</bouncycastle.version>
        <diffutils.version>1.3.0</diffutils.version>
        <json-flattener.version>0.16.6</json-flattener.version>
        <jaxb2.version>1.1.0</jaxb2.version>
        <jaxb.version>2.3.9</jaxb.version>
        <httpclient.version>4.5.14</httpclient.version>
        <commons-compress.version>1.27.1</commons-compress.version>
        <zjsonpatch.version>0.4.16</zjsonpatch.version>
        <!-- Json Validation -->
        <json-schema-validator.version>2.2.14</json-schema-validator.version>
        <javax-validation.version>2.0.1.Final</javax-validation.version>
        <hibernate-validator.version>6.2.5.Final</hibernate-validator.version>
        <org.glassfish.web.version>3.0.1-b12</org.glassfish.web.version>
        <javax.el-api.version>3.0.1-b06</javax.el-api.version>
        <retrofit2.version>2.11.0</retrofit2.version>
        <org.xmlunit.version>2.9.1</org.xmlunit.version>
        <com.github.tomakehurst.version>3.0.1</com.github.tomakehurst.version>
        <cucumber.version>7.16.1</cucumber.version>
        <batik-css.version>1.17</batik-css.version>
        <antisamy.version>1.7.5</antisamy.version>
        <jdeb.vafer.version>1.10</jdeb.vafer.version>
        <maven.jaxb2.version>0.15.3</maven.jaxb2.version>
        <jaxb2-basics.version>1.11.1</jaxb2-basics.version>
        <swagger-maven-plugin.version>2.2.20</swagger-maven-plugin.version>
        <javax.ws.rs-api.version>2.1.1</javax.ws.rs-api.version>
        <Saxon-HE.version>12.4</Saxon-HE.version>
        <quartz.version>2.4.0</quartz.version>
        <h2.version>2.4.240</h2.version>
        <postgresql.version>42.7.10</postgresql.version>
        <flyway.version>12.0.2</flyway.version>
        <flyway-postgresql.version>12.0.2</flyway-postgresql.version>
        <hikaricp>7.0.2</hikaricp>
        <jta.version>1.1</jta.version>
        <jib.skip>true</jib.skip>
    </properties>


    <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
    <!-- Définition des profils de build -->
    <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->

    <profiles>
        <profile>
            <!-- Profile to use for all Vitam internal developers -->
            <id>vitam</id>
            <activation>
                <activeByDefault>true</activeByDefault>
            </activation>
            <!-- Dépôts Maven privés -->
            <distributionManagement>
                <repository>
                    <id>releases</id>
                    <url>${env.SERVICE_NEXUS_URL}/repository/maven-releases/</url>
                </repository>
                <snapshotRepository>
                    <id>snapshots</id>
                    <url>${env.SERVICE_NEXUS_URL}/repository/maven-snapshots/</url>
                </snapshotRepository>
            </distributionManagement>


            <repositories>
                <repository>
                    <id>vitam</id>
                    <url>${env.SERVICE_NEXUS_URL}/repository/maven-public/</url>
                </repository>
            </repositories>

            <!-- Maven plugins repositories -->
            <pluginRepositories>
                <pluginRepository>
                    <id>vitam</id>
                    <url>${env.SERVICE_NEXUS_URL}/repository/maven-public/</url>
                    <releases>
                        <enabled>true</enabled>
                    </releases>
                    <snapshots>
                        <enabled>false</enabled>
                    </snapshots>
                </pluginRepository>
            </pluginRepositories>

            <properties>
                <nodeDownloadRoot>${env.SERVICE_NEXUS_URL}/repository/node-distrib/
                </nodeDownloadRoot>
            </properties>

        </profile>
    </profiles>


    <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
    <!-- Définition des plugins -->
    <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->

    <build>
        <pluginManagement>
            <plugins>
                <plugin>
                    <groupId>com.google.cloud.tools</groupId>
                    <artifactId>jib-maven-plugin</artifactId>
                    <version>3.4.0</version>
                    <configuration>
                        <from>
                            <image>gcr.io/distroless/java17</image>
                        </from>
                        <allowInsecureRegistries>true</allowInsecureRegistries>
                        <container>
                            <labels>
                                <git.commit.id>${git.commit.id}</git.commit.id>
                                <mvn.build.version>${project.version}</mvn.build.version>
                            </labels>
                        </container>
                    </configuration>
                   <executions>
                        <execution>
                        <phase>package</phase>
                        <goals>
                            <goal>build</goal>
                        </goals>
                    </execution>
                    </executions>
                </plugin>
                <plugin>
                    <groupId>com.github.eirslett</groupId>
                    <artifactId>frontend-maven-plugin</artifactId>
                    <!-- NB! Set <version> to the latest released version of frontend-maven-plugin, like in README.md -->
                    <version>${frontend-maven-plugin.version}</version>
                </plugin>
                <plugin>
                    <groupId>org.codehaus.mojo</groupId>
                    <artifactId>build-helper-maven-plugin</artifactId>
                    <version>${build-helper-maven-plugin.version}</version>
                </plugin>
                <plugin>
                    <groupId>com.mycila</groupId>
                    <artifactId>license-maven-plugin</artifactId>
                    <version>${license-maven-plugin.version}</version>
                    <configuration>
                        <excludes>
                            <exclude>pom.xml</exclude>
                            <exclude>**/*.rst</exclude>
                            <exclude>**/*.html</exclude>
                            <exclude>**/*.ts</exclude>
                            <exclude>**/*.js</exclude>
                            <exclude>**/*.py</exclude>
                            <exclude>**/*.css</exclude>
                            <exclude>**/*.sh</exclude>
                            <exclude>**/*.xml</exclude>
                            <exclude>**/README</exclude>
                            <exclude>src/test/resources/**</exclude>
                            <exclude>src/test/resources-filtered/**</exclude>
                            <exclude>src/main/resources/**</exclude>
                        </excludes>
                        <mapping>
                            <java>SLASHSTAR_STYLE</java>
                        </mapping>
                    </configuration>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-assembly-plugin</artifactId>
                    <version>${maven.assembly.version}</version>
                </plugin>
                <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
                <!-- Main Maven plugins, see http://maven.apache.org/plugins/index.html -->
                <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->

                <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
                <!-- Core plugins : Plugins corresponding to default core phases (ie.
                    clean, compile). They may have multiple goals as well. -->
                <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
                <plugin>
                    <!-- Clean up after the build. -->
                    <artifactId>maven-clean-plugin</artifactId>
                    <version>${maven.clean.version}</version>
                </plugin>
                <plugin>
                    <!-- Compiles Java sources. -->
                    <artifactId>maven-compiler-plugin</artifactId>
                    <version>${maven.compiler.version}</version>
                    <configuration>
                        <source>${private.java.version}</source>
                        <target>${private.java.version}</target>
                        <release>${private.java.version}</release>
                        <encoding>${project.build.sourceEncoding}</encoding>
                    </configuration>
                </plugin>
                <plugin>
                    <!-- Deploy the built artifact to the remote repository. -->
                    <artifactId>maven-deploy-plugin</artifactId>
                    <version>${maven.deploy.version}</version>
                </plugin>
                <plugin>
                    <!-- Run the Junit integration tests in an isolated classloader. -->
                    <artifactId>maven-failsafe-plugin</artifactId>
                    <version>${maven.failsafe.version}</version>
                    <executions>
                        <execution>
                            <id>integration-test</id>
                            <goals>
                                <goal>integration-test</goal>
                                <goal>verify</goal>
                            </goals>
                        </execution>
                    </executions>
                </plugin>
                <plugin>
                    <!-- Install the built artifact into the local repository. -->
                    <artifactId>maven-install-plugin</artifactId>
                    <version>${maven-install-plugin.version}</version>
                </plugin>
                <plugin>
                    <!-- Copy the resources to the output directory for including in the
                        JAR. -->
                    <artifactId>maven-resources-plugin</artifactId>
                    <version>${maven.resources.version}</version>
                    <configuration>
                        <encoding>${project.build.sourceEncoding}</encoding>
                    </configuration>
                </plugin>
                <plugin>
                    <!-- Generate a site for the current project. -->
                    <artifactId>maven-site-plugin</artifactId>
                    <version>${maven.site.version}</version>
                </plugin>
                <plugin>
                    <!-- Code coverage agent -->
                    <groupId>org.jacoco</groupId>
                    <artifactId>jacoco-maven-plugin</artifactId>
                    <version>${jacoco-maven-plugin.version}</version>
                    <executions>
                        <execution>
                            <id>jacoco-prepare-agent</id>
                            <goals>
                                <goal>prepare-agent</goal>
                            </goals>
                            <configuration>
                                <propertyName>coverageAgent</propertyName>
                            </configuration>
                        </execution>
                        <execution>
                            <id>report</id>
                            <phase>prepare-package</phase>
                            <goals>
                                <goal>report</goal>
                            </goals>
                        </execution>
                    </executions>
                </plugin>
                <plugin>
                    <!-- Run the Junit unit tests in an isolated classloader. -->
                    <artifactId>maven-surefire-plugin</artifactId>
                    <version>${maven.surefire.version}</version>
                    <configuration>
                        <argLine>-XX:+HeapDumpOnOutOfMemoryError -Xmx4092m -Dvitam.tmp.folder=/tmp ${coverageAgent}
                        </argLine>
                        <runOrder>alphabetical</runOrder>
                        <!-- Non Parallel mode -->
                        <parallel>classes</parallel>
                        <threadCount>1</threadCount>
                        <perCoreThreadCount>false</perCoreThreadCount>
                        <forkCount>1</forkCount>
                        <reuseForks>true</reuseForks>
                        <trimStackTrace>false</trimStackTrace>
                        <systemPropertyVariables>
                            <log4j.configurationFile>
                                ${project.basedir}/common/common-private/src/test/resources/log4j2-test.xml
                            </log4j.configurationFile>
                            <nginxContainerVersion>${nginx.container.version}</nginxContainerVersion>
                            <httpdContainerVersion>${httpd.container.version}</httpdContainerVersion>
                        </systemPropertyVariables>
                        <classpathDependencyExcludes>
                            <classpathDependencyExclude>org.apache.logging.log4j:log4j-to-slf4j
                            </classpathDependencyExclude>
                        </classpathDependencyExcludes>
                    </configuration>
                    <executions>
                        <execution>
                            <id>integration-test</id>
                            <goals>
                                <goal>test</goal>
                            </goals>
                            <phase>integration-test</phase>
                            <configuration>
                                <skip>${skipITs}</skip>
                                <excludes>
                                    <exclude>none</exclude>
                                </excludes>
                                <includes>
                                    <include>**/*IT.java</include>
                                </includes>
                            </configuration>
                        </execution>
                    </executions>
                </plugin>
                <plugin>
                    <!-- Useful for integration tests - verifies the existence of certain
                        conditions. -->
                    <artifactId>maven-verifier-plugin</artifactId>
                    <version>${maven-verifier-plugin.version}</version>
                </plugin>

                <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
                <!-- Packaging types / tools : These plugins relate to packaging respective
                    artifact types. -->
                <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
                <plugin>
                    <!-- Build a JAR from the current project. -->
                    <artifactId>maven-jar-plugin</artifactId>
                    <version>${maven-jar-plugin.version}</version>
                    <configuration>
                        <archive>
                            <manifestEntries>
                                <Vitam-component>true</Vitam-component>
                                <Maven-groupId>${project.groupId}</Maven-groupId>
                                <Maven-artefactId>${project.artifactId}</Maven-artefactId>
                                <Maven-version>${project.version}</Maven-version>
                                <Implementation-Version>${project.version}</Implementation-Version>
                                <Maven-build-timestamp>${maven.build.timestamp}</Maven-build-timestamp>
                                <Scm-tags>${git.tags}</Scm-tags>
                                <Scm-branch>${git.branch}</Scm-branch>
                                <Scm-dirty>${git.dirty}</Scm-dirty>
                                <Scm-commit-id>${git.commit.id}</Scm-commit-id>
                                <Scm-commit-id-abbrev>${git.commit.id.abbrev}</Scm-commit-id-abbrev>
                                <Scm-commit-time>${git.commit.time}</Scm-commit-time>
                                <!--<Scm-commit-id-describe>${git.commit.id.describe}</Scm-commit-id-describe>
                                    <Scm-closest-tag-name>${git.closest.tag.name}</Scm-closest-tag-name> <Scm-closest-tag-commit-count>${git.closest.tag.commit.count}</Scm-closest-tag-commit-count> -->
                                <!-- <Sealed>true</Sealed> -->
                            </manifestEntries>
                            <manifest>
                                <useUniqueVersions>false</useUniqueVersions>
                            </manifest>
                        </archive>
                    </configuration>
                </plugin>

                <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
                <!-- Reporting plugins : Plugins which generate reports, are configured
                    as reports in the POM and run under the site generation lifecycle. -->
                <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
                <plugin>
                    <!-- The Javadoc Plugin uses the Javadoc tool to generate javadocs for
                        the specified project. -->
                    <artifactId>maven-javadoc-plugin</artifactId>
                    <version>${maven.javadoc.version}</version>
                    <inherited>false</inherited>
                    <configuration>
                        <source>17</source>
                        <detectJavaApiLink>false</detectJavaApiLink>
                        <!-- <additionalparam>-Xdoclint:none</additionalparam> -->
                        <doclint>none</doclint>
                        <doctitle>Vitam API Reference (${project.version})</doctitle>
                        <windowtitle>Vitam API Reference (${project.version})</windowtitle>
                        <excludePackageNames>
                            fr.gouv.culture.archivesdefrance.seda.v2:org.w3._1999.xlink:org.glassfish.jersey.apache.connector:org.owasp.esapi.reference.validation
                        </excludePackageNames>
                        <overview>${basedir}/overview.html</overview>
                        <groups>
                            <group>
                                <title>Ihm Demo</title>
                                <packages>fr.gouv.vitam.ihmdemo.*</packages>
                            </group>
                            <group>
                                <title>Ihm Recette</title>
                                <packages>fr.gouv.vitam.ihmrecette.*</packages>
                            </group>
                            <group>
                                <title>Ingest External Client</title>
                                <packages>fr.gouv.vitam.ingest.external.client*</packages>
                            </group>
                            <group>
                                <title>Ingest</title>
                                <packages>fr.gouv.vitam.ingest.*</packages>
                            </group>
                            <group>
                                <title>Access External Client</title>
                                <packages>fr.gouv.vitam.access.external.client*</packages>
                            </group>
                            <group>
                                <title>Access</title>
                                <packages>fr.gouv.vitam.access.*</packages>
                            </group>
                            <group>
                                <title>Common</title>
                                <packages>fr.gouv.vitam.common.*:fr.gouv.vitam.common</packages>
                            </group>
                            <group>
                                <title>Functional administration</title>
                                <packages>fr.gouv.vitam.functional.administration.*</packages>
                            </group>
                            <group>
                                <title>Logbook</title>
                                <packages>fr.gouv.vitam.logbook.*</packages>
                            </group>
                            <group>
                                <title>Metadata</title>
                                <packages>fr.gouv.vitam.metadata.*</packages>
                            </group>
                            <group>
                                <title>Processing</title>
                                <packages>fr.gouv.vitam.processing.*</packages>
                            </group>
                            <group>
                                <title>Storage Driver / Offer</title>
                                <packages>
                                    fr.gouv.vitam.storage.driver.*:fr.gouv.vitam.storage.driver:fr.gouv.vitam.storage.offers.*:fr.gouv.vitam.driver.*
                                </packages>
                            </group>
                            <group>
                                <title>Storage Engine</title>
                                <packages>fr.gouv.vitam.storage.engine.*</packages>
                            </group>
                            <group>
                                <title>Worker</title>
                                <packages>fr.gouv.vitam.worker.*</packages>
                            </group>
                            <group>
                                <title>Workspace</title>
                                <packages>fr.gouv.vitam.workspace.*</packages>
                            </group>
                            <group>
                                <title>Batch report</title>
                                <packages>fr.gouv.vitam.batchreport.*</packages>
                            </group>
                            <group>
                                <title>Security internal</title>
                                <packages>fr.gouv.vitam.internal-security.*</packages>
                            </group>
                            <group>
                                <title>Elastic kibana interceptor</title>
                                <packages>fr.gouv.vitam.elastic-kibana-interceptor.*</packages>
                            </group>
                        </groups>
                    </configuration>
                </plugin>
                <plugin>
                    <!-- The Surefire Report Plugin parses the generated TEST-*.xml files
                        under ${basedir}/target/surefire-reports and renders them to DOXIA which
                        creates the web interface version of the test results. -->
                    <artifactId>maven-surefire-report-plugin</artifactId>
                    <!-- <version>2.19.1</version> -->
                    <version>${maven.surefire.version}</version>
                </plugin>
                <plugin>
                    <!-- Security check for dependencies -->
                    <groupId>org.owasp</groupId>
                    <artifactId>dependency-check-maven</artifactId>
                    <version>${maven.dependencycheck.version}</version>
                    <configuration>
                        <assemblyAnalyzerEnabled>false</assemblyAnalyzerEnabled>
                        <msbuildAnalyzerEnabled>false</msbuildAnalyzerEnabled>
                        <retireJsAnalyzerEnabled>false</retireJsAnalyzerEnabled>
                        <nuspecAnalyzerEnabled>false</nuspecAnalyzerEnabled>
                        <failOnError>false</failOnError>
                    </configuration>

                    <executions>
                        <execution>
                            <goals>
                                <goal>check</goal>
                            </goals>
                        </execution>
                    </executions>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-dependency-plugin</artifactId>
                    <version>${maven.dependency.version}</version>
                    <configuration>
                        <failOnWarning>false</failOnWarning>
                        <ignoreNonCompile>false</ignoreNonCompile>

                        <!-- ignore jsr305 for both "used but undeclared" and "declared but unused" -->
                        <ignoredDependencies>
                            <ignoredDependency>com.google.code.findbugs:jsr305</ignoredDependency>
                        </ignoredDependencies>

                        <!-- ignore annotations for "used but undeclared" warnings -->
                        <ignoredUsedUndeclaredDependencies>
                            <ignoredUsedUndeclaredDependency>com.google.code.findbugs:annotations
                            </ignoredUsedUndeclaredDependency>
                        </ignoredUsedUndeclaredDependencies>

                        <!-- ignore annotations for "unused but declared" warnings -->
                        <ignoredUnusedDeclaredDependencies>
                            <ignoredUsedUndeclaredDependency>org.slf4j:jcl-over-slf4j
                            </ignoredUsedUndeclaredDependency>
                            <ignoredUsedUndeclaredDependency>org.slf4j:slf4j-log4j12
                            </ignoredUsedUndeclaredDependency>
                            <ignoredUnusedDeclaredDependency>org.glassfish.jaxb:jaxb-runtime
                            </ignoredUnusedDeclaredDependency>
                            <!-- if any others... -->
                            <ignoredUnusedDeclaredDependency>com.google.code.findbugs:annotations
                            </ignoredUnusedDeclaredDependency>
                        </ignoredUnusedDeclaredDependencies>
                    </configuration>
                </plugin>
                <plugin>
                    <!-- Environmental constraint checking (Maven Version, JDK etc), User
                        Custom Rule Execution. -->
                    <artifactId>maven-enforcer-plugin</artifactId>
                    <version>${maven-enforcer-plugin.version}</version>
                </plugin>
                <plugin>
                    <!-- Get information about the working environment for the project. -->
                    <artifactId>maven-help-plugin</artifactId>
                    <version>${maven-help-plugin.version}</version>
                </plugin>
                <plugin>
                    <!-- SCM plugin ; set as using jgit for git (essentially for the release
                        plugin) -->
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-scm-plugin</artifactId>
                    <version>${maven-scm-plugin.version}</version>
                    <configuration>
                        <providerImplementations>
                            <git>jgit</git>
                        </providerImplementations>
                    </configuration>
                    <dependencies>
                        <dependency>
                            <groupId>org.apache.maven.scm</groupId>
                            <artifactId>maven-scm-provider-jgit</artifactId>
                            <version>${maven-scm-plugin.version}</version>
                        </dependency>
                    </dependencies>
                </plugin>
                <plugin>
                    <!-- Release the current project - updating the POM and tagging in the
                        SCM. -->
                    <artifactId>maven-release-plugin</artifactId>
                    <version>${maven-release-plugin.version}</version>
                    <configuration>
                        <autoVersionSubmodules>true</autoVersionSubmodules>
                        <!-- Ask only once per SNAPSHOT artifact -->
                        <!--<forceUniqueArtifactVersion>true</forceUniqueArtifactVersion> -->
                        <!-- Don't ask if you want to resolve snapshots, do it -->
                        <!-- <alwaysResolveSnapshots>true</alwaysResolveSnapshots> -->
                        <!-- Don't ask which dependencies to resolve ( 0:All 1:Project Dependencies
                            2:Plugins 3:Reports 4:Extensions ) -->
                        <!--<alwaysResolveDependencyType>1</alwaysResolveDependencyType> -->
                        <providerImplementations>
                            <git>jgit</git>
                        </providerImplementations>
                    </configuration>
                    <dependencies>
                        <dependency>
                            <groupId>org.apache.maven.scm</groupId>
                            <artifactId>maven-scm-provider-jgit</artifactId>
                            <version>${maven-scm-provider-jgit.version}</version>
                        </dependency>
                    </dependencies>
                </plugin>
                <plugin>
                    <!-- Build a JAR of sources for use in IDEs and distribution to the
                        repository. -->
                    <artifactId>maven-source-plugin</artifactId>
                    <version>${maven.source.version}</version>
                </plugin>
                <plugin>
                    <!-- Maven/Sonarqube integration -->
                    <groupId>org.sonarsource.scanner.maven</groupId>
                    <artifactId>sonar-maven-plugin</artifactId>
                    <version>${sonar-maven-plugin.version}</version>
                </plugin>

                <plugin>
                    <!-- Debian packaging -->
                    <artifactId>jdeb</artifactId>
                    <groupId>org.vafer</groupId>
                    <version>${jdeb.vafer.version}</version>
                    <configuration>
                        <deb>${project.build.directory}/vitam-${unix.name}-${project.version}.deb</deb>
                        <snapshotExpand>true</snapshotExpand>
                        <skip>true</skip>
                        <controlDir>${project.build.directory}/control</controlDir>
                        <dataSet>

                            <!-- Artifacts -->
                            <data>
                                <src>${project.build.directory}/${project.build.finalName}.jar</src>
                                <type>file</type>
                                <mapper>
                                    <type>perm</type>
                                    <user>${unix.user}</user>
                                    <group>${unix.group}</group>
                                    <filemode>0644</filemode>
                                    <prefix>/vitam/lib/${unix.name}</prefix>
                                </mapper>
                            </data>

                            <data>
                                <src>${project.build.directory}/dependencies</src>
                                <type>directory</type>
                                <missingSrc>ignore</missingSrc>
                                <mapper>
                                    <type>perm</type>
                                    <user>${unix.user}</user>
                                    <group>${unix.group}</group>
                                    <filemode>0644</filemode>
                                    <prefix>/vitam/lib/${unix.name}</prefix>
                                </mapper>
                            </data>

                            <!-- Conf & other -->
                            <data>
                                <src>${project.build.directory}/conf</src>
                                <type>directory</type>
                                <missingSrc>ignore</missingSrc>
                                <mapper>
                                    <type>perm</type>
                                    <user>${unix.user}</user>
                                    <group>${unix.group}</group>
                                    <filemode>0755</filemode>
                                    <prefix>/vitam/conf/${unix.name}</prefix>
                                </mapper>
                            </data>

                            <!-- Additional templates -->
                            <data>
                                <type>template</type>
                                <paths>
                                    <path>/vitam/tmp/${unix.name}</path>
                                    <path>/vitam/log/${unix.name}</path>
                                </paths>
                                <mapper>
                                    <type>perm</type>
                                    <user>${unix.user}</user>
                                    <group>${unix.group}</group>
                                </mapper>
                            </data>

                        </dataSet>
                    </configuration>
                </plugin>

                <plugin>
                    <!-- RPM packaging -->
                    <groupId>org.codehaus.mojo</groupId>
                    <artifactId>rpm-maven-plugin</artifactId>
                    <version>${maven.rpm-maven-plugin.version}</version>
                    <configuration>
                        <name>vitam-${unix.name}</name>
                        <disabled>true</disabled>
                        <license>CeCILL 2.1</license>
                        <distribution>Vitam Project</distribution>
                        <group>Application/Archiving</group>
                        <packager>Vitam Package Team</packager>
                        <defineStatements/>
                        <targetOS>linux</targetOS>
                        <requires>
                            <require>systemd</require>
                            <require>${jdk.version.rpm}</require>
                            <require>vitam-user-${unix.user}</require>
                        </requires>
                        <defaultDirmode>750</defaultDirmode>
                        <defaultFilemode>640</defaultFilemode>
                        <defaultUsername>${unix.user}</defaultUsername>
                        <defaultGroupname>${unix.group}</defaultGroupname>
                        <mappings>
                            <mapping>
                                <directory>/vitam/lib/${unix.name}</directory>
                                <artifact/>
                                <dependency/>
                            </mapping>
                            <mapping>
                                <directory>/vitam/conf/${unix.name}</directory>
                                <sources>
                                    <source>
                                        <location>${project.build.directory}/conf</location>
                                    </source>
                                </sources>
                            </mapping>
                        </mappings>
                    </configuration>
                </plugin>
                <plugin>
                    <!-- When everything else fails... -->
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-antrun-plugin</artifactId>
                    <version>${maven-antrun-plugin.version}</version>
                    <executions>
                        <execution>
                            <id>process-test-classes</id>
                            <phase>process-test-classes</phase>
                            <configuration>
                                <target>
                                    <chmod file="target/test-classes/test.sh" perm="755"/>
                                </target>
                            </configuration>
                            <goals>
                                <goal>run</goal>
                            </goals>
                        </execution>
                    </executions>
                </plugin>
                <plugin>
                    <!-- Versions handling -->
                    <groupId>org.codehaus.mojo</groupId>
                    <artifactId>versions-maven-plugin</artifactId>
                    <version>${versions-maven-plugin.version}</version>
                </plugin>
                <!-- Get git versions information -->
                <plugin>
                    <groupId>pl.project13.maven</groupId>
                    <artifactId>git-commit-id-plugin</artifactId>
                    <version>${git-commit-id-plugin.version}</version>
                    <executions>
                        <execution>
                            <id>get-the-git-infos</id>
                            <goals>
                                <goal>revision</goal>
                            </goals>
                        </execution>
                    </executions>

                    <configuration>
                        <!--<dotGitDirectory>${project.basedir}/.git</dotGitDirectory> -->
                        <dateFormat>yyyy-MM-dd'T'HH:mm:ssX</dateFormat>
                        <!--<injectAllReactorProjects>true</injectAllReactorProjects> <runOnlyOnce>true</runOnlyOnce> -->
                        <!--<failOnNoGitDirectory>false</failOnNoGitDirectory> -->
                        <!-- <failOnUnableToExtractRepoInfo>true</failOnUnableToExtractRepoInfo> -->
                        <!--<useNativeGit>false</useNativeGit> -->
                    </configuration>
                </plugin>
                <!-- END OF GIT COMMIT ID PLUGIN CONFIGURATION -->
            </plugins>
        </pluginManagement>

        <plugins>
            <plugin>
                <groupId>org.jacoco</groupId>
                <artifactId>jacoco-maven-plugin</artifactId>
            </plugin>
            <plugin>
                <groupId>pl.project13.maven</groupId>
                <artifactId>git-commit-id-plugin</artifactId>
            </plugin>
            <plugin>
                <groupId>io.swagger.core.v3</groupId>
                <artifactId>swagger-maven-plugin</artifactId>
                <version>${swagger-maven-plugin.version}</version>
                <dependencies>
                    <dependency>
                        <groupId>javax.ws.rs</groupId>
                        <artifactId>javax.ws.rs-api</artifactId>
                        <version>${javax.ws.rs-api.version}</version>
                    </dependency>
                    <dependency>
                        <groupId>javax.servlet</groupId>
                        <artifactId>javax.servlet-api</artifactId>
                        <version>${javax.servlet.version}</version>
                    </dependency>
                </dependencies>
                <configuration>
                    <outputPath>target/generated-documentation</outputPath>
                    <outputFormat>JSONANDYAML</outputFormat>
                    <prettyPrint>true</prettyPrint>
                </configuration>
                <executions>
                    <execution>
                        <id>phase-internal</id>
                        <phase>compile</phase>
                        <goals>
                            <goal>resolve</goal>
                        </goals>
                        <configuration>
                            <outputFileName>internal</outputFileName>
                            <resourcePackages>
                                <package>fr.gouv.vitam.access.internal.rest</package>
                                <package>fr.gouv.vitam.batch.report.rest.resource</package>
                                <package>fr.gouv.vitam.ingest.internal.upload.rest</package>
                                <package>fr.gouv.vitam.security.internal.rest.resource</package>
                                <package>fr.gouv.vitam.logbook.rest</package>
                                <package>fr.gouv.vitam.metadata.rest</package>
                                <package>fr.gouv.vitam.processing.distributor.rest</package>
                                <package>fr.gouv.vitam.processing.management.rest</package>
                                <package>fr.gouv.vitam.storage.offers.rest</package>
                                <package>fr.gouv.vitam.storage.offers.tape.rest</package>
                                <package>fr.gouv.vitam.storage.engine.server.rest</package>
                                <package>fr.gouv.vitam.worker.server.rest</package>
                                <package>fr.gouv.vitam.workspace.rest</package>
                            </resourcePackages>
                        </configuration>
                    </execution>
                    <execution>
                        <id>phase-external</id>
                        <phase>compile</phase>
                        <goals>
                            <goal>resolve</goal>
                        </goals>
                        <configuration>
                            <outputFileName>external</outputFileName>
                            <resourcePackages>
                                <package>fr.gouv.vitam.access.external.rest</package>
                                <package>fr.gouv.vitam.access.external.rest.v2.rest</package>
                                <package>fr.gouv.vitam.functional.administration.rest</package>
                                <package>fr.gouv.vitam.ingest.external.rest</package>
                            </resourcePackages>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
            <plugin>
                <groupId>com.diffplug.spotless</groupId>
                <artifactId>spotless-maven-plugin</artifactId>
                <version>${spotless-maven-plugin.version}</version>
                <configuration>
                    <java>
                        <includes>
                            <include>src/main/java/**/*.java</include>
                            <include>src/test/java/**/*.java</include>
                        </includes>
                        <prettier>
                            <devDependencies>
                                <prettier>${spotless-maven-plugin.prettier.version}</prettier>
                                <prettier-plugin-java>${spotless-maven-plugin.prettier-plugin-java.version}</prettier-plugin-java>
                            </devDependencies>
                            <config>
                                <printWidth>120</printWidth>
                                <tabWidth>4</tabWidth>
                                <parser>java</parser>
                                <plugins>prettier-plugin-java</plugins>
                            </config>
                        </prettier>
                        <importOrder>
                            <order>,javax|java,\#</order>
                        </importOrder>
                        <removeUnusedImports/>
                    </java>
                </configuration>
                <executions>
                    <execution>
                        <goals>
                            <goal>check</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
        </plugins>
    </build>

    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>io.swagger.core.v3</groupId>
                <artifactId>swagger-jaxrs2</artifactId>
                <version>${swagger-maven-plugin.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.jclouds</groupId>
                <artifactId>jclouds-core</artifactId>
                <version>${jclouds.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.jclouds.api</groupId>
                <artifactId>filesystem</artifactId>
                <version>${jclouds.version}</version>
                <exclusions>
                    <exclusion>
                        <groupId>javax.ws.rs</groupId>
                        <artifactId>jsr311-api</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupId>org.apache.jclouds.api</groupId>
                <artifactId>openstack-swift</artifactId>
                <version>${jclouds.version}</version>
            </dependency>
            <dependency>
                <groupId>javax.ws.rs</groupId>
                <artifactId>javax.ws.rs-api</artifactId>
                <version>${javax.ws.rs.version}</version>
            </dependency>
            <dependency>
                <groupId>com.github.openstack4j.core</groupId>
                <artifactId>openstack4j-core</artifactId>
                <version>${openstack4j.version}</version>
                <exclusions>
                    <exclusion>
                        <groupId>com.github.fge</groupId>
                        <artifactId>jackson-coreutils</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupId>com.github.openstack4j.core.connectors</groupId>
                <artifactId>openstack4j-httpclient</artifactId>
                <version>${openstack4j.version}</version>
            </dependency>
            <dependency>
                <groupId>com.amazonaws</groupId>
                <artifactId>aws-java-sdk-s3</artifactId>
                <version>${awssdk.v1.version}</version>
            </dependency>
            <dependency>
                <groupId>co.elastic.clients</groupId>
                <artifactId>elasticsearch-java</artifactId>
                <version>${elasticsearch.version}</version>
            </dependency>
            <dependency>
                <groupId>org.mongodb</groupId>
                <artifactId>mongodb-driver-sync</artifactId>
                <version>${mongo.version}</version>
            </dependency>
            <dependency>
                <groupId>com.fasterxml.jackson.core</groupId>
                <artifactId>jackson-core</artifactId>
                <version>${jackson.version}</version>
            </dependency>
            <dependency>
                <groupId>com.fasterxml.jackson.core</groupId>
                <artifactId>jackson-databind</artifactId>
                <version>${jackson.version}</version>
            </dependency>
            <dependency>
                <groupId>com.fasterxml.jackson.module</groupId>
                <artifactId>jackson-module-afterburner</artifactId>
                <version>${jackson.version}</version>
            </dependency>
            <dependency>
                <groupId>com.fasterxml.jackson.jaxrs</groupId>
                <artifactId>jackson-jaxrs-json-provider</artifactId>
                <version>${jackson.version}</version>
            </dependency>

            <dependency>
                <groupId>com.fasterxml.jackson.jaxrs</groupId>
                <artifactId>jackson-jaxrs-base</artifactId>
                <version>${jackson.version}</version>
            </dependency>

            <dependency>
                <groupId>com.fasterxml.jackson.module</groupId>
                <artifactId>jackson-module-jaxb-annotations</artifactId>
                <version>${jackson.version}</version>
            </dependency>
            <dependency>
                <groupId>org.glassfish.jaxb</groupId>
                <artifactId>jaxb-runtime</artifactId>
                <version>${jaxb.version}</version>
            </dependency>

            <dependency>
                <groupId>net.sf.saxon</groupId>
                <artifactId>Saxon-HE</artifactId>
                <version>${Saxon-HE.version}</version>
                <scope>test</scope>
            </dependency>

            <dependency>
                <groupId>org.relaxng</groupId>
                <artifactId>jing</artifactId>
                <version>${thaiopensource.version}</version>
                <exclusions>
                    <exclusion>
                        <groupId>xml-apis</groupId>
                        <artifactId>xml-apis</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>net.sf.saxon</groupId>
                        <artifactId>Saxon-HE</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>xerces</groupId>
                        <artifactId>xercesImpl</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupId>com.fasterxml.jackson.core</groupId>
                <artifactId>jackson-annotations</artifactId>
                <version>${jackson.version}</version>
            </dependency>
            <dependency>
                <groupId>com.fasterxml.jackson.datatype</groupId>
                <artifactId>jackson-datatype-jsr310</artifactId>
                <version>${jackson.version}</version>
            </dependency>
            <dependency>
                <groupId>org.json</groupId>
                <artifactId>json</artifactId>
                <version>${org.json.version}</version>
            </dependency>
            <dependency>
                <groupId>net.javacrumbs.json-unit</groupId>
                <artifactId>json-unit</artifactId>
                <version>${json-unit-version}</version>
                <scope>test</scope>
            </dependency>
            <dependency>
                <groupId>com.google.guava</groupId>
                <artifactId>guava</artifactId>
                <version>${guava.version}</version>
            </dependency>
            <dependency>
                <groupId>com.google.guava</groupId>
                <artifactId>guava-testlib</artifactId>
                <version>${guava.version}</version>
                <scope>test</scope>
            </dependency>
            <dependency>
                <groupId>com.googlecode.java-diff-utils</groupId>
                <artifactId>diffutils</artifactId>
                <version>${diffutils.version}</version>
            </dependency>
            <dependency>
                <groupId>com.github.wnameless.json</groupId>
                <artifactId>json-flattener</artifactId>
                <version>${json-flattener.version}</version>
            </dependency>
            <dependency>
                <groupId>commons-io</groupId>
                <artifactId>commons-io</artifactId>
                <version>${commons-io.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.commons</groupId>
                <artifactId>commons-lang3</artifactId>
                <version>${commons-lang3}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.commons</groupId>
                <artifactId>commons-text</artifactId>
                <version>${commons-text}</version>
            </dependency>
            <dependency>
                <groupId>de.odysseus.staxon</groupId>
                <artifactId>staxon</artifactId>
                <version>${staxon.version}</version>
            </dependency>
            <dependency>
                <groupId>org.jboss.resteasy</groupId>
                <artifactId>resteasy-core</artifactId>
                <version>${resteasy.core.version}</version>
            </dependency>
            <dependency>
                <groupId>org.jboss.resteasy</groupId>
                <artifactId>resteasy-client</artifactId>
                <version>${resteasy.client.version}</version>
            </dependency>
            <dependency>
                <groupId>org.jboss.resteasy</groupId>
                <artifactId>resteasy-jackson2-provider</artifactId>
                <version>${resteasy.client.version}</version>
            </dependency>
            <dependency>
                <groupId>com.fasterxml.jackson.dataformat</groupId>
                <artifactId>jackson-dataformat-yaml</artifactId>
                <version>${jackson.version}</version>
            </dependency>
            <dependency>
                <groupId>com.fasterxml.jackson.dataformat</groupId>
                <artifactId>jackson-dataformat-xml</artifactId>
                <version>${jackson.version}</version>
            </dependency>
            <dependency>
                <groupId>org.eclipse.jetty</groupId>
                <artifactId>jetty-http</artifactId>
                <version>${jetty.version}</version>
            </dependency>
            <dependency>
                <groupId>org.eclipse.jetty</groupId>
                <artifactId>jetty-server</artifactId>
                <version>${jetty.version}</version>
            </dependency>
            <dependency>
                <groupId>org.eclipse.jetty</groupId>
                <artifactId>jetty-client</artifactId>
                <version>${jetty.version}</version>
            </dependency>
            <!-- Utility? -->
            <dependency>
                <groupId>org.eclipse.jetty</groupId>
                <artifactId>jetty-servlet</artifactId>
                <version>${jetty.version}</version>
            </dependency>
            <dependency>
                <groupId>org.eclipse.jetty</groupId>
                <artifactId>jetty-xml</artifactId>
                <version>${jetty.version}</version>
            </dependency>
            <dependency>
                <groupId>javax.servlet</groupId>
                <artifactId>javax.servlet-api</artifactId>
                <version>${javax.servlet.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.httpcomponents</groupId>
                <artifactId>httpclient</artifactId>
                <version>${httpclient.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.httpcomponents</groupId>
                <artifactId>httpclient-cache</artifactId>
                <version>${httpclient.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.commons</groupId>
                <artifactId>commons-collections4</artifactId>
                <version>${commons-collections4.version}</version>
            </dependency>
            <dependency>
                <groupId>net.sf.opencsv</groupId>
                <artifactId>opencsv</artifactId>
                <version>${opencsv.version}</version>
            </dependency>
            <dependency>
                <groupId>javax.validation</groupId>
                <artifactId>validation-api</artifactId>
                <version>${javax-validation.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.commons</groupId>
                <artifactId>commons-csv</artifactId>
                <version>${commons-csv.version}</version>
            </dependency>
            <dependency>
                <groupId>com.fasterxml.jackson.dataformat</groupId>
                <artifactId>jackson-dataformat-csv</artifactId>
                <version>${jackson.version}</version>
            </dependency>
            <dependency>
                <groupId>com.fasterxml.jackson.dataformat</groupId>
                <artifactId>jackson-dataformat-cbor</artifactId>
                <version>${jackson.version}</version>
            </dependency>
            <dependency>
                <groupId>com.fasterxml.jackson.dataformat</groupId>
                <artifactId>jackson-dataformat-smile</artifactId>
                <version>${jackson.version}</version>
            </dependency>

            <dependency>
                <groupId>org.apache.commons</groupId>
                <artifactId>commons-compress</artifactId>
                <version>${commons-compress.version}</version>
            </dependency>

            <!-- ########################## Security ########################## -->

            <dependency>
                <groupId>com.mikesamuel</groupId>
                <artifactId>json-sanitizer</artifactId>
                <version>${json-sanitize.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.xmlgraphics</groupId>
                <artifactId>batik-css</artifactId>
                <version>${batik-css.version}</version>
            </dependency>
            <dependency>
                <groupId>org.owasp.antisamy</groupId>
                <artifactId>antisamy</artifactId>
                <version>${antisamy.version}</version>
                <exclusions>
                    <exclusion>
                        <groupId>org.slf4j</groupId>
                        <artifactId>slf4j-simple</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>org.apache.httpcomponents</groupId>
                        <artifactId>httpcore</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>

            <dependency>
                <groupId>org.owasp.esapi</groupId>
                <artifactId>esapi</artifactId>
                <version>${esapi.version}</version>
                <exclusions>
                    <exclusion>
                        <artifactId>log4j</artifactId>
                        <groupId>log4j</groupId>
                    </exclusion>
                    <exclusion>
                        <artifactId>commons-fileupload</artifactId>
                        <groupId>commons-fileupload</groupId>
                    </exclusion>
                    <exclusion>
                        <artifactId>commons-beanutils-core</artifactId>
                        <groupId>commons-beanutils</groupId>
                    </exclusion>
                    <exclusion>
                        <artifactId>xalan</artifactId>
                        <groupId>xalan</groupId>
                    </exclusion>
                    <exclusion>
                        <artifactId>batik-css</artifactId>
                        <groupId>org.apache.xmlgraphics</groupId>
                    </exclusion>
                    <exclusion>
                        <groupId>org.owasp.antisamy</groupId>
                        <artifactId>antisamy</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>

            <dependency>
                <groupId>org.apache.shiro</groupId>
                <artifactId>shiro-core</artifactId>
                <version>${apache-shiro.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.shiro</groupId>
                <artifactId>shiro-web</artifactId>
                <version>${apache-shiro.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.shiro</groupId>
                <artifactId>shiro-all</artifactId>
                <version>${apache-shiro.version}</version>
                <type>pom</type>
            </dependency>
            <dependency>
                <groupId>org.opengis.cite.xerces</groupId>
                <artifactId>xercesImpl-xsd11</artifactId>
                <version>${xerces-xsd11.version}</version>
            </dependency>
            <dependency>
                <groupId>xml-resolver</groupId>
                <artifactId>xml-resolver</artifactId>
                <version>${xml-resolver.version}</version>
            </dependency>
            <dependency>
                <groupId>org.bouncycastle</groupId>
                <artifactId>bcprov-jdk18on</artifactId>
                <version>${bouncycastle.version}</version>
            </dependency>

            <dependency>
                <groupId>org.bouncycastle</groupId>
                <artifactId>bcpkix-jdk18on</artifactId>
                <version>${bouncycastle.version}</version>
            </dependency>

            <!-- ########################## Logger ########################## -->

            <dependency>
                <groupId>ch.qos.logback</groupId>
                <artifactId>logback-core</artifactId>
                <version>${logback.version}</version>
                <!--<scope>provided</scope> -->
            </dependency>
            <dependency>
                <groupId>ch.qos.logback</groupId>
                <artifactId>logback-classic</artifactId>
                <version>${logback.version}</version>
            </dependency>
            <dependency>
                <groupId>ch.qos.logback</groupId>
                <artifactId>logback-access</artifactId>
                <version>${logback.version}</version>
            </dependency>
            <dependency>
                <groupId>org.slf4j</groupId>
                <artifactId>slf4j-api</artifactId>
                <version>${slf4j.version}</version>
                <!--<scope>provided</scope> -->
            </dependency>
            <dependency>
                <groupId>org.slf4j</groupId>
                <artifactId>jcl-over-slf4j</artifactId>
                <version>${slf4j.version}</version>
                <!--<scope>provided</scope> -->
            </dependency>
            <dependency>
                <groupId>org.slf4j</groupId>
                <artifactId>jul-to-slf4j</artifactId>
                <version>${slf4j.version}</version>
                <!--<scope>provided</scope> -->
            </dependency>

            <!-- ####################### Extra Logger ####################### -->
            <dependency>
                <groupId>com.flipkart.zjsonpatch</groupId>
                <artifactId>zjsonpatch</artifactId>
                <version>${zjsonpatch.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.logging.log4j</groupId>
                <artifactId>log4j-api</artifactId>
                <version>${log4j2.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.logging.log4j</groupId>
                <artifactId>log4j-to-slf4j</artifactId>
                <version>${log4j2.version}</version>
            </dependency>
            <!-- ####################### Metrics ####################### -->
            <!-- Prometheus common -->
            <dependency>
                <groupId>io.prometheus</groupId>
                <artifactId>simpleclient_common</artifactId>
                <version>${prometheus-version}</version>
            </dependency>
            <!-- Prometheus the client -->
            <dependency>
                <groupId>io.prometheus</groupId>
                <artifactId>simpleclient</artifactId>
                <version>${prometheus-version}</version>
            </dependency>
            <!-- Prometheus hotspot JVM metrics-->
            <dependency>
                <groupId>io.prometheus</groupId>
                <artifactId>simpleclient_hotspot</artifactId>
                <version>${prometheus-version}</version>
            </dependency>
            <!-- Prometheus get dropwizard metrics-->
            <dependency>
                <groupId>io.prometheus</groupId>
                <artifactId>simpleclient_dropwizard</artifactId>
                <version>${prometheus-version}</version>
            </dependency>

            <!-- ####################### Json validation ####################### -->
            <dependency>
                <groupId>com.github.java-json-tools</groupId>
                <artifactId>json-schema-validator</artifactId>
                <version>${json-schema-validator.version}</version>
            </dependency>

            <!-- ####################### Quartz Scheduler ####################### -->

            <dependency>
                <groupId>org.quartz-scheduler</groupId>
                <artifactId>quartz</artifactId>
                <version>${quartz.version}</version>
            </dependency>
            <dependency>
                <groupId>com.h2database</groupId>
                <artifactId>h2</artifactId>
                <version>${h2.version}</version>
            </dependency>
            <dependency>
                <groupId>org.postgresql</groupId>
                <artifactId>postgresql</artifactId>
                <version>${postgresql.version}</version>
            </dependency>
            <dependency>
                <groupId>org.flywaydb</groupId>
                <artifactId>flyway-core</artifactId>
                <version>${flyway.version}</version>
            </dependency>
            <dependency>
                <groupId>org.flywaydb</groupId>
                <artifactId>flyway-database-postgresql</artifactId>
                <version>${flyway-postgresql.version}</version>
            </dependency>
            <dependency>
                <groupId>com.zaxxer</groupId>
                <artifactId>HikariCP</artifactId>
                <version>${hikaricp}</version>
            </dependency>

            <dependency>
                <groupId>javax.transaction</groupId>
                <artifactId>jta</artifactId>
                <version>${jta.version}</version>
            </dependency>

            <!-- ####################### Tests ####################### -->

            <dependency>
                <groupId>junit</groupId>
                <artifactId>junit</artifactId>
                <version>${junit.version}</version>
                <scope>test</scope>
            </dependency>
            <dependency>
                <groupId>org.assertj</groupId>
                <artifactId>assertj-core</artifactId>
                <version>${assertj.version}</version>
                <scope>test</scope>
            </dependency>
            <dependency>
                <groupId>io.rest-assured</groupId>
                <artifactId>rest-assured</artifactId>
                <version>${rest-assured.version}</version>
                <scope>test</scope>
            </dependency>

            <dependency>
                <groupId>io.rest-assured</groupId>
                <artifactId>json-path</artifactId>
                <version>${rest-assured.version}</version>
                <scope>test</scope>
            </dependency>
            <dependency>
                <groupId>org.mockito</groupId>
                <artifactId>mockito-core</artifactId>
                <version>${mockito.version}</version>
                <scope>test</scope>
            </dependency>
            <dependency>
                <groupId>com.github.tomakehurst</groupId>
                <artifactId>wiremock-standalone</artifactId>
                <version>${com.github.tomakehurst.version}</version>
                <scope>test</scope>
                <exclusions>
                    <exclusion>
                        <groupId>com.jayway.jsonpath</groupId>
                        <artifactId>json-path</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>

            <dependency>
                <groupId>org.xmlunit</groupId>
                <artifactId>xmlunit-core</artifactId>
                <version>${org.xmlunit.version}</version>
                <scope>test</scope>
            </dependency>
            <dependency>
                <groupId>org.xmlunit</groupId>
                <artifactId>xmlunit-matchers</artifactId>
                <version>${org.xmlunit.version}</version>
                <scope>test</scope>
            </dependency>

            <dependency>
                <groupId>com.tngtech.archunit</groupId>
                <artifactId>archunit</artifactId>
                <version>${archunit.version}</version>
                <scope>test</scope>
            </dependency>

            <dependency>
                <groupId>com.squareup.retrofit2</groupId>
                <artifactId>retrofit</artifactId>
                <version>${retrofit2.version}</version>
                <scope>test</scope>
            </dependency>
            <dependency>
                <groupId>com.squareup.retrofit2</groupId>
                <artifactId>converter-jackson</artifactId>
                <version>${retrofit2.version}</version>
                <scope>test</scope>
            </dependency>

            <dependency>
                <groupId>org.testcontainers</groupId>
                <artifactId>testcontainers</artifactId>
                <version>${testcontainers.version}</version>
                <scope>test</scope>
            </dependency>

            <dependency>
                <groupId>fr.gouv.vitam</groupId>
                <artifactId>common-junit</artifactId>
                <version>${project.version}</version>
                <scope>test</scope>
                <exclusions>
                    <exclusion>
                        <groupId>org.apache.logging.log4j</groupId>
                        <artifactId>log4j-api</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>ch.qos.logback</groupId>
                        <artifactId>logback-core</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>ch.qos.logback</groupId>
                        <artifactId>logback-classic</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>junit</groupId>
                        <artifactId>junit</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>com.google.guava</groupId>
                        <artifactId>guava-testlib</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>org.mockito</groupId>
                        <artifactId>mockito-core</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>co.elastic.clients</groupId>
                        <artifactId>elasticsearch-java</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>org.mongodb</groupId>
                        <artifactId>mongo-java-driver</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>org.apache.shiro</groupId>
                        <artifactId>shiro-core</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>

            <dependency>
                <groupId>fr.gouv.vitam</groupId>
                <artifactId>cas-tape-library-simulator</artifactId>
                <version>${project.version}</version>
                <scope>test</scope>
                <exclusions>
                    <exclusion>
                        <groupId>fr.gouv.vitam</groupId>
                        <artifactId>cas-tape-library</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>fr.gouv.vitam</groupId>
                        <artifactId>common-storage</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>junit</groupId>
                        <artifactId>junit</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>org.assertj</groupId>
                        <artifactId>assertj-core</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
        </dependencies>
    </dependencyManagement>
</project>
