<!--

    Copyright 2011-2022 Erwin Müller <erwin.mueller@anrisoftware.com>

    Licensed under the Apache License, Version 2.0 (the "License");
    you may not use this file except in compliance with the License.
    You may obtain a copy of the License at

        http://www.apache.org/licenses/LICENSE-2.0

    Unless required by applicable law or agreed to in writing, software
    distributed under the License is distributed on an "AS IS" BASIS,
    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    See the License for the specific language governing permissions and
    limitations under the License.

-->
<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.anrisoftware.globalpom</groupId>
    <artifactId>globalpom-parent</artifactId>
    <version>4.6.2</version>
    <packaging>pom</packaging>
    <name>Global POM :: Parent</name>
    <description>Declares all dependencies and all Maven plug-ins needed for a
Advanced Natural Research Institute software
project. It will declare the listed properties, add plug-in to deploy
source and test sources and deploy the project-tests with the project jar.</description>
    <inceptionYear>2011</inceptionYear>
    <url>https://javadoc.anrisoftware.com/${project.groupId}/${project.artifactId}/${project.version}/</url>

    <developers>
        <developer>
            <id>EM</id>
            <name>Erwin Müller</name>
            <organization>Advanced Natural Research Institute</organization>
            <email>erwin.mueller@anrisoftware.com</email>
            <roles>
                <role>Owner</role>
                <role>Developer</role>
            </roles>
            <timezone>Europe/Berlin</timezone>
        </developer>
    </developers>

    <organization>
        <name>Advanced Natural Research Institute</name>
        <url>https://anrisoftware.com/</url>
    </organization>

    <licenses>
        <license>
            <name>Apache License, Version 2.0</name>
            <url>http://www.apache.org/licenses/LICENSE-2.0</url>
            <distribution>repo</distribution>
        </license>
    </licenses>

    <issueManagement>
        <system>Redmine</system>
        <url>https://project.anrisoftware.com/projects/globalpom</url>
    </issueManagement>

    <properties>
        <globalpom.custom.homepage>https://project.anrisoftware.com</globalpom.custom.homepage>
        <globalpom.custom.requireMavenVersion>3.6.0</globalpom.custom.requireMavenVersion>
        <globalpom.custom.current.year>2022</globalpom.custom.current.year>
        <globalpom.custom.year>${project.inceptionYear}-${globalpom.custom.current.year}</globalpom.custom.year>
        <globalpom.custom.user.name>Erwin Müller</globalpom.custom.user.name>
        <globalpom.custom.user.email>erwin.mueller@anrisoftware.com</globalpom.custom.user.email>
        <globalpom.custom.home>https://project.anrisoftware.com/projects/globalpom</globalpom.custom.home>
        <globalpom.custom.license.image.url>https://project.anrisoftware.com/attachments/download/217/apache2.0-small.gif</globalpom.custom.license.image.url>
        <globalpom.custom.central.url>https://search.maven.org/artifact/${project.groupId}/${project.artifactId}/${project.version}/pom</globalpom.custom.central.url>
        <globalpom.custom.scm.repo>https://gitea.anrisoftware.com/com.anrisoftware.globalpom/globalpom-parent.git</globalpom.custom.scm.repo>
        <globalpom.custom.scm.github>https://github.com/devent/globalpom-parent</globalpom.custom.scm.github>
        <globalpom.custom.scm.pub>scm:git:https://gitea.anrisoftware.com/com.anrisoftware.globalpom/globalpom-parent.git</globalpom.custom.scm.pub>
        <globalpom.custom.scm.dev>scm:git:git@anrisoftware.com:anrisoftware.com/globalpom-parent.git</globalpom.custom.scm.dev>
        <globalpom.custom.scm.url>${globalpom.custom.home}/repository</globalpom.custom.scm.url>
        <globalpom.custom.jenkins.url>https://jenkins.anrisoftware.com/job/com.anrisoftware.globalpom-globalpom-parent</globalpom.custom.jenkins.url>
        <globalpom.custom.jenkins.build.badge.main>${globalpom.custom.jenkins.url}/job/main/badge/icon</globalpom.custom.jenkins.build.badge.main>
        <globalpom.custom.jenkins.build.link.main>${globalpom.custom.jenkins.url}/job/main</globalpom.custom.jenkins.build.link.main>
        <globalpom.custom.sonarqube.url>https://sonar.anrisoftware.com/dashboard?id=com.anrisoftware.globalpom%3Aglobalpom-parent</globalpom.custom.sonarqube.url>
        <globalpom.custom.sonarqube.qualitygate.badge>https://sonar.anrisoftware.com/api/badges/gate?key=com.anrisoftware.globalpom%3Aglobalpom-parent</globalpom.custom.sonarqube.qualitygate.badge>
        <globalpom.custom.sonarqube.qualitygate.link>${globalpom.custom.sonarqube.url}</globalpom.custom.sonarqube.qualitygate.link>
        <license.custom.license.template>src/main/resources/apache-header.txt</license.custom.license.template>
        <license.custom.license.owner>Erwin Müller</license.custom.license.owner>
        <license.custom.license.email>erwin.mueller@anrisoftware.com</license.custom.license.email>
        <license.licenseName>apache_v2</license.licenseName>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <file.encoding>${project.build.sourceEncoding}</file.encoding>
        <globalpom.custom.resources.escapestring>\</globalpom.custom.resources.escapestring>
        <project.reporting.outputEncoding>${project.build.sourceEncoding}</project.reporting.outputEncoding>
        <!-- Sonar -->
        <sonar.java.coveragePlugin>jacoco</sonar.java.coveragePlugin>
        <sonar.dynamicAnalysis>reuseReports</sonar.dynamicAnalysis>
        <!-- Versions -->
        <globalpom.custom.anrisoftware.version>4.6.2</globalpom.custom.anrisoftware.version>
        <globalpom.custom.groovy.version>3.0.11</globalpom.custom.groovy.version>
        <globalpom.custom.groovy-eclipse-compiler.version>3.7.0</globalpom.custom.groovy-eclipse-compiler.version>
        <globalpom.custom.groovy-eclipse-batch.version>3.0.8-01</globalpom.custom.groovy-eclipse-batch.version>
        <globalpom.custom.source.source>11</globalpom.custom.source.source>
        <globalpom.custom.source.target>11</globalpom.custom.source.target>
        <globalpom.custom.izpack.standalone.compiler.version>4.3.5</globalpom.custom.izpack.standalone.compiler.version>
        <globalpom.custom.slf4j.version>1.7.36</globalpom.custom.slf4j.version>
        <globalpom.custom.logback.version>1.2.11</globalpom.custom.logback.version>
        <globalpom.custom.pax.exam.version>4.13.4</globalpom.custom.pax.exam.version>
        <globalpom.custom.pax.url.version>2.6.7</globalpom.custom.pax.url.version>
        <globalpom.custom.cxf.version>3.5.2</globalpom.custom.cxf.version>
        <globalpom.custom.hibernate.version>6.0.2.Final</globalpom.custom.hibernate.version>
        <globalpom.custom.hibernate-validator.version>6.0.10.Final</globalpom.custom.hibernate-validator.version>
        <globalpom.custom.spring.version>5.2.22.RELEASE</globalpom.custom.spring.version>
        <globalpom.custom.spring-boot.version>2.3.12.RELEASE</globalpom.custom.spring-boot.version>
        <globalpom.custom.querydsl.version>5.0.0</globalpom.custom.querydsl.version>
        <globalpom.custom.jacoco.version>0.8.8</globalpom.custom.jacoco.version>
        <spring-amqp.version>2.1.0.RELEASE</spring-amqp.version>
        <spring-batch.version>4.1.0.RELEASE</spring-batch.version>
        <spring-cloud-connectors.version>2.0.3.RELEASE</spring-cloud-connectors.version>
        <spring-data-releasetrain.version>Lovelace-SR2</spring-data-releasetrain.version>
        <spring-framework.version>${spring.version}</spring-framework.version>
        <spring-hateoas.version>0.25.0.RELEASE</spring-hateoas.version>
        <spring-integration.version>5.1.0.RELEASE</spring-integration.version>
        <spring-kafka.version>2.2.0.RELEASE</spring-kafka.version>
        <spring-ldap.version>2.3.2.RELEASE</spring-ldap.version>
        <spring-plugin.version>1.2.0.RELEASE</spring-plugin.version>
        <spring-restdocs.version>2.0.2.RELEASE</spring-restdocs.version>
        <spring-retry.version>1.2.2.RELEASE</spring-retry.version>
        <spring-security.version>5.1.1.RELEASE</spring-security.version>
        <spring-session-bom.version>Bean-RELEASE</spring-session-bom.version>
        <spring-ws.version>3.0.4.RELEASE</spring-ws.version>
        <globalpom.custom.flywaydb.version>8.5.12</globalpom.custom.flywaydb.version>
        <globalpom.custom.flywaydb.flyway-test-extensions.version>7.0.0</globalpom.custom.flywaydb.flyway-test-extensions.version>
        <globalpom.custom.fasterxml.version>2.13.3</globalpom.custom.fasterxml.version>
        <globalpom.custom.httpcomponents.version>4.5.13</globalpom.custom.httpcomponents.version>
        <globalpom.custom.junit.jupiter.version>5.8.2</globalpom.custom.junit.jupiter.version>
        <globalpom.custom.junit.platform.version>1.8.1</globalpom.custom.junit.platform.version>
        <globalpom.custom.guice.version>5.1.0</globalpom.custom.guice.version>
        <globalpom.custom.lombok.version>1.18.24</globalpom.custom.lombok.version>
        <globalpom.custom.akka.version>2.6.19</globalpom.custom.akka.version>
        <globalpom.custom.eclipse-collections.version>11.0.0</globalpom.custom.eclipse-collections.version>
        <scala.binary.version>2.13</scala.binary.version>
        <globalpom.custom.auto-service.version>1.0.1</globalpom.custom.auto-service.version>
    </properties>

    <scm>
        <connection>${globalpom.custom.scm.pub}</connection>
        <developerConnection>${globalpom.custom.scm.dev}</developerConnection>
        <url>${globalpom.custom.scm.url}</url>
        <tag>globalpom-parent-4.3.0</tag>
    </scm>

    <distributionManagement>
        <site>
            <id>site-dav</id>
            <url>${site.dav.url}</url>
        </site>
        <repository>
            <id>public_releases</id>
            <url>https://maven.anrisoftware.com/repository/maven-releases/</url>
        </repository>
        <snapshotRepository>
            <id>public_snapshots</id>
            <url>https://maven.anrisoftware.com/repository/maven-snapshots/</url>
        </snapshotRepository>
    </distributionManagement>

    <dependencyManagement>
        <dependencies>

            <!-- slf4j -->
            <dependency>
                <!-- MIT License -->
                <groupId>org.slf4j</groupId>
                <artifactId>slf4j-api</artifactId>
                <version>${globalpom.custom.slf4j.version}</version>
            </dependency>
            <dependency>
                <!-- MIT License -->
                <groupId>org.slf4j</groupId>
                <artifactId>slf4j-log4j12</artifactId>
                <version>${globalpom.custom.slf4j.version}</version>
            </dependency>

            <!-- log4j -->
            <dependency>
                <groupId>log4j</groupId>
                <artifactId>log4j</artifactId>
                <version>1.2.17</version>
            </dependency>

            <!-- logback -->
            <dependency>
                <groupId>ch.qos.logback</groupId>
                <artifactId>logback-core</artifactId>
                <version>${globalpom.custom.logback.version}</version>
            </dependency>
            <dependency>
                <groupId>ch.qos.logback</groupId>
                <artifactId>logback-classic</artifactId>
                <version>${globalpom.custom.logback.version}</version>
            </dependency>
            <dependency>
                <groupId>ch.qos.logback</groupId>
                <artifactId>logback-access</artifactId>
                <version>${globalpom.custom.logback.version}</version>
            </dependency>

            <!-- junit -->
            <dependency>
                <groupId>junit</groupId>
                <artifactId>junit</artifactId>
                <version>4.13.2</version>
            </dependency>
            <dependency>
                <groupId>org.junit.jupiter</groupId>
                <artifactId>junit-jupiter-api</artifactId>
                <version>${globalpom.custom.junit.jupiter.version}</version>
            </dependency>
            <dependency>
                <groupId>org.junit.jupiter</groupId>
                <artifactId>junit-jupiter-engine</artifactId>
                <version>${globalpom.custom.junit.jupiter.version}</version>
            </dependency>
            <dependency>
                <groupId>org.junit.jupiter</groupId>
                <artifactId>junit-jupiter-params</artifactId>
                <version>${globalpom.custom.junit.jupiter.version}</version>
            </dependency>
            <dependency>
                <groupId>org.junit.jupiter</groupId>
                <artifactId>junit-jupiter-migrationsupport</artifactId>
                <version>${globalpom.custom.junit.jupiter.version}</version>
            </dependency>
            <dependency>
                <groupId>org.junit.platform</groupId>
                <artifactId>junit-platform-launcher</artifactId>
                <version>${globalpom.custom.junit.platform.version}</version>
            </dependency>
            <dependency>
                <groupId>org.junit.platform</groupId>
                <artifactId>junit-platform-commons</artifactId>
                <version>1.8.1</version>
            </dependency>

            <dependency>
                <groupId>org.mockito</groupId>
                <artifactId>mockito-core</artifactId>
                <version>4.6.1</version>
            </dependency>
            <dependency>
                <groupId>org.mockito</groupId>
                <artifactId>mockito-junit-jupiter</artifactId>
                <version>4.6.1</version>
            </dependency>

            <!-- perf4j -->
            <dependency>
                <!-- Apache 2.0 -->
                <groupId>org.perf4j</groupId>
                <artifactId>perf4j</artifactId>
                <version>0.9.16</version>
            </dependency>

            <!-- perfidix -->
            <dependency>
                <!-- BSD-3 -->
                <groupId>org.perfidix</groupId>
                <artifactId>perfidix</artifactId>
                <version>3.6.9</version>
            </dependency>

            <!-- easytesting fest -->
            <dependency>
                <!-- Apache 2.0 -->
                <groupId>org.easytesting</groupId>
                <artifactId>fest-reflect</artifactId>
                <version>1.4.1</version>
            </dependency>
            <dependency>
                <!-- Apache 2.0 -->
                <groupId>org.easytesting</groupId>
                <artifactId>fest-swing-junit-4.5</artifactId>
                <version>1.2.1</version>
            </dependency>
            <dependency>
                <!-- Apache 2.0 -->
                <groupId>org.easytesting</groupId>
                <artifactId>fest-util</artifactId>
                <version>1.2.5</version>
            </dependency>

            <!-- trove -->
            <!-- The Trove library provides high speed regular and primitive
                collections for Java. -->
            <dependency>
                <!-- LGPLv2 -->
                <groupId>net.sf.trove4j</groupId>
                <artifactId>trove4j</artifactId>
                <version>3.0.3</version>
            </dependency>

            <!-- jspf -->
            <dependency>
                <groupId>net.xeoh</groupId>
                <artifactId>jspf-core</artifactId>
                <version>1.0.3</version>
            </dependency>

            <!-- ammentos -->
            <dependency>
                <groupId>it.biobytes.ammentos</groupId>
                <artifactId>ammentos</artifactId>
                <version>1.3.7</version>
            </dependency>

            <!-- java-image-scaling -->
            <!-- The purpose of the library is to provide better image scaling
                options than the Java runtime provides. -->
            <dependency>
                <!-- LGPLv3 -->
                <groupId>com.mortennobel</groupId>
                <artifactId>java-image-scaling</artifactId>
                <version>0.8.6</version>
            </dependency>

            <!-- groovy -->
            <!-- Groovy: A powerful, dynamic language for the JVM -->
            <dependency>
                <!-- Apache 2.0 -->
                <groupId>org.codehaus.groovy</groupId>
                <artifactId>groovy-all</artifactId>
                <version>${globalpom.custom.groovy.version}</version>
            </dependency>
            <dependency>
                <!-- Apache 2.0 -->
                <groupId>org.codehaus.groovy</groupId>
                <artifactId>groovy</artifactId>
                <version>${globalpom.custom.groovy.version}</version>
            </dependency>
            <dependency>
                <!-- Apache 2.0 -->
                <groupId>org.codehaus.groovy</groupId>
                <artifactId>groovy-ant</artifactId>
                <version>${globalpom.custom.groovy.version}</version>
            </dependency>
            <dependency>
                <!-- Apache 2.0 -->
                <groupId>org.codehaus.groovy</groupId>
                <artifactId>groovy-bsf</artifactId>
                <version>${globalpom.custom.groovy.version}</version>
            </dependency>
            <dependency>
                <!-- Apache 2.0 -->
                <groupId>org.codehaus.groovy</groupId>
                <artifactId>groovy-console</artifactId>
                <version>${globalpom.custom.groovy.version}</version>
            </dependency>
            <dependency>
                <!-- Apache 2.0 -->
                <groupId>org.codehaus.groovy</groupId>
                <artifactId>groovy-docgenerator</artifactId>
                <version>${globalpom.custom.groovy.version}</version>
            </dependency>
            <dependency>
                <!-- Apache 2.0 -->
                <groupId>org.codehaus.groovy</groupId>
                <artifactId>groovy-groovydoc</artifactId>
                <version>${globalpom.custom.groovy.version}</version>
            </dependency>
            <dependency>
                <!-- Apache 2.0 -->
                <groupId>org.codehaus.groovy</groupId>
                <artifactId>groovy-groovysh</artifactId>
                <version>${globalpom.custom.groovy.version}</version>
            </dependency>
            <dependency>
                <!-- Apache 2.0 -->
                <groupId>org.codehaus.groovy</groupId>
                <artifactId>groovy-jmx</artifactId>
                <version>${globalpom.custom.groovy.version}</version>
            </dependency>
            <dependency>
                <!-- Apache 2.0 -->
                <groupId>org.codehaus.groovy</groupId>
                <artifactId>groovy-json</artifactId>
                <version>${globalpom.custom.groovy.version}</version>
            </dependency>
            <dependency>
                <!-- Apache 2.0 -->
                <groupId>org.codehaus.groovy</groupId>
                <artifactId>groovy-jsr223</artifactId>
                <version>${globalpom.custom.groovy.version}</version>
            </dependency>
            <dependency>
                <!-- Apache 2.0 -->
                <groupId>org.codehaus.groovy</groupId>
                <artifactId>groovy-servlet</artifactId>
                <version>${globalpom.custom.groovy.version}</version>
            </dependency>
            <dependency>
                <!-- Apache 2.0 -->
                <groupId>org.codehaus.groovy</groupId>
                <artifactId>groovy-sql</artifactId>
                <version>${globalpom.custom.groovy.version}</version>
            </dependency>
            <dependency>
                <!-- Apache 2.0 -->
                <groupId>org.codehaus.groovy</groupId>
                <artifactId>groovy-swing</artifactId>
                <version>${globalpom.custom.groovy.version}</version>
            </dependency>
            <dependency>
                <!-- Apache 2.0 -->
                <groupId>org.codehaus.groovy</groupId>
                <artifactId>groovy-templates</artifactId>
                <version>${globalpom.custom.groovy.version}</version>
            </dependency>
            <dependency>
                <!-- Apache 2.0 -->
                <groupId>org.codehaus.groovy</groupId>
                <artifactId>groovy-test</artifactId>
                <version>${globalpom.custom.groovy.version}</version>
            </dependency>
            <dependency>
                <!-- Apache 2.0 -->
                <groupId>org.codehaus.groovy</groupId>
                <artifactId>groovy-testng</artifactId>
                <version>${globalpom.custom.groovy.version}</version>
            </dependency>
            <dependency>
                <!-- Apache 2.0 -->
                <groupId>org.codehaus.groovy</groupId>
                <artifactId>groovy-xml</artifactId>
                <version>${globalpom.custom.groovy.version}</version>
            </dependency>
            <dependency>
                <groupId>org.codehaus.groovy</groupId>
                <artifactId>groovy-eclipse-batch</artifactId>
                <version>${globalpom.custom.groovy-eclipse-batch.version}</version>
            </dependency>

            <!-- apache commons -->
            <dependency>
                <!-- Apache Commons Compress software defines an API for
                    working with compression and archive formats. These include: bzip2, gzip,
                    pack200, lzma, xz, Snappy, traditional Unix Compress and ar, cpio, jar, tar,
                    zip, dump, 7z, arj. -->
                <!-- Apache 2.0 -->
                <groupId>org.apache.commons</groupId>
                <artifactId>commons-compress</artifactId>
                <version>1.21</version>
            </dependency>
            <dependency>
                <!-- Apache Commons Lang, a package of Java utility classes
                    for the classes that are in java. langʼs hierarchy, or are considered to
                    be so standard as to justify existence in java. lang. -->
                <!-- Apache 2.0 -->
                <groupId>org.apache.commons</groupId>
                <artifactId>commons-lang3</artifactId>
                <version>3.12.0</version>
            </dependency>
            <dependency>
                <!-- The Math project is a library of lightweight, self-contained
                    mathematics and statistics components addressing the most common practical
                    problems not immediately available in the Java programming language or commons-lang. -->
                <!-- Apache 2.0 -->
                <groupId>org.apache.commons</groupId>
                <artifactId>commons-math3</artifactId>
                <version>3.6.1</version>
            </dependency>
            <dependency>
                <!-- Apache Commons Exec is a library to reliably execute
                    external processes from within the JVM. -->
                <!-- Apache 2.0 -->
                <groupId>org.apache.commons</groupId>
                <artifactId>commons-exec</artifactId>
                <version>1.3</version>
            </dependency>
            <dependency>
                <!-- VFS is a Virtual File System library. -->
                <!-- Apache 2.0 -->
                <groupId>org.apache.commons</groupId>
                <artifactId>commons-vfs2</artifactId>
                <version>2.9.0</version>
            </dependency>
            <dependency>
                <!-- Contains types that extend and augment the Java Collections
                    Framework. -->
                <!-- Apache 2.0 -->
                <groupId>org.apache.commons</groupId>
                <artifactId>commons-collections4</artifactId>
                <version>4.4</version>
            </dependency>
            <dependency>
                <!-- Apache Commons Net library contains a collection of
                    network utilities and protocol implementations. Supported protocols include:
                    Echo, Finger, FTP, NNTP, NTP, POP3(S), SMTP(S), Telnet, Whois -->
                <!-- Apache 2.0 -->
                <groupId>commons-net</groupId>
                <artifactId>commons-net</artifactId>
                <version>3.8.0</version>
            </dependency>
            <dependency>
                <!-- The codec package contains simple encoder and decoders
                    for various formats such as Base64 and Hexadecimal. In addition to these
                    widely used encoders and decoders, the codec package also maintains a collection
                    of phonetic encoding utilities. -->
                <!-- Apache 2.0 -->
                <groupId>commons-codec</groupId>
                <artifactId>commons-codec</artifactId>
                <version>1.15</version>
            </dependency>
            <dependency>
                <!-- The Commons IO library contains utility classes, stream
                    implementations, file filters, file comparators, endian transformation classes,
                    and much more. -->
                <!-- Apache 2.0 -->
                <groupId>commons-io</groupId>
                <artifactId>commons-io</artifactId>
                <version>2.11.0</version>
            </dependency>
            <!-- Commons Transaction -->
            <dependency>
                <!-- Apache -->
                <groupId>commons-transaction</groupId>
                <artifactId>commons-transaction</artifactId>
                <version>1.2</version>
            </dependency>
            <dependency>
                <!-- CDDL + GPLv2 with classpath exception -->
                <groupId>javax</groupId>
                <artifactId>javaee-api</artifactId>
                <version>8.0.1</version>
            </dependency>
            <dependency>
                <groupId>org.apache.commons</groupId>
                <artifactId>commons-text</artifactId>
                <version>1.9</version>
            </dependency>

            <!-- google guice -->
            <!-- Guice is a lightweight dependency injection framework for
                Java 5 and above. -->
            <dependency>
                <!-- Apache 2.0 -->
                <groupId>com.google.inject</groupId>
                <artifactId>guice</artifactId>
                <version>${globalpom.custom.guice.version}</version>
            </dependency>
            <dependency>
                <!-- Apache 2.0 -->
                <groupId>com.google.inject.extensions</groupId>
                <artifactId>guice-assistedinject</artifactId>
                <version>${globalpom.custom.guice.version}</version>
            </dependency>
            <dependency>
                <!-- Apache 2.0 -->
                <groupId>javax.inject</groupId>
                <artifactId>javax.inject</artifactId>
                <version>1</version>
            </dependency>
            <dependency>
                <!-- Public Domain -->
                <groupId>aopalliance</groupId>
                <artifactId>aopalliance</artifactId>
                <version>1.0</version>
            </dependency>
            <dependency>
                <!-- LGPL -->
                <groupId>net.sourceforge.findbugs</groupId>
                <artifactId>jsr305</artifactId>
                <version>1.3.7</version>
            </dependency>
            <dependency>
                <groupId>com.google.code.findbugs</groupId>
                <artifactId>jsr305</artifactId>
                <version>3.0.2</version>
            </dependency>
            <dependency>
                <groupId>com.google.code.findbugs</groupId>
                <artifactId>annotations</artifactId>
                <version>3.0.1u2</version>
            </dependency>

            <!-- Table Layout -->
            <!-- TableLayout is a totally free layout manager designed to
                make creating user interfaces fast and easy. It can do anything GridBagLayout
                can do and much, much more. Yet it is remarkably simple and easy to use. -->
            <dependency>
                <groupId>tablelayout</groupId>
                <artifactId>TableLayout</artifactId>
                <version>20050920</version>
            </dependency>

            <!-- MyDoggy -->
            <dependency>
                <!-- MyDoggy-Plaf is the default implementation of mydoggy-api. -->
                <!-- LGPL -->
                <groupId>net.sourceforge.mydoggy</groupId>
                <artifactId>mydoggy-plaf</artifactId>
                <version>1.5.0-beta-r1389</version>
            </dependency>

            <!-- string template -->
            <!-- StringTemplate is a java template engine for generating
                source code, web pages, emails, or any other formatted text output. -->
            <dependency>
                <!-- BSD -->
                <groupId>org.antlr</groupId>
                <artifactId>ST4</artifactId>
                <version>4.3.3</version>
            </dependency>

            <!-- sqlite -->
            <dependency>
                <!-- SQLite JDBC library -->
                <groupId>org.xerial</groupId>
                <artifactId>sqlite-jdbc</artifactId>
                <version>3.36.0.3</version>
            </dependency>

            <!-- args4j -->
            <dependency>
                <!-- MIT License -->
                <groupId>args4j</groupId>
                <artifactId>args4j</artifactId>
                <version>2.33</version>
            </dependency>

            <!-- xstream -->
            <!-- Java to XML Serialization, and back again. -->
            <dependency>
                <!-- BSD style -->
                <groupId>com.thoughtworks.xstream</groupId>
                <artifactId>xstream</artifactId>
                <version>1.4.19</version>
            </dependency>

            <!-- javacsv -->
            <dependency>
                <!-- LGPL -->
                <groupId>com.csvreader</groupId>
                <artifactId>javacsv</artifactId>
                <version>2.1</version>
            </dependency>

            <!-- jasypt -->
            <!-- Java library which enables encryption in java apps with
                minimum effort. -->
            <dependency>
                <!-- Apache 2.0 -->
                <groupId>org.jasypt</groupId>
                <artifactId>jasypt</artifactId>
                <version>1.9.3</version>
            </dependency>

            <!-- ostermiller utils -->
            <!-- Open source (GPL) Java utilities maintained by Stephen Ostermiller
                with help from many contributors. -->
            <dependency>
                <!-- GPLv2 -->
                <groupId>org.ostermiller</groupId>
                <artifactId>utils</artifactId>
                <version>1.07.00</version>
            </dependency>

            <!-- hazelcast -->
            <!-- Hazelcast is an in-memory data grid solution for Java. -->
            <dependency>
                <!-- Apache 2.0 -->
                <groupId>com.hazelcast</groupId>
                <artifactId>hazelcast-all</artifactId>
                <version>5.1.1</version>
            </dependency>

            <!-- piccolo2d -->
            <!-- A revolutionary way to create robust, full-featured graphical
                applications in Java and C#, with striking visual effects such as zooming,
                animation and multiple representations. -->
            <dependency>
                <!-- BSD -->
                <groupId>org.piccolo2d</groupId>
                <artifactId>piccolo2d-core</artifactId>
                <version>3.0.1</version>
            </dependency>
            <dependency>
                <!-- BSD -->
                <groupId>org.piccolo2d</groupId>
                <artifactId>piccolo2d-extras</artifactId>
                <version>3.0.1</version>
            </dependency>

            <!-- tweenengine -->
            <dependency>
                <!-- Apache 2.0 -->
                <groupId>aurelienribon.tweenengine</groupId>
                <artifactId>tween-engine-api</artifactId>
                <version>6.3.3</version>
            </dependency>

            <!-- joda time -->
            <!-- Date and time library to replace JDK date handling -->
            <dependency>
                <!-- Apache 2.0 -->
                <groupId>joda-time</groupId>
                <artifactId>joda-time</artifactId>
                <version>2.10.14</version>
            </dependency>

            <!-- quartz-scheduler -->
            <!-- Enterprise Job Scheduler -->
            <dependency>
                <!-- Apache 2.0 -->
                <groupId>org.quartz-scheduler</groupId>
                <artifactId>quartz</artifactId>
                <version>2.3.2</version>
            </dependency>

            <!-- EJML -->
            <!-- A fast and easy to use dense matrix linear algebra library
                written in Java. -->
            <dependency>
                <!-- LGPL -->
                <groupId>com.googlecode.efficient-java-matrix-library</groupId>
                <artifactId>ejml</artifactId>
                <version>0.25</version>
            </dependency>

            <!-- mime-util -->
            <dependency>
                <!-- Apache 2.0 -->
                <groupId>eu.medsea.mimeutil</groupId>
                <artifactId>mime-util</artifactId>
                <version>2.1.3</version>
            </dependency>

            <!-- JNA -->
            <!-- Java Native Access -->
            <dependency>
                <groupId>net.java.dev.jna</groupId>
                <artifactId>jna</artifactId>
                <version>5.11.0</version>
            </dependency>
            <dependency>
                <groupId>net.java.dev.jna</groupId>
                <artifactId>jna-platform</artifactId>
                <version>5.11.0</version>
            </dependency>

            <!-- substance look&feel -->
            <dependency>
                <!-- A fork of @kirilcoolʼs substance project -->
                <!-- BSD License -->
                <groupId>com.github.insubstantial</groupId>
                <artifactId>substance</artifactId>
                <version>7.3</version>
            </dependency>

            <!-- kryo serializer -->
            <!-- Fast, efficient Java serialization -->
            <dependency>
                <!-- New BSD License -->
                <groupId>com.esotericsoftware.kryo</groupId>
                <artifactId>kryo</artifactId>
                <version>2.24.0</version>
            </dependency>

            <!-- migkayout -->
            <!-- MiGLayout - Java Layout Manager for Swing, SWT and JavaFX -->
            <dependency>
                <!-- BSD -->
                <groupId>com.miglayout</groupId>
                <artifactId>miglayout-swing</artifactId>
                <version>11.0</version>
            </dependency>

            <!-- jfreechart -->
            <!-- JFreeChart is a class library, written in Java, for generating
                charts. Utilising the Java2D APIs, it currently supports bar charts, pie
                charts, line charts, XY-plots and time series plots. -->
            <dependency>
                <!-- LGPL -->
                <groupId>org.jfree</groupId>
                <artifactId>jfreechart</artifactId>
                <version>1.5.3</version>
            </dependency>

            <!-- jdesktop -->
            <dependency>
                <groupId>org.jdesktop</groupId>
                <artifactId>beansbinding</artifactId>
                <version>1.2.1</version>
            </dependency>

            <!-- jscience -->
            <dependency>
                <!-- Apache -->
                <groupId>org.jscience</groupId>
                <artifactId>jscience</artifactId>
                <version>4.3.1</version>
            </dependency>

            <!-- swingx -->
            <!-- Contains extensions to the Swing GUI toolkit, including
                new and enhanced components that provide functionality commonly required
                by rich client applications. -->
            <dependency>
                <!-- LGPL -->
                <groupId>org.swinglabs.swingx</groupId>
                <artifactId>swingx-core</artifactId>
                <version>1.6.5-1</version>
            </dependency>

            <!-- docking-frames -->
            <!-- DockingFrames is an open source Java Swing docking framework. -->
            <dependency>
                <!-- LGPL -->
                <groupId>org.dockingframes</groupId>
                <artifactId>docking-frames-core</artifactId>
                <version>1.1.2-p16a</version>
            </dependency>
            <dependency>
                <!-- LGPL -->
                <groupId>org.dockingframes</groupId>
                <artifactId>docking-frames-common</artifactId>
                <version>1.1.2-p16a</version>
            </dependency>

            <!-- supercsv -->
            <dependency>
                <!-- Apache 2.0 -->
                <groupId>net.sf.supercsv</groupId>
                <artifactId>super-csv</artifactId>
                <version>2.4.0</version>
            </dependency>

            <!-- Small set of Java tools for dealing with streams (InputStreams
                and OutputStreams). -->
            <dependency>
                <!-- BSD -->
                <groupId>net.sf.jsignature.io-tools</groupId>
                <artifactId>easystream</artifactId>
                <version>1.2.15</version>
            </dependency>

            <!-- JTattoo - Consists of several different Look and Feels for
                Swing applications -->
            <dependency>
                <groupId>com.jtattoo</groupId>
                <artifactId>JTattoo</artifactId>
                <version>1.6.13</version>
            </dependency>

            <!-- JDatePicker and JDatePanel is a Java Swing component. -->
            <dependency>
                <!-- Simplified BSD License -->
                <groupId>org.jdatepicker</groupId>
                <artifactId>jdatepicker</artifactId>
                <version>1.3.4</version>
            </dependency>

            <!-- Java Image Processing Pages. -->
            <dependency>
                <!-- Apache License, Version 2.0 -->
                <groupId>com.jhlabs</groupId>
                <artifactId>filters</artifactId>
                <version>2.0.235-1</version>
            </dependency>

            <!-- Balloon Tip. -->
            <dependency>
                <!-- 3-Clause BSD License -->
                <groupId>net.java.balloontip</groupId>
                <artifactId>balloontip</artifactId>
                <version>1.2.4.1</version>
            </dependency>

            <!-- Batik is a Java-based toolkit for applications or applets
                that want to use images in the Scalable Vector Graphics (SVG) format for
                various purposes, such as display, generation or manipulation. -->
            <dependency>
                <!-- The Apache Software License, Version 2.0 -->
                <groupId>org.apache.xmlgraphics</groupId>
                <artifactId>batik-svg-dom</artifactId>
                <version>1.14</version>
            </dependency>
            <dependency>
                <!-- The Apache Software License, Version 2.0 -->
                <groupId>org.apache.xmlgraphics</groupId>
                <artifactId>batik-svggen</artifactId>
                <version>1.14</version>
            </dependency>
            <dependency>
                <!-- The Apache Software License, Version 2.0 -->
                <groupId>org.apache.xmlgraphics</groupId>
                <artifactId>batik-awt-util</artifactId>
                <version>1.14</version>
            </dependency>
            <dependency>
                <!-- The Apache Software License, Version 2.0 -->
                <groupId>org.apache.xmlgraphics</groupId>
                <artifactId>batik-codec</artifactId>
                <version>1.14</version>
            </dependency>

            <!-- Apache Felix Declarative Services -->
            <dependency>
                <groupId>org.apache.felix</groupId>
                <artifactId>org.apache.felix.scr</artifactId>
                <version>2.2.0</version>
            </dependency>
            <dependency>
                <groupId>org.apache.felix</groupId>
                <artifactId>org.apache.felix.scr.annotations</artifactId>
                <version>1.12.0</version>
            </dependency>

            <!-- pax exam dependencies -->
            <dependency>
                <groupId>org.ops4j.pax.exam</groupId>
                <artifactId>pax-exam</artifactId>
                <version>${globalpom.custom.pax.exam.version}</version>
            </dependency>
            <dependency>
                <groupId>org.ops4j.pax.exam</groupId>
                <artifactId>pax-exam-container-native</artifactId>
                <version>${globalpom.custom.pax.exam.version}</version>
            </dependency>
            <dependency>
                <groupId>org.ops4j.pax.exam</groupId>
                <artifactId>pax-exam-junit4</artifactId>
                <version>${globalpom.custom.pax.exam.version}</version>
            </dependency>
            <dependency>
                <groupId>org.ops4j.pax.exam</groupId>
                <artifactId>pax-exam-link-mvn</artifactId>
                <version>${globalpom.custom.pax.exam.version}</version>
            </dependency>
            <dependency>
                <groupId>org.ops4j.pax.exam</groupId>
                <artifactId>pax-exam-container-karaf</artifactId>
                <version>${globalpom.custom.pax.exam.version}</version>
            </dependency>
            <dependency>
                <groupId>org.ops4j.pax.url</groupId>
                <artifactId>pax-url-aether</artifactId>
                <version>${globalpom.custom.pax.url.version}</version>
            </dependency>
            <dependency>
                <groupId>org.ops4j.pax.url</groupId>
                <artifactId>pax-url-wrap</artifactId>
                <version>${globalpom.custom.pax.url.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.felix</groupId>
                <artifactId>org.apache.felix.framework</artifactId>
                <version>7.0.4</version>
            </dependency>
            <dependency>
                <groupId>org.ops4j.pax.cdi</groupId>
                <artifactId>pax-cdi-api</artifactId>
                <version>1.1.3</version>
            </dependency>

            <!-- karaf dependencies -->
            <dependency>
                <groupId>org.apache.karaf.shell</groupId>
                <artifactId>org.apache.karaf.shell.core</artifactId>
                <version>4.4.0</version>
            </dependency>

            <!-- osgi dependencies -->
            <dependency>
                <groupId>org.osgi</groupId>
                <artifactId>osgi.cmpn</artifactId>
                <version>7.0.0</version>
            </dependency>
            <dependency>
                <groupId>org.osgi</groupId>
                <artifactId>org.osgi.core</artifactId>
                <version>6.0.0</version>
            </dependency>
            <dependency>
                <groupId>org.osgi</groupId>
                <artifactId>org.osgi.compendium</artifactId>
                <version>5.0.0</version>
            </dependency>
            <dependency>
                <groupId>org.apache.servicemix.bundles</groupId>
                <artifactId>org.apache.servicemix.bundles.javax-inject</artifactId>
                <version>1_3</version>
            </dependency>
            <dependency>
                <groupId>org.apache.servicemix.bundles</groupId>
                <artifactId>org.apache.servicemix.bundles.aopalliance</artifactId>
                <version>1.0_6</version>
            </dependency>
            <dependency>
                <groupId>org.apache.servicemix.bundles</groupId>
                <artifactId>org.apache.servicemix.bundles.asm</artifactId>
                <version>3.3.1_1</version>
            </dependency>
            <dependency>
                <groupId>org.osgi</groupId>
                <artifactId>org.osgi.service.component.annotations</artifactId>
                <version>1.5.0</version>
            </dependency>

            <dependency>
                <groupId>org.osgi</groupId>
                <artifactId>org.osgi.framework</artifactId>
                <version>1.10.0</version>
            </dependency>

            <dependency>
                <groupId>org.apache.sling</groupId>
                <artifactId>org.apache.sling.testing.osgi-mock.junit5</artifactId>
                <version>3.3.0</version>
            </dependency>

            <!-- hibernate -->
            <dependency>
                <groupId>javax.transaction</groupId>
                <artifactId>javax.transaction-api</artifactId>
                <version>1.3</version>
            </dependency>
            <dependency>
                <groupId>org.hibernate.javax.persistence</groupId>
                <artifactId>hibernate-jpa-2.1-api</artifactId>
                <version>1.0.2.Final</version>
            </dependency>
            <dependency>
                <groupId>org.hibernate</groupId>
                <artifactId>hibernate-core</artifactId>
                <version>${globalpom.custom.hibernate.version}</version>
            </dependency>
            <dependency>
                <groupId>org.hibernate</groupId>
                <artifactId>hibernate-ehcache</artifactId>
                <version>${globalpom.custom.hibernate.version}</version>
            </dependency>
            <dependency>
                <groupId>org.hibernate</groupId>
                <artifactId>hibernate-entitymanager</artifactId>
                <version>${globalpom.custom.hibernate.version}</version>
            </dependency>
            <dependency>
                <groupId>org.hibernate</groupId>
                <artifactId>hibernate-envers</artifactId>
                <version>${globalpom.custom.hibernate.version}</version>
            </dependency>
            <dependency>
                <groupId>org.hibernate</groupId>
                <artifactId>hibernate-java8</artifactId>
                <version>${globalpom.custom.hibernate.version}</version>
            </dependency>
            <dependency>
                <groupId>org.hibernate</groupId>
                <artifactId>hibernate-jpamodelgen</artifactId>
                <version>${globalpom.custom.hibernate.version}</version>
            </dependency>
            <dependency>
                <groupId>org.hibernate</groupId>
                <artifactId>hibernate-validator</artifactId>
                <version>${globalpom.custom.hibernate-validator.version}</version>
            </dependency>
            <dependency>
                <groupId>org.hibernate</groupId>
                <artifactId>hibernate-validator-annotation-processor</artifactId>
                <version>${globalpom.custom.hibernate-validator.version}</version>
            </dependency>

            <!-- h2 database -->
            <dependency>
                <groupId>com.h2database</groupId>
                <artifactId>h2</artifactId>
                <version>2.1.212</version>
            </dependency>

            <dependency>
                <groupId>javax.enterprise</groupId>
                <artifactId>cdi-api</artifactId>
                <version>2.0.SP1</version>
            </dependency>

            <!-- New BSD License -->
            <dependency>
                <groupId>org.hamcrest</groupId>
                <artifactId>hamcrest</artifactId>
                <version>2.2</version>
            </dependency>

            <!-- EUPL 1.1 -->
            <dependency>
                <groupId>org.testfx</groupId>
                <artifactId>testfx-junit5</artifactId>
                <version>4.0.16-alpha</version>
            </dependency>

            <!-- Apache CXF™ is an open source services framework. CXF helps
                you build and develop services using frontend programming APIs, like JAX-WS
                and JAX-RS. These services can speak a variety of protocols such as SOAP,
                XML/HTTP, RESTful HTTP, or CORBA and work over a variety of transports such
                as HTTP, JMS or JBI. -->
            <dependency>
                <groupId>org.apache.cxf</groupId>
                <artifactId>cxf-rt-frontend-jaxrs</artifactId>
                <version>${globalpom.custom.cxf.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.cxf</groupId>
                <artifactId>cxf-rt-features-logging</artifactId>
                <version>${globalpom.custom.cxf.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.cxf</groupId>
                <artifactId>cxf-rt-management</artifactId>
                <version>${globalpom.custom.cxf.version}</version>
            </dependency>

            <!-- https://mvnrepository.com/artifact/javax.servlet/javax.servlet-api -->
            <dependency>
                <groupId>javax.servlet</groupId>
                <artifactId>javax.servlet-api</artifactId>
                <version>4.0.1</version>
                <scope>provided</scope>
            </dependency>

            <!-- spring -->
            <dependency>
                <groupId>org.springframework</groupId>
                <artifactId>spring-core</artifactId>
                <version>${globalpom.custom.spring.version}</version>
            </dependency>
            <dependency>
                <groupId>org.springframework</groupId>
                <artifactId>spring-framework-bom</artifactId>
                <version>${globalpom.custom.spring.version}</version>
                <scope>import</scope>
                <type>pom</type>
            </dependency>

            <!-- Querydsl -->
            <dependency>
                <groupId>com.querydsl</groupId>
                <artifactId>querydsl-jpa</artifactId>
                <version>${globalpom.custom.querydsl.version}</version>
            </dependency>
            <dependency>
                <groupId>com.querydsl</groupId>
                <artifactId>querydsl-core</artifactId>
                <version>${globalpom.custom.querydsl.version}</version>
            </dependency>

            <!-- flywaydb -->
            <dependency>
                <groupId>org.flywaydb</groupId>
                <artifactId>flyway-core</artifactId>
                <version>${globalpom.custom.flywaydb.version}</version>
            </dependency>
            <dependency>
                <groupId>org.flywaydb.flyway-test-extensions</groupId>
                <artifactId>flyway-spring4-test</artifactId>
                <version>${globalpom.custom.flywaydb.flyway-test-extensions.version}</version>
            </dependency>

            <!-- fasterxml -->
            <dependency>
                <groupId>com.fasterxml.jackson.core</groupId>
                <artifactId>jackson-core</artifactId>
                <version>${globalpom.custom.fasterxml.version}</version>
            </dependency>
            <dependency>
                <groupId>com.fasterxml.jackson.core</groupId>
                <artifactId>jackson-databind</artifactId>
                <version>${globalpom.custom.fasterxml.version}</version>
            </dependency>
            <dependency>
                <groupId>com.fasterxml.jackson.core</groupId>
                <artifactId>jackson-annotations</artifactId>
                <version>${globalpom.custom.fasterxml.version}</version>
            </dependency>
            <dependency>
                <groupId>com.fasterxml.jackson.datatype</groupId>
                <artifactId>jackson-datatype-joda</artifactId>
                <version>${globalpom.custom.fasterxml.version}</version>
            </dependency>

            <!-- REST Request -->
            <dependency>
                <groupId>org.apache.httpcomponents</groupId>
                <artifactId>httpclient</artifactId>
                <version>${globalpom.custom.httpcomponents.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.httpcomponents</groupId>
                <artifactId>fluent-hc</artifactId>
                <version>${globalpom.custom.httpcomponents.version}</version>
            </dependency>

            <!-- jopendocument -->
            <dependency>
                <groupId>org.jopendocument</groupId>
                <artifactId>jOpenDocument</artifactId>
                <version>1.3</version>
            </dependency>

            <dependency>
                <groupId>com.google.guava</groupId>
                <artifactId>guava</artifactId>
                <version>31.1-jre</version>
            </dependency>

            <dependency>
                <groupId>com.tinkerpop</groupId>
                <artifactId>pipes</artifactId>
                <version>2.6.0</version>
            </dependency>
            <dependency>
                <groupId>org.apache.tinkerpop</groupId>
                <artifactId>gremlin-core</artifactId>
                <version>3.6.0</version>
            </dependency>
            <dependency>
                <groupId>com.tinkerpop.gremlin</groupId>
                <artifactId>gremlin-java</artifactId>
                <version>2.6.0</version>
            </dependency>
            <dependency>
                <groupId>org.json</groupId>
                <artifactId>json</artifactId>
                <version>20220320</version>
            </dependency>

            <!-- Caffeine is a high performance, near optimal caching library. -->
            <dependency>
                <groupId>com.github.ben-manes.caffeine</groupId>
                <artifactId>caffeine</artifactId>
                <version>3.1.1</version>
            </dependency>
            <dependency>
                <groupId>com.github.ben-manes.caffeine</groupId>
                <artifactId>jcache</artifactId>
                <version>3.1.1</version>
            </dependency>
            <dependency>
                <groupId>org.apache.commons</groupId>
                <artifactId>commons-jcs-core</artifactId>
                <version>2.2.1</version>
            </dependency>
            <dependency>
                <groupId>org.apache.commons</groupId>
                <artifactId>commons-jcs-jcache</artifactId>
                <version>2.2.1</version>
            </dependency>
            <dependency>
                <groupId>org.apache.geronimo.specs</groupId>
                <artifactId>geronimo-jcache_1.0_spec</artifactId>
                <version>1.0-alpha-1</version>
            </dependency>
            <dependency>
                <!-- Ashley Entity System -->
                <groupId>com.badlogicgames.ashley</groupId>
                <artifactId>ashley</artifactId>
                <version>1.7.4</version>
            </dependency>
            <dependency>
                <groupId>org.greenrobot</groupId>
                <artifactId>eventbus</artifactId>
                <version>3.3.1</version>
            </dependency>
            <dependency>
                <groupId>com.simsilica</groupId>
                <artifactId>lemur</artifactId>
                <version>1.16.0</version>
            </dependency>
            <dependency>
                <groupId>com.simsilica</groupId>
                <artifactId>lemur-proto</artifactId>
                <version>1.13.0</version>
            </dependency>
            <dependency>
                <groupId>org.projectlombok</groupId>
                <artifactId>lombok</artifactId>
                <version>${globalpom.custom.lombok.version}</version>
            </dependency>
            <dependency>
                <groupId>org.lable.oss.uniqueid</groupId>
                <artifactId>uniqueid-core</artifactId>
                <version>4.1</version>
            </dependency>
            <dependency>
                <groupId>org.eclipse.collections</groupId>
                <artifactId>eclipse-collections-api</artifactId>
                <version>${globalpom.custom.eclipse-collections.version}</version>
            </dependency>
            <dependency>
                <groupId>org.eclipse.collections</groupId>
                <artifactId>eclipse-collections</artifactId>
                <version>${globalpom.custom.eclipse-collections.version}</version>
            </dependency>
            <dependency>
                <groupId>name.falgout.jeffrey.testing.junit5</groupId>
                <artifactId>guice-extension</artifactId>
                <version>1.2.1</version>
            </dependency>
            <dependency>
                <groupId>org.shredzone.commons</groupId>
                <artifactId>commons-suncalc</artifactId>
                <version>3.5</version>
            </dependency>
            <dependency>
                <!-- Units of Measurement RI -->
                <groupId>tech.units</groupId>
                <artifactId>indriya</artifactId>
                <version>2.1.3</version>
            </dependency>

            <!-- Units of Measurement Libraries -->
            <dependency>
                <groupId>tech.uom.lib</groupId>
                <artifactId>uom-lib</artifactId>
                <version>2.1</version>
            </dependency>
            <dependency>
                <groupId>tech.uom.lib</groupId>
                <artifactId>uom-lib-common</artifactId>
                <version>2.1</version>
            </dependency>

            <dependency>
                <groupId>com.typesafe.akka</groupId>
                <artifactId>akka-actor-typed_${scala.binary.version}</artifactId>
                <version>${globalpom.custom.akka.version}</version>
            </dependency>

            <dependency>
                <groupId>org.antlr</groupId>
                <artifactId>antlr4</artifactId>
                <version>4.10.1</version>
            </dependency>

            <dependency>
                <groupId>com.google.auto.service</groupId>
                <artifactId>auto-service</artifactId>
                <version>${globalpom.custom.auto-service.version}</version>
            </dependency>

            <!-- Java SSH Client -->
            <dependency>
                <groupId>com.jcabi</groupId>
                <artifactId>jcabi-ssh</artifactId>
                <version>1.6.1</version>
            </dependency>

            <!-- Zip4j - A Java library for zip files / streams -->
            <dependency>
                <groupId>net.lingala.zip4j</groupId>
                <artifactId>zip4j</artifactId>
                <version>2.10.0</version>
            </dependency>

            <!-- YAML 1.1 parser and emitter for Java -->
            <dependency>
                <groupId>org.yaml</groupId>
                <artifactId>snakeyaml</artifactId>
                <version>1.30</version>
            </dependency>

            <!-- fastutil extends the Java™ Collections Framework by providing type-specific maps, sets, lists and queues with a small memory footprint and fast access and insertion; provides also big (64-bit) arrays, sets and lists, and fast, practical I/O classes for binary and text files. -->
            <dependency>
                <groupId>it.unimi.dsi</groupId>
                <artifactId>fastutil</artifactId>
                <version>8.5.8</version>
            </dependency>

        </dependencies>
    </dependencyManagement>

    <build>
        <extensions>
            <extension>
                <groupId>org.apache.maven.wagon</groupId>
                <artifactId>wagon-webdav-jackrabbit</artifactId>
                <version>2.8</version>
            </extension>
            <!-- Enabling the use of SSH -->
            <extension>
                <groupId>org.apache.maven.wagon</groupId>
                <artifactId>wagon-ssh-external</artifactId>
                <version>3.1.0</version>
            </extension>
        </extensions>

        <plugins>

            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <configuration>
                    <source>${globalpom.custom.source.source}</source>
                    <target>${globalpom.custom.source.target}</target>
                    <encoding>${project.build.sourceEncoding}</encoding>
                </configuration>
            </plugin>

            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-resources-plugin</artifactId>
                <configuration>
                    <encoding>${project.build.sourceEncoding}</encoding>
                    <escapeString>${globalpom.custom.resources.escapestring}</escapeString>
                </configuration>
            </plugin>

            <!-- deploy sources -->
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-source-plugin</artifactId>
                <executions>
                    <execution>
                        <id>attach-sources</id>
                        <goals>
                            <goal>jar</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>

            <!-- deploy test sources -->
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-jar-plugin</artifactId>
                <executions>
                    <execution>
                        <id>attach-tests</id>
                        <goals>
                            <goal>test-jar</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>

            <!-- deploy javadoc -->
            <plugin>
                <artifactId>maven-javadoc-plugin</artifactId>
                <executions>
                    <execution>
                        <id>attach-javadocs</id>
                        <goals>
                            <goal>jar</goal>
                        </goals>
                        <configuration>
                            <doclint>none</doclint>
                        </configuration>
                    </execution>
                </executions>
                <configuration>
                    <doclint>none</doclint>
                    <failOnError>false</failOnError>
                </configuration>
            </plugin>

            <plugin>
                <groupId>com.mycila</groupId>
                <artifactId>license-maven-plugin</artifactId>
                <configuration>
                    <properties>
                        <owner>${license.custom.license.owner}</owner>
                        <email>${license.custom.license.email}</email>
                        <year>${globalpom.custom.year}</year>
                    </properties>
                    <mapping>
                        <Jenkinsfile>JAVADOC_STYLE</Jenkinsfile>
                    </mapping>
                    <licenseSets>
                        <licenseSet>
                            <header>${license.custom.license.template}</header>
                            <excludes>
                                <exclude>**/README</exclude>
                                <exclude>**/README.md</exclude>
                                <exclude>**/README.textile</exclude>
                                <exclude>**/LICENSE.txt</exclude>
                                <exclude>**/*.odg</exclude>
                                <exclude>**/.directory</exclude>
                                <exclude>src/test/resources/**</exclude>
                                <exclude>src/main/resources/**</exclude>
                            </excludes>
                        </licenseSet>
                    </licenseSets>
                </configuration>
                <executions>
                    <execution>
                        <goals>
                            <goal>check</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>

            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-gpg-plugin</artifactId>
                <configuration>
                    <keyname>ANRI Software</keyname>
                </configuration>
                <executions>
                    <execution>
                        <id>sign-artifacts</id>
                        <phase>verify</phase>
                        <goals>
                            <goal>sign</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>

            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-enforcer-plugin</artifactId>
                <executions>
                    <execution>
                        <id>enforce-no-snapshots</id>
                        <goals>
                            <goal>enforce</goal>
                        </goals>
                        <configuration>
                            <rules>
                                <requireReleaseDeps>
                                    <onlyWhenRelease>true</onlyWhenRelease>
                                    <message>No Snapshots Allowed!</message>
                                </requireReleaseDeps>
                            </rules>
                            <fail>true</fail>
                        </configuration>
                    </execution>
                    <execution>
                        <id>enforce-maven</id>
                        <goals>
                            <goal>enforce</goal>
                        </goals>
                        <configuration>
                            <rules>
                                <requireMavenVersion>
                                    <version>${globalpom.custom.requireMavenVersion}</version>
                                </requireMavenVersion>
                            </rules>
                        </configuration>
                    </execution>
                </executions>
            </plugin>

            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-site-plugin</artifactId>
                <dependencies>
                    <dependency>
                        <groupId>org.apache.maven.doxia</groupId>
                        <artifactId>doxia-module-markdown</artifactId>
                        <version>2.0.0-M2</version>
                    </dependency>
                </dependencies>
            </plugin>

            <!-- The JaCoCo Maven plug-in provides the JaCoCo runtime agent
                to your tests and allows basic report creation. -->
            <plugin>
                <groupId>org.jacoco</groupId>
                <artifactId>jacoco-maven-plugin</artifactId>
                <executions>
                    <!-- set arg line property for surefire -->
                    <execution>
                        <id>prepare-agent</id>
                        <goals>
                            <goal>prepare-agent</goal>
                        </goals>
                        <configuration>
                            <propertyName>surefireArgLine</propertyName>
                        </configuration>
                    </execution>
                    <!-- set arg line property for failsafe -->
                    <execution>
                        <id>prepare-agent-integration</id>
                        <goals>
                            <goal>prepare-agent-integration</goal>
                        </goals>
                        <configuration>
                            <propertyName>failsafeArgLine</propertyName>
                        </configuration>
                    </execution>
                </executions>
            </plugin>

            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-surefire-plugin</artifactId>
                <configuration>
                    <!-- Sets the VM argument line used when unit tests are
                        run. -->
                    <argLine>${surefireArgLine}</argLine>
                </configuration>
            </plugin>

            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-failsafe-plugin</artifactId>
                <executions>
                    <execution>
                        <id>integration-test</id>
                        <goals>
                            <goal>integration-test</goal>
                            <goal>verify</goal>
                        </goals>
                        <configuration>
                            <!-- Sets the VM argument line used when integration
                                tests are run. -->
                            <argLine>${failsafeArgLine}</argLine>
                        </configuration>
                    </execution>
                </executions>
            </plugin>

        </plugins>

        <pluginManagement>
            <plugins>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-surefire-plugin</artifactId>
                    <version>3.0.0-M6</version>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-release-plugin</artifactId>
                    <version>3.0.0-M5</version>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-clean-plugin</artifactId>
                    <version>3.2.0</version>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-install-plugin</artifactId>
                    <version>3.0.0-M1</version>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-site-plugin</artifactId>
                    <version>4.0.0-M1</version>
                </plugin>
                <plugin>
                    <!-- This plugin signs all of the project's attached
                        artifacts with GnuPG. -->
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-gpg-plugin</artifactId>
                    <version>3.0.1</version>
                </plugin>
                <plugin>
                    <!-- The Maven Project Info Reports Plugin is a plugin
                        that generates standard reports for the specified project. -->
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-project-info-reports-plugin</artifactId>
                    <version>3.3.0</version>
                </plugin>
                <plugin>
                    <!-- The Compiler Plugin is used to compile the sources
                        of your project. -->
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-compiler-plugin</artifactId>
                    <version>3.10.1</version>
                </plugin>
                <plugin>
                    <!-- Provides utility goals to work with dependencies
                        like copying, unpacking, analyzing, resolving and many more. -->
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-dependency-plugin</artifactId>
                    <version>3.3.0</version>
                </plugin>
                <plugin>
                    <!-- The Resources Plugin handles the copying of project
                        resources to the output directory. There are two different kinds of resources:
                        main resources and test resources. The difference is that the main resources
                        are the resources associated to the main source code while the test resources
                        are associated to the test source code. Thus, this allows the separation
                        of resources for the main source code and its unit tests. -->
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-resources-plugin</artifactId>
                    <version>3.2.0</version>
                </plugin>
                <plugin>
                    <!-- Builds a Java Archive (JAR) file from the compiled
                        project classes and resources. -->
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-jar-plugin</artifactId>
                    <version>3.2.2</version>
                </plugin>
                <plugin>
                    <!-- The Maven 2 Source Plugin creates a JAR archive
                        of the source files of the current project. -->
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-source-plugin</artifactId>
                    <version>3.2.1</version>
                </plugin>
                <plugin>
                    <!-- Uploads the project artifacts to the internal remote
                        repository. -->
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-deploy-plugin</artifactId>
                    <version>3.0.0-M2</version>
                </plugin>
                <plugin>
                    <!-- The Apache Maven Javadoc Plugin is a plugin that
                        uses the javadoc tool for generating javadocs for the specified project. -->
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-javadoc-plugin</artifactId>
                    <version>3.4.0</version>
                </plugin>
                <plugin>
                    <!-- The Loving Iron Fist of Maven -->
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-enforcer-plugin</artifactId>
                    <version>3.0.0</version>
                </plugin>
                <plugin>
                    <!-- A Maven plugin to create archives of your project's
                        sources, classes, dependencies etc. from flexible assembly descriptors. -->
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-assembly-plugin</artifactId>
                    <version>3.3.0</version>
                </plugin>
                <plugin>
                    <!-- The Surefire Report Plugin parses the generated
                        TEST-*.xml files under ${basedir}/target/surefire-reports and renders them
                        to DOXIA which creates the web interface version of the test results. -->
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-surefire-report-plugin</artifactId>
                    <version>3.0.0-M6</version>
                </plugin>
                <plugin>
                    <!-- The JXR Plugin produces a cross-reference of the
                        projectʼs sources. The generated reports make it easier for the user to reference
                        or find specific lines of code. It is also handy when used with the PMD Plugin
                        for referencing errors found in the code. -->
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-jxr-plugin</artifactId>
                    <version>3.2.0</version>
                </plugin>
                <plugin>
                    <!-- A Maven plugin for the PMD toolkit, that produces
                        a report on both code rule violations and detected copy and paste fragments,
                        as well as being able to fail the build based on these metrics. -->
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-pmd-plugin</artifactId>
                    <version>3.16.0</version>
                </plugin>
                <plugin>
                    <!-- This plugin contains various small independent goals
                        to assist with Maven build lifecycle -->
                    <groupId>org.codehaus.mojo</groupId>
                    <artifactId>build-helper-maven-plugin</artifactId>
                    <version>3.3.0</version>
                </plugin>
                <plugin>
                    <!-- Maven 2 plugin to check and update license headers
                        in source files -->
                    <groupId>com.mycila</groupId>
                    <artifactId>license-maven-plugin</artifactId>
                    <version>4.2.rc3</version>
                </plugin>
                <plugin>
                    <!-- Maven plugin for IzPack -->
                    <groupId>org.codehaus.izpack</groupId>
                    <artifactId>izpack-maven-plugin</artifactId>
                    <version>5.1.3</version>
                </plugin>
                <plugin>
                    <!-- This plugin creates Windows executables from Java
                        jar files using the Launch4j utility. -->
                    <groupId>com.akathist.maven.plugins.launch4j</groupId>
                    <artifactId>launch4j-maven-plugin</artifactId>
                    <version>2.1.2</version>
                </plugin>
                <plugin>
                    <!-- This plugin is designed to give you a build number.
                        So when you might make 100 builds of version 1.0-SNAPSHOT, you can differentiate
                        between them all. -->
                    <groupId>org.codehaus.mojo</groupId>
                    <artifactId>buildnumber-maven-plugin</artifactId>
                    <version>3.0.0</version>
                </plugin>
                <plugin>
                    <groupId>org.apache.felix</groupId>
                    <artifactId>maven-bundle-plugin</artifactId>
                    <version>5.1.6</version>
                </plugin>
                <plugin>
                    <groupId>org.apache.aries.blueprint</groupId>
                    <artifactId>blueprint-maven-plugin</artifactId>
                    <version>1.10.0</version>
                </plugin>
                <plugin>
                    <groupId>org.apache.servicemix.tooling</groupId>
                    <artifactId>depends-maven-plugin</artifactId>
                    <version>1.4.0</version>
                </plugin>
                <plugin>
                    <groupId>org.sonatype.plugins</groupId>
                    <artifactId>nexus-staging-maven-plugin</artifactId>
                    <version>1.6.13</version>
                </plugin>
                <plugin>
                    <groupId>org.jacoco</groupId>
                    <artifactId>jacoco-maven-plugin</artifactId>
                    <version>${globalpom.custom.jacoco.version}</version>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-failsafe-plugin</artifactId>
                    <version>3.0.0-M6</version>
                </plugin>

                <plugin>
                    <groupId>org.projectlombok</groupId>
                    <artifactId>lombok-maven-plugin</artifactId>
                    <version>1.18.20.0</version>
                    <dependencies>
                        <dependency>
                            <groupId>org.projectlombok</groupId>
                            <artifactId>lombok</artifactId>
                            <version>${globalpom.custom.lombok.version}</version>
                        </dependency>
                    </dependencies>
                </plugin>

            </plugins>
        </pluginManagement>

    </build>

    <reporting>
        <plugins>
            <plugin>
                <!-- The Maven Project Info Reports Plugin is a plugin that
                    generates standard reports for the specified project. -->
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-project-info-reports-plugin</artifactId>
            </plugin>
            <plugin>
                <!-- The Surefire Report Plugin parses the generated TEST-*.xml
                    files under ${basedir}/target/surefire-reports and renders them to DOXIA
                    which creates the web interface version of the test results. -->
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-surefire-report-plugin</artifactId>
            </plugin>
            <plugin>
                <!-- The Apache Maven Javadoc Plugin is a plugin that uses
                    the javadoc tool for generating javadocs for the specified project. -->
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-javadoc-plugin</artifactId>
            </plugin>
            <plugin>
                <!-- The JXR Plugin produces a cross-reference of the projectʼs
                    sources. The generated reports make it easier for the user to reference or
                    find specific lines of code. It is also handy when used with the PMD Plugin
                    for referencing errors found in the code. -->
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-jxr-plugin</artifactId>
            </plugin>
            <plugin>
                <!-- A Maven plugin for the PMD toolkit, that produces a
                    report on both code rule violations and detected copy and paste fragments,
                    as well as being able to fail the build based on these metrics. -->
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-pmd-plugin</artifactId>
                <configuration>
                    <sourceEncoding>${project.build.sourceEncoding}</sourceEncoding>
                    <minimumTokens>100</minimumTokens>
                    <targetJdk>${globalpom.custom.source.target}</targetJdk>
                </configuration>
            </plugin>
            <plugin>
                <!-- The JaCoCo Maven plug-in provides the JaCoCo runtime
                    agent to your tests and allows basic report creation. -->
                <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>

    <profiles>
        <profile>
            <id>private-repository</id>
            <distributionManagement>
                <site>
                    <id>site-dav</id>
                    <url>${site.dav.url}</url>
                </site>
                <repository>
                    <id>private_repo_releases</id>
                    <url>https://maven.anrisoftware.com/repository/internal/</url>
                </repository>
                <snapshotRepository>
                    <id>private_repo_snapshots</id>
                    <url>https://maven.anrisoftware.com/repository/snapshots/</url>
                </snapshotRepository>
            </distributionManagement>
        </profile>

        <profile>
            <id>osssonatype</id>
            <distributionManagement>
                <site>
                    <id>site-dav</id>
                    <url>${site.dav.url}</url>
                </site>
                <repository>
                    <id>osssonatype_releases</id>
                    <url>https://oss.sonatype.org/service/local/staging/deploy/maven2</url>
                </repository>
                <snapshotRepository>
                    <id>osssonatype_snapshots</id>
                    <url>https://oss.sonatype.org/content/repositories/snapshots</url>
                </snapshotRepository>
            </distributionManagement>
            <build>
                <plugins>
                    <plugin>
                        <groupId>org.sonatype.plugins</groupId>
                        <artifactId>nexus-staging-maven-plugin</artifactId>
                        <extensions>true</extensions>
                        <configuration>
                            <serverId>osssonatype_releases</serverId>
                            <nexusUrl>https://oss.sonatype.org/</nexusUrl>
                            <autoReleaseAfterClose>true</autoReleaseAfterClose>
                        </configuration>
                    </plugin>
                </plugins>
            </build>
        </profile>

        <profile>
            <!-- Activate profile with -Psign-artifact -->
            <id>sign-artifact</id>
            <build>
                <plugins>
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-gpg-plugin</artifactId>
                        <executions>
                            <execution>
                                <id>sign-artifacts</id>
                                <phase>verify</phase>
                                <goals>
                                    <goal>sign</goal>
                                </goals>
                            </execution>
                        </executions>
                    </plugin>
                </plugins>
            </build>
        </profile>

        <profile>
            <!-- Skip signing -Pno-sign -->
            <id>no-sign</id>
            <build>
                <plugins>
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-gpg-plugin</artifactId>
                        <configuration>
                            <skip>true</skip>
                        </configuration>
                    </plugin>
                </plugins>
            </build>
        </profile>

        <profile>
            <!-- De-lombok with -Pdelombok -->
            <id>delombok</id>
            <build>
                <plugins>
                    <plugin>
                        <groupId>org.projectlombok</groupId>
                        <artifactId>lombok-maven-plugin</artifactId>
                        <executions>
                            <execution>
                                <phase>generate-sources</phase>
                                <goals>
                                    <goal>delombok</goal>
                                </goals>
                            </execution>
                        </executions>
                    </plugin>
                </plugins>
            </build>
        </profile>

    </profiles>

</project>
