<?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>
    <groupId>org.ligoj.parent</groupId>
    <artifactId>project</artifactId>
    <version>21.0.11</version>
    <packaging>pom</packaging>
    <name>Parent - Project</name>
    <description>Parent defining top level global configuration of forge.</description>
    <inceptionYear>2017</inceptionYear>
    <url>https://github.com/ligoj/parent</url>
    <organization>
        <name>Ligoj</name>
        <url>https://ligoj.io</url>
    </organization>
    <properties>
        <revision>21.0.11</revision>
        <gitRepositoryName>parent</gitRepositoryName>
        <workspace>${user.dir}</workspace>
        <domain.name>github.com</domain.name>
        <scm.server>https://${domain.name}</scm.server>
        <scm.server.anonymous>${scm.server}</scm.server.anonymous>
        <copyright.year>2023</copyright.year>
        <ci.server>https://${domain.name}/actions/</ci.server>
        <WORKSPACE>${project.build.directory}</WORKSPACE>
        <proxy.server>https://${domain.name}/nexus</proxy.server>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <project.reporting.outputEncoding>${project.build.sourceEncoding}</project.reporting.outputEncoding>
        <encoding.java>${project.build.sourceEncoding}</encoding.java>
        <encoding.javadoc>${encoding.java}</encoding.javadoc>
        <encoding.java>${project.build.sourceEncoding}</encoding.java>
        <test.target.server.hostname>localhost</test.target.server.hostname>
        <maven.version>3.9.6</maven.version>
        <maven.ut.argLine.memory>-Xms800m -Xmx800m</maven.ut.argLine.memory>
        <maven.ut.argLine>${maven.ut.argLine.memory}</maven.ut.argLine>
        <maven.ut.reuseForks>true</maven.ut.reuseForks>
        <maven.ut.forkCount>1</maven.ut.forkCount>
        <maven.ut.testTimeout>${testTimeout}</maven.ut.testTimeout>
        <skipTests>false</skipTests>
        <skipITs>true</skipITs>
        <skipPublishing>false</skipPublishing>
        <maven.ut.skip>${skipTests}</maven.ut.skip>
        <maven.it.argLine.memory>-Xms800m -Xmx800m</maven.it.argLine.memory>
        <maven.it.argLine>${maven.it.argLine.memory}</maven.it.argLine>
        <maven.it.skip>${skipITs}</maven.it.skip>
        <maven.it.reuseForks>false</maven.it.reuseForks>
        <maven.it.forkCount>1</maven.it.forkCount>
        <maven.it.testTimeout>${testTimeout}</maven.it.testTimeout>
        <maven.it.source>${project.build.testSourceDirectory}</maven.it.source>
        <maven.javadoc.skip>true</maven.javadoc.skip>
        <maven.build.timestamp.format>yyyy-MM-dd HH:mm:ss</maven.build.timestamp.format>
        <!-- http://maven.apache.org/pom.html performRelease -->
        <!-- mvn versions:display-plugin-updates -Pjacoco,it,sources -->
        <!-- plugin dependency versions -->
        <!-- apache.org plugins -->
        <!-- http://maven.apache.org/plugins/index.html -->
        <maven.build.date>${maven.build.timestamp}</maven.build.date>

        <!-- https://maven.apache.org/plugins/index.html -->
        <lombok.version>1.18.38</lombok.version>
        <plugin.antrun>3.2.0</plugin.antrun> <!-- http://maven.apache.org/plugins/maven-antrun-plugin/summary.html -->
        <plugin.assembly>3.7.1</plugin.assembly> <!-- http://maven.apache.org/plugins/maven-assembly-plugin/summary.html -->
        <plugin.central-publishing>0.9.0</plugin.central-publishing>
        <plugin.clean>3.5.0</plugin.clean> <!-- https://maven.apache.org/plugins/maven-clean-plugin/summary.html -->
        <plugin.compiler>3.14.1</plugin.compiler> <!-- https://mvnrepository.com/artifact/org.apache.maven.plugins/maven-compiler-plugin -->
        <plugin.dependency>3.9.0</plugin.dependency> <!-- https://mvnrepository.com/artifact/org.apache.maven.plugins/maven-dependency-plugin -->
        <plugin.deploy>3.1.4</plugin.deploy> <!-- https://mvnrepository.com/artifact/org.apache.maven.plugins/maven-deploy-plugin -->
        <plugin.enforcer>3.6.2</plugin.enforcer> <!-- http://maven.apache.org/enforcer/enforcer-rules/summary.html -->
        <plugin.failsafe>3.5.4</plugin.failsafe> <!-- https://mvnrepository.com/artifact/org.apache.maven.plugins/maven-failsafe-plugin -->
        <plugin.gpg>1.6</plugin.gpg> <!-- http://maven.apache.org/plugins/maven-gpg-plugin/summary.html -->
        <plugin.install>3.1.4</plugin.install> <!-- https://mvnrepository.com/artifact/org.apache.maven.plugins/maven-install-plugin -->
        <plugin.info>3.9.0</plugin.info> <!-- http://maven.apache.org/plugins/maven-project-info-reports-plugin/summary.html -->
        <plugin.jar>3.4.2</plugin.jar> <!-- https://mvnrepository.com/artifact/org.apache.maven.plugins/maven-jar-plugin -->
        <plugin.javadoc>3.12.0</plugin.javadoc> <!-- https://mvnrepository.com/artifact/org.apache.maven.plugins/maven-javadoc-plugin -->
        <plugin.lombok>1.18.20.0</plugin.lombok>
        <plugin.release>3.2.0</plugin.release> <!-- http://maven.apache.org/plugins/maven-release-plugin/summary.html -->
        <plugin.resources>3.3.1</plugin.resources> <!-- https://mvnrepository.com/artifact/org.apache.maven.plugins/maven-resources-plugin -->
        <plugin.scm>2.2.1</plugin.scm> <!-- https://mvnrepository.com/artifact/org.apache.maven.plugins/maven-scm-plugin -->
        <plugin.shade>3.6.1</plugin.shade> <!-- https://mvnrepository.com/artifact/org.apache.maven.plugins/maven-shade-plugin -->
        <plugin.site>3.21.0</plugin.site> <!-- https://mvnrepository.com/artifact/org.apache.maven.plugins/maven-site-plugin -->
        <plugin.source>3.3.1</plugin.source> <!-- https://mvnrepository.com/artifact/org.apache.maven.plugins/maven-source-plugin -->
        <plugin.verifier>1.1</plugin.verifier> <!-- https://mvnrepository.com/artifact/org.apache.maven.plugins/maven-verifier-plugin -->
        <plugin.wagon-webdav-jackrabbit>3.5.3</plugin.wagon-webdav-jackrabbit>
        <plugin.war>3.5.0</plugin.war> <!-- https://mvnrepository.com/artifact/org.apache.maven.plugins/maven-war-plugin -->

        <!-- Test -->
        <plugin.surefire>3.5.4</plugin.surefire> <!-- http://maven.apache.org/surefire/summary.html -->
        <plugin.surefire.report>3.5.4</plugin.surefire.report> <!--http://maven.apache.org/surefire/maven-surefire-report-plugin/summary.html -->
        <junit.jupiter.version>6.0.1</junit.jupiter.version> <!-- https://mvnrepository.com/artifact/org.junit.jupiter/junit-jupiter-engine -->
        <junit.platform.surefire.version>1.3.2</junit.platform.surefire.version>
        <junit.platform.version>6.0.1</junit.platform.version> <!-- https://mvnrepository.com/artifact/org.junit.platform/junit-platform-launcher -->

        <!-- Non apache.org plugins -->
        <plugin.build-helper>3.6.1</plugin.build-helper> <!-- https://mvnrepository.com/artifact/org.codehaus.mojo/build-helper-maven-plugin -->
        <plugin.buildnumber>3.2.1</plugin.buildnumber> <!-- https://mvnrepository.com/artifact/org.codehaus.mojo/buildnumber-maven-plugin -->
        <plugin.versions>2.19.1</plugin.versions> <!-- https://mvnrepository.com/artifact/org.codehaus.mojo/versions-maven-plugin -->

        <plugin.dependency-check>12.1.8</plugin.dependency-check> <!-- https://mvnrepository.com/artifact/org.owasp/dependency-check-maven -->
        <plugin.jacoco>0.8.14</plugin.jacoco> <!-- https://mvnrepository.com/artifact/org.jacoco/jacoco-maven-plugin -->
        <plugin.jacoco.listeners>5.14.0.18788</plugin.jacoco.listeners> <!-- https://mvnrepository.com/artifact/org.sonarsource.java/sonar-jacoco-listeners -->
        <plugin.sonar>5.2.0.4988</plugin.sonar> <!-- https://mvnrepository.com/artifact/org.sonarsource.scanner.maven/sonar-maven-plugin -->

        <ant.version>1.10.15</ant.version> <!-- https://mvnrepository.com/artifact/org.apache.ant/ant -->
        <asm.version>9.9</asm.version> <!-- https://mvnrepository.com/artifact/org.ow2.asm/asm -->
        <gpg.skip>true</gpg.skip>
        <jdk.version>21</jdk.version>
        <jdk.release>21</jdk.release>
        <jdk.enablePreview>false</jdk.enablePreview>
        <jdk.xlint>-Xlint:all,-options,-path,-serial,-processing,-preview,-this-escape</jdk.xlint>
        <!--  javac - -help-lint -->
        <testTimeout>1000</testTimeout>
        <plugin.jacoco.ut.destFile>${project.build.directory}/jacoco.exec</plugin.jacoco.ut.destFile>
        <plugin.jacoco.it.destFile>${project.build.directory}/jacoco-it.exec</plugin.jacoco.it.destFile>
        <plugin.jacoco.include>${jacoco.includes}</plugin.jacoco.include>
        <plugin.javadoc.additionalOptions>-html5</plugin.javadoc.additionalOptions>
        <jacoco.includes>*</jacoco.includes>
        <sonar.host.url>https://${domain.name}/sonar/</sonar.host.url>
        <sonar.sourceEncoding>${encoding.java}</sonar.sourceEncoding>
        <sonar.jacoco.reportPath>${plugin.jacoco.ut.destFile}</sonar.jacoco.reportPath>
        <sonar.jacoco.reportPaths>${plugin.jacoco.ut.destFile}, ${plugin.jacoco.it.destFile}</sonar.jacoco.reportPaths>
    </properties>
    <scm>
        <url>https://github.com/ligoj/parent</url>
        <connection>scm:git:https://github.com/ligoj/parent.git</connection>
        <developerConnection>scm:git:https://github.com/ligoj/parent.git</developerConnection>
    </scm>
    <developers>
        <developer>
            <email>fabrice.daugan@gmail.com</email>
            <name>Fabrice Daugan</name>
            <url>https://github.com/fdaugan</url>
            <id>fdaugan</id>
        </developer>
    </developers>
    <licenses>
        <license>
            <name>MIT License</name>
            <url>https://fabdouglas.mit-license.org/</url>
            <distribution>repo</distribution>
        </license>
    </licenses>
    <issueManagement>
        <url>https://github.com/ligoj/parent/issues</url>
        <system>GitHub Issues</system>
    </issueManagement>
    <ciManagement>
        <system>Github</system>
        <url>${ci.server}</url>
    </ciManagement>
    <distributionManagement>
        <snapshotRepository>
            <id>ossrh</id>
            <url>https://oss.sonatype.org/content/repositories/snapshots</url>
        </snapshotRepository>
        <repository>
            <id>ossrh</id>
            <url>https://oss.sonatype.org/service/local/staging/deploy/maven2/</url>
        </repository>
    </distributionManagement>
    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>org.junit.jupiter</groupId>
                <artifactId>junit-jupiter-engine</artifactId>
                <version>${junit.jupiter.version}</version>
            </dependency>
            <dependency>
                <groupId>org.junit.jupiter</groupId>
                <artifactId>junit-jupiter-api</artifactId>
                <version>${junit.jupiter.version}</version>
            </dependency>
            <dependency>
                <groupId>org.junit.jupiter</groupId>
                <artifactId>junit-jupiter-params</artifactId>
                <version>${junit.jupiter.version}</version>
            </dependency>
            <dependency>
                <groupId>org.junit.platform</groupId>
                <artifactId>junit-platform-launcher</artifactId>
                <version>${junit.platform.version}</version>
            </dependency>
        </dependencies>
    </dependencyManagement>
    <build>
        <pluginManagement>
            <plugins>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-shade-plugin</artifactId>
                    <version>${plugin.shade}</version>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-site-plugin</artifactId>
                    <version>${plugin.site}</version>
                </plugin>
                <plugin>
                    <groupId>org.projectlombok</groupId>
                    <artifactId>lombok-maven-plugin</artifactId>
                    <version>${plugin.lombok}</version>
                    <configuration>
                        <sourceDirectory>${project.basedir}/src/main/java</sourceDirectory>
                        <outputDirectory>${project.build.directory}/generated-sources-delombok</outputDirectory>
                        <addOutputDirectory>false</addOutputDirectory>
                    </configuration>
                    <executions>
                        <execution>
                            <phase>generate-sources</phase>
                            <goals>
                                <goal>delombok</goal>
                            </goals>
                        </execution>
                    </executions>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-javadoc-plugin</artifactId>
                    <version>${plugin.javadoc}</version>
                    <executions>
                        <execution>
                            <id>attach-javadocs</id>
                            <goals>
                                <goal>jar</goal>
                            </goals>
                            <configuration>
                                <additionalOptions>${plugin.javadoc.additionalOptions}</additionalOptions>
                                <sourcepath>${project.build.directory}/generated-sources-delombok</sourcepath>
                                <doclint>all,-missing</doclint>
                                <failOnError>false</failOnError>
                            </configuration>
                        </execution>
                    </executions>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-jar-plugin</artifactId>
                    <version>${plugin.jar}</version>
                    <inherited>true</inherited>
                    <configuration>
                        <archive>
                            <manifest>
                                <addDefaultSpecificationEntries>true</addDefaultSpecificationEntries>
                                <addDefaultImplementationEntries>true</addDefaultImplementationEntries>
                            </manifest>
                            <manifestEntries>
                                <svnrevision>${buildNumber}</svnrevision>
                                <buildDate>${timestamp}</buildDate>
                                <url>${project.url}</url>
                            </manifestEntries>
                        </archive>
                    </configuration>
                </plugin>
                <plugin>
                    <artifactId>maven-war-plugin</artifactId>
                    <version>${plugin.war}</version>
                    <inherited>true</inherited>
                    <configuration>
                        <archive>
                            <manifest>
                                <addDefaultSpecificationEntries>true</addDefaultSpecificationEntries>
                                <addDefaultImplementationEntries>true</addDefaultImplementationEntries>
                            </manifest>
                            <manifestEntries>
                                <githash>${buildNumber}</githash>
                                <buildDate>${timestamp}</buildDate>
                            </manifestEntries>
                        </archive>
                    </configuration>
                </plugin>
                <plugin>
                    <groupId>org.codehaus.mojo</groupId>
                    <artifactId>buildnumber-maven-plugin</artifactId>
                    <version>${plugin.buildnumber}</version>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-compiler-plugin</artifactId>
                    <version>${plugin.compiler}</version>
                    <configuration>
                        <source>${jdk.version}</source>
                        <target>${jdk.version}</target>
                        <release>${jdk.release}</release>
                        <encoding>${encoding.java}</encoding>
                        <enablePreview>${jdk.enablePreview}</enablePreview>
                        <compilerArgs>
                            <arg>${jdk.xlint}</arg>
                            <arg>-parameters</arg>
                            <arg>-J--add-opens=jdk.compiler/com.sun.tools.javac.api=ALL-UNNAMED</arg>
                            <arg>-J--add-opens=jdk.compiler/com.sun.tools.javac.code=ALL-UNNAMED</arg>
                            <arg>-J--add-opens=jdk.compiler/com.sun.tools.javac.comp=ALL-UNNAMED</arg>
                            <arg>-J--add-opens=jdk.compiler/com.sun.tools.javac.file=ALL-UNNAMED</arg>
                            <arg>-J--add-opens=jdk.compiler/com.sun.tools.javac.main=ALL-UNNAMED</arg>
                            <arg>-J--add-opens=jdk.compiler/com.sun.tools.javac.model=ALL-UNNAMED</arg>
                            <arg>-J--add-opens=jdk.compiler/com.sun.tools.javac.parser=ALL-UNNAMED</arg>
                            <arg>-J--add-opens=jdk.compiler/com.sun.tools.javac.processing=ALL-UNNAMED</arg>
                            <arg>-J--add-opens=jdk.compiler/com.sun.tools.javac.tree=ALL-UNNAMED</arg>
                            <arg>-J--add-opens=jdk.compiler/com.sun.tools.javac.util=ALL-UNNAMED</arg>
                            <arg>-J--add-opens=jdk.compiler/com.sun.tools.javac.jvm=ALL-UNNAMED</arg>
                            <arg>-J-Duser.language=en_us</arg>
                        </compilerArgs>
                    </configuration>
                    <dependencies>
                        <dependency>
                            <groupId>org.ow2.asm</groupId>
                            <artifactId>asm</artifactId>
                            <version>${asm.version}</version>
                        </dependency>
                        <dependency>
                            <groupId>org.junit.jupiter</groupId>
                            <artifactId>junit-jupiter-engine</artifactId>
                            <version>${junit.jupiter.version}</version>
                        </dependency>
                        <dependency>
                            <groupId>org.junit.jupiter</groupId>
                            <artifactId>junit-jupiter-api</artifactId>
                            <version>${junit.jupiter.version}</version>
                        </dependency>
                        <dependency>
                            <groupId>org.junit.jupiter</groupId>
                            <artifactId>junit-jupiter-params</artifactId>
                            <version>${junit.jupiter.version}</version>
                        </dependency>
                        <dependency>
                            <groupId>org.junit.platform</groupId>
                            <artifactId>junit-platform-launcher</artifactId>
                            <version>${junit.platform.version}</version>
                        </dependency>
                        <dependency>
                            <groupId>org.junit.platform</groupId>
                            <artifactId>junit-platform-surefire-provider</artifactId>
                            <version>${junit.platform.surefire.version}</version>
                        </dependency>
                        <dependency>
                            <groupId>org.apache.maven.plugins</groupId>
                            <artifactId>maven-surefire-report-plugin</artifactId>
                            <version>${plugin.surefire.report}</version>
                        </dependency>
                        <dependency>
                            <groupId>org.apache.maven.surefire</groupId>
                            <artifactId>surefire-api</artifactId>
                            <version>${plugin.surefire.report}</version>
                        </dependency>
                        <dependency>
                            <groupId>org.apache.maven.surefire</groupId>
                            <artifactId>surefire-booter</artifactId>
                            <version>${plugin.surefire.report}</version>
                        </dependency>
                        <dependency>
                            <groupId>org.apache.maven.surefire</groupId>
                            <artifactId>surefire-logger-api</artifactId>
                            <version>${plugin.surefire.report}</version>
                        </dependency>
                        <dependency>
                            <groupId>org.apache.maven.surefire</groupId>
                            <artifactId>common-java5</artifactId>
                            <version>${plugin.surefire.report}</version>
                        </dependency>
                        <dependency>
                            <groupId>org.apache.maven.surefire</groupId>
                            <artifactId>surefire</artifactId>
                            <version>${plugin.surefire.report}</version>
                            <type>pom</type>
                        </dependency>
                    </dependencies>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-surefire-plugin</artifactId>
                    <version>${plugin.surefire}</version>
                    <configuration>
                        <argLine>${maven.ut.argLine}</argLine>
                        <failIfNoTests>false</failIfNoTests>
                        <testFailureIgnore>true</testFailureIgnore>
                        <skipTests>${maven.ut.skip}</skipTests>
                        <redirectTestOutputToFile>true</redirectTestOutputToFile>
                        <reuseForks>${maven.ut.reuseForks}</reuseForks>
                        <forkCount>${maven.ut.forkCount}</forkCount>
                        <forkedProcessTimeoutInSeconds>${maven.ut.testTimeout}</forkedProcessTimeoutInSeconds>
                        <runOrder>alphabetical</runOrder>
                        <excludes>
                            <exclude>**/Abstract*</exclude>
                        </excludes>
                        <argLine>
                            --enable-preview
                            -XX:+EnableDynamicAgentLoading
                        </argLine>
                    </configuration>
                    <dependencies>
                        <dependency>
                            <groupId>org.ow2.asm</groupId>
                            <artifactId>asm</artifactId>
                            <version>${asm.version}</version>
                        </dependency>
                        <dependency>
                            <groupId>org.junit.jupiter</groupId>
                            <artifactId>junit-jupiter-engine</artifactId>
                            <version>${junit.jupiter.version}</version>
                        </dependency>
                        <dependency>
                            <groupId>org.junit.jupiter</groupId>
                            <artifactId>junit-jupiter-api</artifactId>
                            <version>${junit.jupiter.version}</version>
                        </dependency>
                        <dependency>
                            <groupId>org.junit.jupiter</groupId>
                            <artifactId>junit-jupiter-params</artifactId>
                            <version>${junit.jupiter.version}</version>
                        </dependency>
                        <dependency>
                            <groupId>org.junit.platform</groupId>
                            <artifactId>junit-platform-launcher</artifactId>
                            <version>${junit.platform.version}</version>
                        </dependency>
                        <dependency>
                            <groupId>org.junit.platform</groupId>
                            <artifactId>junit-platform-surefire-provider</artifactId>
                            <version>${junit.platform.surefire.version}</version>
                        </dependency>
                        <dependency>
                            <groupId>org.apache.maven.plugins</groupId>
                            <artifactId>maven-surefire-report-plugin</artifactId>
                            <version>${plugin.surefire.report}</version>
                        </dependency>
                        <dependency>
                            <groupId>org.apache.maven.surefire</groupId>
                            <artifactId>surefire-api</artifactId>
                            <version>${plugin.surefire.report}</version>
                        </dependency>
                        <dependency>
                            <groupId>org.apache.maven.surefire</groupId>
                            <artifactId>surefire-booter</artifactId>
                            <version>${plugin.surefire.report}</version>
                        </dependency>
                        <dependency>
                            <groupId>org.apache.maven.surefire</groupId>
                            <artifactId>surefire-logger-api</artifactId>
                            <version>${plugin.surefire.report}</version>
                        </dependency>
                        <dependency>
                            <groupId>org.apache.maven.surefire</groupId>
                            <artifactId>common-java5</artifactId>
                            <version>${plugin.surefire.report}</version>
                        </dependency>
                        <dependency>
                            <groupId>org.apache.maven.surefire</groupId>
                            <artifactId>surefire</artifactId>
                            <version>${plugin.surefire.report}</version>
                            <type>pom</type>
                        </dependency>
                    </dependencies>
                </plugin>
                <plugin>
                    <artifactId>maven-failsafe-plugin</artifactId>
                    <version>${plugin.failsafe}</version>
                    <configuration>
                        <argLine>${maven.it.argLine}</argLine>
                        <failIfNoTests>false</failIfNoTests>
                        <testFailureIgnore>true</testFailureIgnore>
                        <skipITs>${maven.it.skip}</skipITs>
                        <reuseForks>${maven.it.reuseForks}</reuseForks>
                        <forkCount>${maven.it.forkCount}</forkCount>
                        <forkedProcessTimeoutInSeconds>${maven.it.testTimeout}</forkedProcessTimeoutInSeconds>
                        <runOrder>alphabetical</runOrder>
                        <testSourceDirectory>${maven.it.source}</testSourceDirectory>
                        <excludes>
                            <exclude>**/Abstract*</exclude>
                        </excludes>
                        <argLine>
                            --enable-preview
                            -XX:+EnableDynamicAgentLoading
                        </argLine>
                    </configuration>
                    <dependencies>
                        <dependency>
                            <groupId>org.ow2.asm</groupId>
                            <artifactId>asm</artifactId>
                            <version>${asm.version}</version>
                        </dependency>
                        <dependency>
                            <groupId>org.junit.jupiter</groupId>
                            <artifactId>junit-jupiter-engine</artifactId>
                            <version>${junit.jupiter.version}</version>
                        </dependency>
                        <dependency>
                            <groupId>org.junit.jupiter</groupId>
                            <artifactId>junit-jupiter-api</artifactId>
                            <version>${junit.jupiter.version}</version>
                        </dependency>
                        <dependency>
                            <groupId>org.junit.jupiter</groupId>
                            <artifactId>junit-jupiter-params</artifactId>
                            <version>${junit.jupiter.version}</version>
                        </dependency>
                        <dependency>
                            <groupId>org.junit.platform</groupId>
                            <artifactId>junit-platform-launcher</artifactId>
                            <version>${junit.platform.version}</version>
                        </dependency>
                        <dependency>
                            <groupId>org.junit.platform</groupId>
                            <artifactId>junit-platform-surefire-provider</artifactId>
                            <version>${junit.platform.surefire.version}</version>
                        </dependency>
                        <dependency>
                            <groupId>org.apache.maven.plugins</groupId>
                            <artifactId>maven-surefire-report-plugin</artifactId>
                            <version>${plugin.surefire.report}</version>
                        </dependency>
                        <dependency>
                            <groupId>org.apache.maven.surefire</groupId>
                            <artifactId>surefire-api</artifactId>
                            <version>${plugin.surefire.report}</version>
                        </dependency>
                        <dependency>
                            <groupId>org.apache.maven.surefire</groupId>
                            <artifactId>surefire-booter</artifactId>
                            <version>${plugin.surefire.report}</version>
                        </dependency>
                        <dependency>
                            <groupId>org.apache.maven.surefire</groupId>
                            <artifactId>surefire-logger-api</artifactId>
                            <version>${plugin.surefire.report}</version>
                        </dependency>
                        <dependency>
                            <groupId>org.apache.maven.surefire</groupId>
                            <artifactId>common-java5</artifactId>
                            <version>${plugin.surefire.report}</version>
                        </dependency>
                        <dependency>
                            <groupId>org.apache.maven.surefire</groupId>
                            <artifactId>surefire</artifactId>
                            <version>${plugin.surefire.report}</version>
                            <type>pom</type>
                        </dependency>
                    </dependencies>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-enforcer-plugin</artifactId>
                    <version>${plugin.enforcer}</version>
                    <executions>
                        <execution>
                            <id>enforce-maven</id>
                            <goals>
                                <goal>enforce</goal>
                            </goals>
                            <configuration>
                                <rules>
                                    <requireMavenVersion>
                                        <version>${maven.version}</version>
                                    </requireMavenVersion>
                                </rules>
                            </configuration>
                        </execution>
                        <execution>
                            <id>enforce-java</id>
                            <goals>
                                <goal>enforce</goal>
                            </goals>
                            <configuration>
                                <rules>
                                    <requireJavaVersion>
                                        <version>&gt;=${jdk.version}</version>
                                    </requireJavaVersion>
                                </rules>
                            </configuration>
                        </execution>
                    </executions>
                </plugin>
                <plugin>
                    <groupId>org.owasp</groupId>
                    <artifactId>dependency-check-maven</artifactId>
                    <version>${plugin.dependency-check}</version>
                    <configuration>
                        <!-- <cveUrl12Modified>http://internal-mirror.mycorp.com/downloads/nist/nvdcve-modified.xml</cveUrl12Modified>
                            <cveUrl20Modified>http://internal-mirror.mycorp.com/downloads/nist/nvdcve-2.0-modified.xml</cveUrl20Modified>
                            <cveUrl12Base>http://internal-mirror.mycorp.com/downloads/nist/nvdcve-%d.xml</cveUrl12Base>
                            <cveUrl20Base>http://internal-mirror.mycorp.com/downloads/nist/nvdcve-2.0-%d.xml</cveUrl20Base>
                            <cveUrl12Modified>https://nvd.nist.gov/download/nvdcve-Modified.xml.gz</cveUrl12Modified>
                            <cveUrl20Modified>https://nvd.nist.gov/feeds/xml/cve/nvdcve-2.0-Modified.xml.gz</cveUrl20Modified>
                            <cveUrl12Base>https://nvd.nist.gov/download/nvdcve-%d.xml.gz</cveUrl12Base>
                            <cveUrl20Base>https://nvd.nist.gov/feeds/xml/cve/nvdcve-2.0-%d.xml.gz</cveUrl20Base> -->
                        <format>XML</format>
                        <name>dependency-check</name>
                        <outputDirectory>${WORKSPACE}</outputDirectory>
                        <nvdValidForHours>48</nvdValidForHours>
                    </configuration>
                </plugin>
                <plugin>
                    <!-- updates poms with passed version number runs as 'mvn versions:set -DnewVersion=0.0.2-SNAPSHOT' -->
                    <groupId>org.codehaus.mojo</groupId>
                    <artifactId>versions-maven-plugin</artifactId>
                    <version>${plugin.versions}</version>
                </plugin>
                <plugin>
                    <groupId>org.sonarsource.scanner.maven</groupId>
                    <artifactId>sonar-maven-plugin</artifactId>
                    <version>${plugin.sonar}</version>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-surefire-report-plugin</artifactId>
                    <version>${plugin.surefire.report}</version>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-verifier-plugin</artifactId>
                    <version>${plugin.verifier}</version>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-clean-plugin</artifactId>
                    <version>${plugin.clean}</version>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-release-plugin</artifactId>
                    <version>${plugin.release}</version>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-source-plugin</artifactId>
                    <version>${plugin.source}</version>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-deploy-plugin</artifactId>
                    <version>${plugin.deploy}</version>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-install-plugin</artifactId>
                    <version>${plugin.install}</version>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-resources-plugin</artifactId>
                    <version>${plugin.resources}</version>
                    <configuration>
                        <encoding>UTF-8</encoding>
                        <propertiesEncoding>UTF-8</propertiesEncoding>
                        <nonFilteredFileExtensions>
                            <nonFilteredFileExtension>zip</nonFilteredFileExtension>
                            <nonFilteredFileExtension>class</nonFilteredFileExtension>
                            <nonFilteredFileExtension>csv</nonFilteredFileExtension>
                            <nonFilteredFileExtension>jar</nonFilteredFileExtension>
                            <nonFilteredFileExtension>txt</nonFilteredFileExtension>
                            <nonFilteredFileExtension>xls</nonFilteredFileExtension>
                            <nonFilteredFileExtension>xlsx</nonFilteredFileExtension>
                            <nonFilteredFileExtension>pdf</nonFilteredFileExtension>
                            <nonFilteredFileExtension>png</nonFilteredFileExtension>
                            <nonFilteredFileExtension>jpg</nonFilteredFileExtension>
                        </nonFilteredFileExtensions>
                    </configuration>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-antrun-plugin</artifactId>
                    <version>${plugin.antrun}</version>
                    <dependencies>
                        <dependency>
                            <groupId>org.apache.ant</groupId>
                            <artifactId>ant-junit</artifactId>
                            <version>${ant.version}</version>
                        </dependency>
                        <dependency>
                            <groupId>org.apache.ant</groupId>
                            <artifactId>ant</artifactId>
                            <version>${ant.version}</version>
                        </dependency>
                        <dependency>
                            <groupId>org.apache.ant</groupId>
                            <artifactId>ant-jsch</artifactId>
                            <version>${ant.version}</version>
                        </dependency>
                    </dependencies>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-assembly-plugin</artifactId>
                    <version>${plugin.assembly}</version>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-dependency-plugin</artifactId>
                    <version>${plugin.dependency}</version>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-scm-plugin</artifactId>
                    <version>${plugin.scm}</version>
                </plugin>
                <plugin>
                    <groupId>org.codehaus.mojo</groupId>
                    <artifactId>build-helper-maven-plugin</artifactId>
                    <version>${plugin.build-helper}</version>
                    <executions>
                        <execution>
                            <id>add-legal-resource</id>
                            <phase>generate-resources</phase>
                            <goals>
                                <goal>add-resource</goal>
                            </goals>
                            <configuration>
                                <resources>
                                    <resource>
                                        <!--suppress UnresolvedMavenProperty -->
                                        <directory>${maven.multiModuleProjectDirectory}</directory>
                                        <includes>
                                            <include>LICENSE</include>
                                        </includes>
                                        <targetPath>META-INF</targetPath>
                                    </resource>
                                </resources>
                            </configuration>
                        </execution>
                        <execution>
                            <id>year-property</id>
                            <goals>
                                <goal>timestamp-property</goal>
                            </goals>
                            <phase>validate</phase>
                            <configuration>
                                <name>project.year</name>
                                <locale>en,US</locale>
                                <pattern>yyyy</pattern>
                            </configuration>
                        </execution>
                    </executions>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-project-info-reports-plugin</artifactId>
                    <version>${plugin.info}</version>
                    <configuration>
                        <dependencyDetailsEnabled>false</dependencyDetailsEnabled>
                    </configuration>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-gpg-plugin</artifactId>
                    <version>${plugin.gpg}</version>
                </plugin>
            </plugins>
        </pluginManagement>
        <extensions>
            <extension>
                <groupId>org.apache.maven.wagon</groupId>
                <artifactId>wagon-webdav-jackrabbit</artifactId>
                <version>${plugin.wagon-webdav-jackrabbit}</version>
            </extension>
        </extensions>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-enforcer-plugin</artifactId>
            </plugin>
            <plugin>
                <groupId>org.codehaus.mojo</groupId>
                <artifactId>buildnumber-maven-plugin</artifactId>
                <executions>
                    <execution>
                        <phase>validate</phase>
                        <goals>
                            <goal>create</goal>
                        </goals>
                    </execution>
                </executions>
                <configuration>
                    <doCheck>false</doCheck>
                    <doUpdate>false</doUpdate>
                    <revisionOnScmFailure>0</revisionOnScmFailure>
                </configuration>
            </plugin>
            <plugin>
                <artifactId>maven-deploy-plugin</artifactId>
            </plugin>
            <plugin>
                <artifactId>maven-release-plugin</artifactId>
                <configuration>
                    <autoVersionSubmodules>true</autoVersionSubmodules>
                    <useReleaseProfile>false</useReleaseProfile>
                    <releaseProfiles>release</releaseProfiles>
                    <goals>deploy</goals>
                </configuration>
            </plugin>
            <plugin>
                <artifactId>maven-gpg-plugin</artifactId>
                <executions>
                    <execution>
                        <id>sign-artifacts</id>
                        <phase>verify</phase>
                        <goals>
                            <goal>sign</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
        </plugins>
    </build>
    <profiles>
        <profile>
            <id>sources</id>
            <activation>
                <activeByDefault>false</activeByDefault>
            </activation>
            <build>
                <plugins>
                    <plugin>
                        <artifactId>maven-source-plugin</artifactId>
                        <executions>
                            <execution>
                                <id>attach-sources</id>
                                <goals>
                                    <goal>jar-no-fork</goal>
                                    <goal>test-jar-no-fork</goal>
                                </goals>
                            </execution>
                        </executions>
                        <configuration>
                            <excludeResources>true</excludeResources>
                        </configuration>
                    </plugin>
                </plugins>
            </build>
        </profile>
        <profile>
            <id>javadoc</id>
            <properties>
                <maven.javadoc.skip>false</maven.javadoc.skip>
            </properties>
            <build>
                <plugins>
                    <plugin>
                        <artifactId>maven-javadoc-plugin</artifactId>
                        <executions>
                            <execution>
                                <id>attach-javadocs</id>
                                <goals>
                                    <goal>jar</goal>
                                </goals>
                            </execution>
                        </executions>
                    </plugin>
                    <plugin>
                        <groupId>org.projectlombok</groupId>
                        <artifactId>lombok-maven-plugin</artifactId>
                        <version>${plugin.lombok}</version>
                        <configuration>
                            <sourceDirectory>${project.basedir}/src/main/java</sourceDirectory>
                            <addOutputDirectory>false</addOutputDirectory>
                        </configuration>
                        <dependencies>
                            <dependency>
                                <groupId>org.projectlombok</groupId>
                                <artifactId>lombok</artifactId>
                                <version>${lombok.version}</version>
                            </dependency>
                        </dependencies>
                        <executions>
                            <execution>
                                <phase>generate-sources</phase>
                                <goals>
                                    <goal>delombok</goal>
                                </goals>
                            </execution>
                        </executions>
                    </plugin>
                </plugins>
            </build>
        </profile>
        <profile>
            <id>jacoco</id>
            <dependencies>
                <dependency>
                    <groupId>org.sonarsource.java</groupId>
                    <artifactId>sonar-jacoco-listeners</artifactId>
                    <version>${plugin.jacoco.listeners}</version>
                    <scope>test</scope>
                </dependency>
                <dependency>
                    <groupId>org.jacoco</groupId>
                    <artifactId>org.jacoco.agent</artifactId>
                    <version>${plugin.jacoco}</version>
                    <classifier>runtime</classifier>
                    <scope>test</scope>
                </dependency>
            </dependencies>
            <build>
                <pluginManagement>
                    <plugins>
                        <plugin>
                            <groupId>org.jacoco</groupId>
                            <artifactId>jacoco-maven-plugin</artifactId>
                            <version>${plugin.jacoco}</version>
                            <executions>
                                <execution>
                                    <id>agent-cargo</id>
                                    <phase>pre-integration-test</phase>
                                    <goals>
                                        <goal>prepare-agent-integration</goal>
                                    </goals>
                                    <configuration>
                                        <output>file</output>
                                        <append>true</append>
                                        <propertyName>plugin.jacoco.cargo-it.argLine</propertyName>
                                        <destFile>${plugin.jacoco.it.destFile}</destFile>
                                        <includes>
                                            <include>${plugin.jacoco.include}</include>
                                        </includes>
                                    </configuration>
                                </execution>
                                <execution>
                                    <id>agent-it</id>
                                    <phase>pre-integration-test</phase>
                                    <goals>
                                        <goal>prepare-agent-integration</goal>
                                    </goals>
                                    <configuration>
                                        <output>file</output>
                                        <append>true</append>
                                        <propertyName>plugin.jacoco.it.argLine</propertyName>
                                        <destFile>${plugin.jacoco.it.destFile}</destFile>
                                        <includes>
                                            <include>${plugin.jacoco.include}</include>
                                        </includes>
                                    </configuration>
                                </execution>
                                <execution>
                                    <id>agent-ut</id>
                                    <phase>process-test-classes</phase>
                                    <goals>
                                        <goal>prepare-agent</goal>
                                    </goals>
                                    <configuration>
                                        <output>file</output>
                                        <append>true</append>
                                        <propertyName>plugin.jacoco.ut.argLine</propertyName>
                                        <destFile>${plugin.jacoco.ut.destFile}</destFile>
                                        <includes>
                                            <include>${plugin.jacoco.include}</include>
                                        </includes>
                                    </configuration>
                                </execution>
                                <execution>
                                    <id>post-unit-test</id>
                                    <phase>site</phase>
                                    <goals>
                                        <goal>report</goal>
                                    </goals>
                                    <configuration>
                                        <sourceEncoding>${project.build.sourceEncoding}</sourceEncoding>
                                        <outputEncoding>${project.reporting.outputEncoding}</outputEncoding>
                                        <dataFile>${plugin.jacoco.ut.destFile}</dataFile>
                                        <outputDirectory>${project.reporting.outputDirectory}/jacoco-ut
                                        </outputDirectory>
                                    </configuration>
                                </execution>
                                <execution>
                                    <id>report-ut</id>
                                    <goals>
                                        <goal>report</goal>
                                    </goals>
                                    <configuration>
                                        <dataFile>${plugin.jacoco.ut.destFile}</dataFile>
                                    </configuration>
                                </execution>
                                <execution>
                                    <id>report-it</id>
                                    <goals>
                                        <goal>report</goal>
                                    </goals>
                                    <configuration>
                                        <dataFile>${plugin.jacoco.it.destFile}</dataFile>
                                    </configuration>
                                </execution>
                            </executions>
                        </plugin>
                        <plugin>
                            <groupId>org.apache.maven.plugins</groupId>
                            <artifactId>maven-surefire-plugin</artifactId>
                            <version>${plugin.surefire}</version>
                            <configuration>
                                <argLine>${maven.ut.argLine} ${plugin.jacoco.ut.argLine}</argLine>
                                <properties>
                                    <property>
                                        <name>listener</name>
                                        <value>org.sonar.java.jacoco.JUnitListener</value>
                                    </property>
                                </properties>
                            </configuration>
                        </plugin>
                        <plugin>
                            <artifactId>maven-failsafe-plugin</artifactId>
                            <version>${plugin.failsafe}</version>
                            <configuration>
                                <argLine>${maven.it.argLine} ${plugin.jacoco.it.argLine}</argLine>
                                <properties>
                                    <property>
                                        <name>listener</name>
                                        <value>org.sonar.java.jacoco.JUnitListener</value>
                                    </property>
                                </properties>
                            </configuration>
                        </plugin>
                    </plugins>
                </pluginManagement>
                <plugins>
                    <plugin>
                        <groupId>org.jacoco</groupId>
                        <artifactId>jacoco-maven-plugin</artifactId>
                    </plugin>
                </plugins>
            </build>
        </profile>
        <profile>
            <id>it</id>
            <properties>
                <maven.it.skip>false</maven.it.skip>
            </properties>
            <build>
                <pluginManagement>
                    <plugins>
                        <plugin>
                            <groupId>org.apache.maven.plugins</groupId>
                            <artifactId>maven-failsafe-plugin</artifactId>
                            <executions>
                                <execution>
                                    <id>integration-test</id>
                                    <goals>
                                        <goal>integration-test</goal>
                                    </goals>
                                </execution>
                                <execution>
                                    <id>verify</id>
                                    <goals>
                                        <goal>verify</goal>
                                    </goals>
                                </execution>
                            </executions>
                        </plugin>
                    </plugins>
                </pluginManagement>
            </build>
        </profile>
        <profile>
            <id>owasp</id>
            <build>
                <plugins>
                    <plugin>
                        <groupId>org.owasp</groupId>
                        <artifactId>dependency-check-maven</artifactId>
                        <executions>
                            <execution>
                                <goals>
                                    <goal>aggregate</goal>
                                </goals>
                                <phase>package</phase>
                            </execution>
                        </executions>
                    </plugin>
                </plugins>
            </build>
        </profile>
        <profile>
            <id>github</id>
            <distributionManagement>
                <repository>
                    <id>github-ligoj</id>
                    <name>GitHub Packages</name>
                    <url>https://maven.pkg.github.com/ligoj/parent</url>
                </repository>
            </distributionManagement>
        </profile>
        <profile>
            <id>sonatype</id>
            <build>
                <plugins>
                    <plugin>
                        <groupId>org.sonatype.central</groupId>
                        <artifactId>central-publishing-maven-plugin</artifactId>
                        <version>${plugin.central-publishing}</version>
                        <extensions>true</extensions>
                        <configuration>
                            <publishingServerId>central</publishingServerId>
                            <autoPublish>true</autoPublish>
                            <waitUntil>published</waitUntil>
                            <skipPublishing>${skipPublishing}</skipPublishing>
                        </configuration>
                    </plugin>
                </plugins>
            </build>
        </profile>
    </profiles>
</project>
