<?xml version="1.0" encoding="UTF-8"?>
<!--
  ~ MIT License
  ~
  ~ Copyright (c) 2020 XenoAmess
  ~
  ~ Permission is hereby granted, free of charge, to any person obtaining a copy
  ~ of this software and associated documentation files (the "Software"), to deal
  ~ in the Software without restriction, including without limitation the rights
  ~ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
  ~ copies of the Software, and to permit persons to whom the Software is
  ~ furnished to do so, subject to the following conditions:
  ~
  ~ The above copyright notice and this permission notice shall be included in all
  ~ copies or substantial portions of the Software.
  ~
  ~ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
  ~ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
  ~ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
  ~ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
  ~ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
  ~ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
  ~ SOFTWARE.
  -->

<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>com.xenoamess.cyan_potion</groupId>
    <artifactId>parent</artifactId>
    <version>0.167.2</version>
    <packaging>pom</packaging>
    <name>${project.artifactId}</name>
    <description>parent of cyan_potion modules poms</description>
    <url>https://github.com/cyanpotion/cyan_potion/tree/master/src/parent</url>
    <developers>
        <developer>
            <name>XenoAmess</name>
            <email>xenoamess@gmail.com</email>
            <organization>XenoAmess</organization>
            <url>https://github.com/xenoamess</url>
        </developer>
    </developers>
    <scm>
        <connection>scm:git:${project.url}.git</connection>
        <developerConnection>${project.scm.connection}</developerConnection>
        <url>${project.url}</url>
        <tag>${project.version}</tag>
    </scm>
    <licenses>
        <license>
            <name>MIT</name>
            <url>${project.url}/blob/master/LICENSE</url>
        </license>
    </licenses>
    <repositories>
        <!--        <repository>-->
        <!--            <id>com.xenoamess</id>-->
        <!--            <url>http://xenoamess.com:8081/repository/maven-releases/</url>-->
        <!--        </repository>-->
        <repository>
            <id>central</id>
            <url>https://repo1.maven.org/maven2/</url>
        </repository>
        <!--        <repository>-->
        <!--            <id>jitpack.io</id>-->
        <!--            <url>https://jitpack.io</url>-->
        <!--        </repository>-->
    </repositories>

    <properties>
        <maven.compiler.encoding>UTF-8</maven.compiler.encoding>
        <project.build.sourceEncoding>${maven.compiler.encoding}
        </project.build.sourceEncoding>
        <project.reporting.outputEncoding>${maven.compiler.encoding}
        </project.reporting.outputEncoding>
        <java.version>8</java.version>
        <maven.compiler.source>${java.version}</maven.compiler.source>
        <maven.compiler.target>${java.version}</maven.compiler.target>
        <!---->
        <!---->
        <!--libraries versions-->
        <commons-collections4.version>4.4</commons-collections4.version>
        <commons-lang3.version>3.12.0</commons-lang3.version>
        <commons-logging.version>1.2</commons-logging.version>
        <commons-io.version>2.11.0</commons-io.version>
        <commons-codec.version>1.15</commons-codec.version>
        <commons-compress.version>1.21</commons-compress.version>
        <commons-httpclient.version>3.1</commons-httpclient.version>
        <commons-vfs2.version>2.9.0</commons-vfs2.version>
        <httpclient.version>4.5.13</httpclient.version>
        <jcip-annotations.version>1.0</jcip-annotations.version>
        <annotations.version>23.0.0</annotations.version>
        <dom4j.version>2.1.1</dom4j.version>
        <jackson.version>2.13.1</jackson.version>
        <joml.version>1.10.3</joml.version>
        <log4j.version>2.17.0</log4j.version>
        <lwjgl.version>3.3.0</lwjgl.version>
        <slf4j.version>1.7.32</slf4j.version>
        <steamworks4j.version>1.8.0</steamworks4j.version>
        <steamworks4j-server.version>1.8.0</steamworks4j-server.version>
        <JXInput.version>1.0.1</JXInput.version>
        <Jamepad.version>1.3.2</Jamepad.version>
        <lombok.version>1.18.22</lombok.version>
        <lombok-maven-plugin.version>1.18.20.0</lombok-maven-plugin.version>
        <httpcore.version>4.4.15</httpcore.version>
        <!---->
        <!---->
        <!--home made libraries versions-->
        <commonx.version>0.13.1</commonx.version>
        <multi_language.version>0.47.3</multi_language.version>
        <x8l.version>2.3.8</x8l.version>
        <SDL_GameControllerDB_Util.version>[1.7.0,)
        </SDL_GameControllerDB_Util.version>
        <!---->
        <!---->
        <!--maven plugins versions-->
        <junit-jupiter.version>5.8.2</junit-jupiter.version>
        <maven-compiler-plugin.version>3.8.1</maven-compiler-plugin.version>
        <maven-clean-plugin.version>3.1.0</maven-clean-plugin.version>
        <maven-deploy-plugin.version>3.0.0-M1</maven-deploy-plugin.version>
        <maven-enforcer-plugin.version>3.0.0</maven-enforcer-plugin.version>
        <maven-gpg-plugin.version>3.0.1</maven-gpg-plugin.version>
        <maven-javadoc-plugin.version>3.3.1</maven-javadoc-plugin.version>
        <maven-project-info-reports-plugin.version>3.1.2</maven-project-info-reports-plugin.version>
        <maven-site-plugin.version>3.9.1</maven-site-plugin.version>
        <maven-source-plugin.version>3.2.1</maven-source-plugin.version>
        <maven-surefire-plugin.version>3.0.0-M5</maven-surefire-plugin.version>
        <properties-maven-plugin.version>1.0.0</properties-maven-plugin.version>
        <templating-maven-plugin.version>1.0.0</templating-maven-plugin.version>
        <versions-maven-plugin.version>2.8.1</versions-maven-plugin.version>
        <jacoco-maven-plugin.version>0.8.7</jacoco-maven-plugin.version>
        <animal-sniffer-maven-plugin.version>1.20
        </animal-sniffer-maven-plugin.version>
        <!--enforce-->
        <enforce.activate>true</enforce.activate>
        <maven-enforcer-plugin.version>3.0.0-M3</maven-enforcer-plugin.version>
        <checkstyle.plugin.version>3.1.2</checkstyle.plugin.version>
        <checkstyle.version>9.2</checkstyle.version>
        <checkstyle.configdir>${project.basedir}/src/site/resources/checkstyle
        </checkstyle.configdir>
    </properties>

    <profiles>
        <profile>
            <id>ossrh</id>
            <!-- GPG mvn clean deploy -P release -Dgpg.passphrase=YourPassphase -->
            <build>
                <plugins>
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-gpg-plugin</artifactId>
                        <version>${maven-gpg-plugin.version}</version>
                        <executions>
                            <execution>
                                <id>sign-artifacts</id>
                                <phase>verify</phase>
                                <goals>
                                    <goal>sign</goal>
                                </goals>
                            </execution>
                        </executions>
                    </plugin>
                </plugins>
            </build>
        </profile>
        <profile>
            <id>update</id>
            <build>
                <plugins>
                    <plugin>
                        <groupId>org.codehaus.mojo</groupId>
                        <artifactId>versions-maven-plugin</artifactId>
                        <version>${versions-maven-plugin.version}</version>
                        <configuration>
                            <allowSnapshots>false</allowSnapshots>
                            <excludes>
                                <exclude>org.slf4j:*</exclude>
                                <exclude>
                                    com.xenoamess.cyan_potion:SDL_GameControllerDB_Util
                                </exclude>
                            </excludes>
                        </configuration>
                        <executions>
                            <execution>
                                <phase>initialize</phase>
                                <goals>
                                    <goal>update-properties</goal>
                                </goals>
                            </execution>
                        </executions>
                    </plugin>
                </plugins>
            </build>
        </profile>
        <profile>
            <id>enforce</id>
            <activation>
                <property>
                    <name>enforce.activate</name>
                </property>
            </activation>
            <build>
                <plugins>
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-enforcer-plugin</artifactId>
                        <version>${maven-enforcer-plugin.version}</version>
                        <executions>
                            <execution>
                                <goals>
                                    <goal>enforce</goal>
                                </goals>
                            </execution>
                        </executions>
                        <configuration>
                            <rules>
                                <dependencyConvergence/>
                                <banDuplicatePomDependencyVersions/>
                            </rules>
                        </configuration>
                    </plugin>
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-checkstyle-plugin</artifactId>
                        <version>${checkstyle.plugin.version}</version>
                        <executions>
                            <execution>
                                <phase>validate</phase>
                                <goals>
                                    <goal>check</goal>
                                </goals>
                            </execution>
                        </executions>
                        <configuration>
                            <configLocation>
                                ${checkstyle.configdir}/checkstyle.xml
                            </configLocation>
                            <includeTestSourceDirectory>true
                            </includeTestSourceDirectory>
                            <enableRulesSummary>false</enableRulesSummary>
                        </configuration>
                        <dependencies>
                            <dependency>
                                <groupId>com.puppycrawl.tools</groupId>
                                <artifactId>checkstyle</artifactId>
                                <version>${checkstyle.version}</version>
                            </dependency>
                        </dependencies>
                    </plugin>
                </plugins>
            </build>
        </profile>

        <profile>
            <id>lwjgl-natives-linux-amd64</id>
            <activation>
                <os>
                    <family>unix</family>
                    <arch>amd64</arch>
                </os>
            </activation>
            <properties>
                <lwjgl.natives>natives-linux</lwjgl.natives>
            </properties>
        </profile>
        <profile>
            <id>lwjgl-natives-linux-aarch64</id>
            <activation>
                <os>
                    <family>unix</family>
                    <arch>aarch64</arch>
                </os>
            </activation>
            <properties>
                <lwjgl.natives>natives-linux-arm64</lwjgl.natives>
            </properties>
        </profile>
        <profile>
            <id>lwjgl-natives-linux-arm</id>
            <activation>
                <os>
                    <family>unix</family>
                    <arch>arm</arch>
                </os>
            </activation>
            <properties>
                <lwjgl.natives>natives-linux-arm32</lwjgl.natives>
            </properties>
        </profile>
        <profile>
            <id>lwjgl-natives-linux-arm32</id>
            <activation>
                <os>
                    <family>unix</family>
                    <arch>arm32</arch>
                </os>
            </activation>
            <properties>
                <lwjgl.natives>natives-linux-arm32</lwjgl.natives>
            </properties>
        </profile>
        <profile>
            <id>lwjgl-natives-macos-amd64</id>
            <activation>
                <os>
                    <family>mac</family>
                    <arch>amd64</arch>
                </os>
            </activation>
            <properties>
                <lwjgl.natives>natives-macos</lwjgl.natives>
            </properties>
            <dependencies>
                <dependency>
                    <groupId>org.lwjgl</groupId>
                    <artifactId>lwjgl-vulkan</artifactId>
                    <classifier>natives-macos</classifier>
                </dependency>
            </dependencies>
        </profile>
        <profile>
            <id>lwjgl-natives-windows-amd64</id>
            <activation>
                <os>
                    <family>windows</family>
                    <arch>amd64</arch>
                </os>
            </activation>
            <properties>
                <lwjgl.natives>natives-windows</lwjgl.natives>
            </properties>
        </profile>
        <profile>
            <id>lwjgl-natives-windows-x86</id>
            <activation>
                <os>
                    <family>windows</family>
                    <arch>x86</arch>
                </os>
            </activation>
            <properties>
                <lwjgl.natives>natives-windows-x86</lwjgl.natives>
            </properties>
        </profile>
    </profiles>

    <dependencyManagement>
        <dependencies>
            <!--components start-->
            <dependency>
                <groupId>${project.groupId}</groupId>
                <artifactId>parent</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>${project.groupId}</groupId>
                <artifactId>base</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>${project.groupId}</groupId>
                <artifactId>coordinate</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>${project.groupId}</groupId>
                <artifactId>rpg_module</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>${project.groupId}</groupId>
                <artifactId>demo</artifactId>
                <version>${project.version}</version>
            </dependency>
            <!--components end-->

            <!--test start-->
            <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-engine</artifactId>
                <version>${junit-jupiter.version}</version>
            </dependency>
            <!--test end-->

            <!--annotation start-->
            <dependency>
                <!--licensed under https://creativecommons.org/licenses/by/2.5/-->
                <groupId>net.jcip</groupId>
                <artifactId>jcip-annotations</artifactId>
                <version>${jcip-annotations.version}</version>
            </dependency>
            <dependency>
                <groupId>org.jetbrains</groupId>
                <artifactId>annotations</artifactId>
                <version>${annotations.version}</version>
            </dependency>
            <!--annotation end-->

            <dependency>
                <groupId>org.lwjgl</groupId>
                <artifactId>lwjgl-bom</artifactId>
                <version>${lwjgl.version}</version>
                <scope>import</scope>
                <type>pom</type>
            </dependency>
            <dependency>
                <groupId>org.joml</groupId>
                <artifactId>joml</artifactId>
                <version>${joml.version}</version>
            </dependency>
            <dependency>
                <groupId>com.code-disaster.steamworks4j</groupId>
                <artifactId>steamworks4j</artifactId>
                <version>${steamworks4j.version}</version>
            </dependency>
            <dependency>
                <groupId>com.code-disaster.steamworks4j</groupId>
                <artifactId>steamworks4j-server</artifactId>
                <version>${steamworks4j-server.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.commons</groupId>
                <artifactId>commons-lang3</artifactId>
                <version>${commons-lang3.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-compress</artifactId>
                <version>${commons-compress.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.commons</groupId>
                <artifactId>commons-vfs2</artifactId>
                <version>${commons-vfs2.version}</version>
                <exclusions>
                    <exclusion>
                        <groupId>org.slf4j</groupId>
                        <artifactId>slf4j-log4j12</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>log4j</groupId>
                        <artifactId>log4j</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>org.slf4j</groupId>
                        <artifactId>slf4j-jdk14</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>org.slf4j</groupId>
                        <artifactId>slf4j-nop</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupId>org.apache.commons</groupId>
                <artifactId>commons-collections4</artifactId>
                <version>${commons-collections4.version}</version>
            </dependency>
            <!--        <dependency>-->
            <!--            <groupId>com.google.guava</groupId>-->
            <!--            <artifactId>guava</artifactId>-->
            <!--            <version>${guava.version}</version>-->
            <!--        </dependency>-->

            <dependency>
                <groupId>com.xenoamess</groupId>
                <artifactId>commonx</artifactId>
                <version>${commonx.version}</version>
                <exclusions>
                    <exclusion>
                        <artifactId>slf4j-log4j12</artifactId>
                        <groupId>org.slf4j</groupId>
                    </exclusion>
                    <exclusion>
                        <artifactId>log4j-slf4j-impl</artifactId>
                        <groupId>org.apache.logging.log4j</groupId>
                    </exclusion>
                </exclusions>
            </dependency>

            <dependency>
                <groupId>com.fasterxml.jackson.core</groupId>
                <artifactId>jackson-annotations</artifactId>
                <version>${jackson.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-parameter-names</artifactId>
                <version>${jackson.version}</version>
            </dependency>
            <dependency>
                <groupId>com.fasterxml.jackson.datatype</groupId>
                <artifactId>jackson-datatype-jdk8</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>com.fasterxml.jackson.dataformat</groupId>
                <artifactId>jackson-dataformat-xml</artifactId>
                <version>${jackson.version}</version>
            </dependency>
            <dependency>
                <groupId>com.xenoamess</groupId>
                <artifactId>JXInput</artifactId>
                <version>${JXInput.version}</version>
            </dependency>
            <dependency>
                <groupId>com.xenoamess</groupId>
                <artifactId>Jamepad</artifactId>
                <version>${Jamepad.version}</version>
            </dependency>
            <dependency>
                <groupId>com.xenoamess</groupId>
                <artifactId>x8l</artifactId>
                <version>${x8l.version}</version>
            </dependency>
            <dependency>
                <groupId>com.xenoamess</groupId>
                <artifactId>multi_language</artifactId>
                <version>${multi_language.version}</version>
                <exclusions>
                    <exclusion>
                        <groupId>com.xenoamess</groupId>
                        <artifactId>x8l</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
            <dependency>
                <groupId>org.slf4j</groupId>
                <artifactId>slf4j-log4j12</artifactId>
                <version>${slf4j.version}</version>
            </dependency>
            <dependency>
                <groupId>org.slf4j</groupId>
                <artifactId>slf4j-api</artifactId>
                <version>${slf4j.version}</version>
            </dependency>
            <dependency>
                <groupId>org.slf4j</groupId>
                <artifactId>jcl-over-slf4j</artifactId>
                <version>${slf4j.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.logging.log4j</groupId>
                <artifactId>log4j-api</artifactId>
                <version>${log4j.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.logging.log4j</groupId>
                <artifactId>log4j-core</artifactId>
                <version>${log4j.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.logging.log4j</groupId>
                <artifactId>log4j-bom</artifactId>
                <version>${log4j.version}</version>
                <type>pom</type>
            </dependency>
            <dependency>
                <groupId>com.xenoamess.cyan_potion</groupId>
                <artifactId>SDL_GameControllerDB_Util</artifactId>
                <version>${SDL_GameControllerDB_Util.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.httpcomponents</groupId>
                <artifactId>httpclient</artifactId>
                <version>${httpclient.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.commons</groupId>
                <artifactId>commons-vfs2-jackrabbit1</artifactId>
                <version>${commons-vfs2.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.commons</groupId>
                <artifactId>commons-vfs2-jackrabbit2</artifactId>
                <version>${commons-vfs2.version}</version>
            </dependency>
            <dependency>
                <groupId>org.projectlombok</groupId>
                <artifactId>lombok</artifactId>
                <version>${lombok.version}</version>
            </dependency>
            <dependency>
                <groupId>commons-codec</groupId>
                <artifactId>commons-codec</artifactId>
                <version>${commons-codec.version}</version>
            </dependency>
            <dependency>
                <groupId>commons-httpclient</groupId>
                <artifactId>commons-httpclient</artifactId>
                <version>${commons-httpclient.version}</version>
            </dependency>
            <dependency>
                <groupId>commons-logging</groupId>
                <artifactId>commons-logging</artifactId>
                <version>${commons-logging.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.httpcomponents</groupId>
                <artifactId>httpcore</artifactId>
                <version>${httpcore.version}</version>
            </dependency>
        </dependencies>
    </dependencyManagement>

    <dependencies>
        <!--test start-->
        <dependency>
            <groupId>org.junit.jupiter</groupId>
            <artifactId>junit-jupiter-api</artifactId>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.junit.jupiter</groupId>
            <artifactId>junit-jupiter-engine</artifactId>
            <scope>test</scope>
        </dependency>
        <dependency>
            <!--licensed under https://creativecommons.org/licenses/by/2.5/-->
            <groupId>net.jcip</groupId>
            <artifactId>jcip-annotations</artifactId>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>org.jetbrains</groupId>
            <artifactId>annotations</artifactId>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
        </dependency>
    </dependencies>

    <build>
        <resources>
            <resource>
                <directory>src/main/resources/</directory>
                <filtering>true</filtering>
                <includes>
                    <include>**/*.VERSION</include>
                </includes>
            </resource>
            <resource>
                <directory>src/main/resources</directory>
                <filtering>false</filtering>
                <includes>
                    <include>**/*</include>
                </includes>
            </resource>
        </resources>
        <plugins>
            <plugin>
                <groupId>io.takari</groupId>
                <artifactId>maven</artifactId>
                <version>0.7.7</version>
                <executions>
                    <execution>
                        <goals>
                            <goal>wrapper</goal>
                        </goals>
                        <phase>generate-resources</phase>
                    </execution>
                </executions>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-clean-plugin</artifactId>
                <version>${maven-clean-plugin.version}</version>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-site-plugin</artifactId>
                <version>${maven-site-plugin.version}
                </version>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-project-info-reports-plugin</artifactId>
                <version>${maven-project-info-reports-plugin.version}</version>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-javadoc-plugin</artifactId>
                <version>${maven-javadoc-plugin.version}</version>
                <configuration>
                    <locale>en</locale>
                    <show>private</show>
                    <reportOutputDirectory>../javadocs</reportOutputDirectory>
                    <encoding>${project.build.sourceEncoding}</encoding>
                    <docencoding>${project.reporting.outputEncoding}
                    </docencoding>
                    <additionalJOption>-J-Duser.language=en_US
                    </additionalJOption>

                    <tags>
                        <tag>
                            <name>apiNote</name>
                            <placement>a</placement>
                            <head>API Note:</head>
                        </tag>
                        <tag>
                            <name>implSpec</name>
                            <placement>a</placement>
                            <head>Implementation Requirements:</head>
                        </tag>
                        <tag>
                            <name>implNote</name>
                            <placement>a</placement>
                            <head>Implementation Note:</head>
                        </tag>
                        <tag>
                            <name>param</name>
                        </tag>
                        <tag>
                            <name>return</name>
                        </tag>
                        <tag>
                            <name>throws</name>
                        </tag>
                        <tag>
                            <name>since</name>
                        </tag>
                        <tag>
                            <name>version</name>
                        </tag>
                        <tag>
                            <name>serialData</name>
                        </tag>
                        <tag>
                            <name>see</name>
                        </tag>
                    </tags>

                    <source>${maven.compiler.source}
                    </source>
                    <!--                    <javadocExecutable>${java.home}/bin/javadoc.exe-->
                    <!--                    </javadocExecutable>-->

                    <defaultSince>${project.version}</defaultSince>
                    <encoding>UTF-8</encoding>
                    <fixTags>all</fixTags>
                    <fixClassComment>true</fixClassComment>
                    <fixFieldComment>true</fixFieldComment>
                    <fixMethodComment>true</fixMethodComment>
                    <force>true</force>
                    <ignoreClirr>false</ignoreClirr>
                    <comparisonVersion>1.0</comparisonVersion>
                    <includes>**/*.java</includes>
                    <level>protected</level>
                    <defaultAuthor>XenoAmess</defaultAuthor>
                    <sourcepath>${project.basedir}/target/delombok</sourcepath>
                </configuration>

                <executions>
                    <execution>
                        <phase>package</phase>
                        <goals>
                            <goal>jar</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-deploy-plugin</artifactId>
                <version>${maven-deploy-plugin.version}</version>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-source-plugin</artifactId>
                <version>${maven-source-plugin.version}</version>
                <executions>
                    <execution>
                        <phase>package</phase>
                        <goals>
                            <goal>jar-no-fork</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-surefire-plugin</artifactId>
                <version>${maven-surefire-plugin.version}</version>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>${maven-compiler-plugin.version}</version>
                <configuration>
                    <source>${maven.compiler.source}</source>
                    <target>${maven.compiler.target}</target>
                    <annotationProcessorPaths>
                        <annotationProcessorPath>
                            <groupId>org.projectlombok</groupId>
                            <artifactId>lombok</artifactId>
                            <version>${lombok.version}</version>
                        </annotationProcessorPath>
                    </annotationProcessorPaths>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.projectlombok</groupId>
                <artifactId>lombok-maven-plugin</artifactId>
                <version>${lombok-maven-plugin.version}</version>
                <executions>
                    <execution>
                        <id>delombok</id>
                        <phase>generate-sources</phase>
                        <goals>
                            <goal>delombok</goal>
                        </goals>
                        <configuration>
                            <sourceDirectory>${project.basedir}/src/main/java
                            </sourceDirectory>
                            <addOutputDirectory>false</addOutputDirectory>
                            <outputDirectory>
                                ${project.basedir}/target/delombok
                            </outputDirectory>
                        </configuration>
                    </execution>
                    <execution>
                        <id>testDelombok</id>
                        <phase>generate-test-sources</phase>
                        <goals>
                            <goal>testDelombok</goal>
                        </goals>
                        <configuration>
                            <sourceDirectory>${project.basedir}/src/test/java
                            </sourceDirectory>
                            <addOutputDirectory>false</addOutputDirectory>
                            <outputDirectory>
                                ${project.basedir}/target/testDelombok
                            </outputDirectory>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
            <plugin>
                <groupId>org.jacoco</groupId>
                <artifactId>jacoco-maven-plugin</artifactId>
                <version>${jacoco-maven-plugin.version}</version>
                <executions>
                    <execution>
                        <id>prepare-agent</id>
                        <phase>validate</phase>
                        <goals>
                            <goal>prepare-agent</goal>
                        </goals>
                    </execution>
                    <execution>
                        <id>report</id>
                        <phase>prepare-package</phase>
                        <goals>
                            <goal>report</goal>
                        </goals>
                    </execution>
                </executions>
                <configuration>
                    <includes>
                        <include>${project.basedir}/src/main/lombok</include>
                        <include>${project.basedir}/src/main/java</include>
                        <include>${project.basedir}/src/test/lombok</include>
                        <include>${project.basedir}/src/src/test/java</include>
                    </includes>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.codehaus.mojo</groupId>
                <artifactId>animal-sniffer-maven-plugin</artifactId>
                <version>${animal-sniffer-maven-plugin.version}</version>
                <executions>
                    <execution>
                        <phase>test</phase>
                        <goals>
                            <goal>check</goal>
                        </goals>
                    </execution>
                </executions>
                <configuration>
                    <signature>
                        <groupId>org.codehaus.mojo.signature</groupId>
                        <artifactId>java18</artifactId>
                        <version>1.0</version>
                    </signature>
                </configuration>
            </plugin>
        </plugins>
    </build>
    <reporting>
        <plugins>
            <plugin>
                <groupId>org.jacoco</groupId>
                <artifactId>jacoco-maven-plugin</artifactId>
                <reportSets>
                    <reportSet>
                        <reports>
                            <!-- select non-aggregate reports -->
                            <report>report</report>
                        </reports>
                    </reportSet>
                </reportSets>
            </plugin>
        </plugins>
    </reporting>

    <distributionManagement>
        <snapshotRepository>
            <id>ossrh</id>
            <name>OSS Snapshots Repository</name>
            <url>https://oss.sonatype.org/content/repositories/snapshots/</url>
        </snapshotRepository>
        <repository>
            <id>ossrh</id>
            <name>OSS Staging Repository</name>
            <url>https://oss.sonatype.org/service/local/staging/deploy/maven2/
            </url>
        </repository>
    </distributionManagement>
</project>