<!--

    Copyright © 2019 admin (admin@infrastructurebuilder.org)

    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>
  <parent>
    <groupId>org.infrastructurebuilder</groupId>
    <artifactId>ibparent-minimal</artifactId>
    <version>54</version>
  </parent>
  <artifactId>ibparent</artifactId>
  <packaging>pom</packaging>
  <url>${ib.site.view.url}/</url>
  <version>64</version>
  <issueManagement>
    <url>${github.url.base}/ibparent/issues</url>
    <system>GitHub</system>
  </issueManagement>

  <scm>
    <connection>scm:git:${git.url}</connection>
    <developerConnection>scm:git:${git.url}</developerConnection>
    <url>${git.scm.url}</url>
    <tag>ibparent-64</tag>
  </scm>

  <properties>

    <maven.bundle.plugin.version>5.1.3</maven.bundle.plugin.version>
    <maven.cobertura.version>2.7</maven.cobertura.version>
    <maven.compiler.jdk.version>11</maven.compiler.jdk.version>
    <maven.compiler.plugin.version>3.9.0</maven.compiler.plugin.version>
    <maven.eclipse.plugin.version>2.10</maven.eclipse.plugin.version>
    <maven.failsafe.plugin.version>3.0.0-M5</maven.failsafe.plugin.version>
    <maven.javadoc.plugin.version>3.3.1</maven.javadoc.plugin.version>
    <maven.jdepend.plugin.version>2.0</maven.jdepend.plugin.version>
    <maven.jxr.plugin.version>2.5</maven.jxr.plugin.version>
    <maven.modello.plugin.version>1.11</maven.modello.plugin.version>
    <maven.plexus.component.metadata.version>2.1.0</maven.plexus.component.metadata.version>
    <maven.plugin.annotations.version>3.6.1</maven.plugin.annotations.version>
    <maven.plugin.plugin.version>3.6.4</maven.plugin.plugin.version>

    <maven.pmd.plugin.version>3.10.0</maven.pmd.plugin.version>
    <maven.shade.plugin.version>3.2.4</maven.shade.plugin.version>
    <maven.sisu.plugin.version>0.3.5</maven.sisu.plugin.version>
    <maven.surefire.plugin.version>3.0.0-M5</maven.surefire.plugin.version>
    <maven.surefire.report.plugin.version>2.2.0</maven.surefire.report.plugin.version>
    <maven.taglist.plugin.version>2.4</maven.taglist.plugin.version>
    <maven.war.plugin.version>3.3.2</maven.war.plugin.version>

    <karaf.tooling.version>4.3.0</karaf.tooling.version>
    <karaf.maven.plugin.version>4.3.4</karaf.maven.plugin.version>

    <ib.logconfig.version>0.13.1</ib.logconfig.version> <!-- A default. This may or may not change over time -->
    <ib.exceptions.version>${project.version}</ib.exceptions.version>

    <akka.http.version>2.0.5</akka.http.version>
    <akka.stream.version>2.0.5</akka.stream.version>
    <akka.version>2.5.17</akka.version>
    <amazon.kinesis.client.version>1.14.6</amazon.kinesis.client.version>
    <antlr4.version>4.9.3</antlr4.version>
    <apache.ant.version>1.10.12</apache.ant.version>
    <apache.commons.codec.version>1.15</apache.commons.codec.version>
    <apache.commons.lang3.version>3.12.0</apache.commons.lang3.version>
    <apache.commons.lang.version>2.6</apache.commons.lang.version>
    <apache.curator.version>5.2.0</apache.curator.version>
    <apache.httpclient.version>4.5.13</apache.httpclient.version>
    <apache.poi.version>5.1.0</apache.poi.version>
    <apache.shiro.version>1.8.0</apache.shiro.version>
    <aspectj.version>1.9.6</aspectj.version>
    <assertj.core.version>3.21.0</assertj.core.version>
    <avro.core.version>1.11.0</avro.core.version>
    <aws.sdk.version>1.12.150</aws.sdk.version>
    <aws.sdkv2.bom.version>2.17.121</aws.sdkv2.bom.version>
    <bettercloud.vault.version>5.1.0</bettercloud.vault.version>
    <better.files.version>2.17.1</better.files.version>
    <bouncycastle.version>1.70</bouncycastle.version>
    <chronicle.map.version>3.20.84</chronicle.map.version>
    <classgraph.version>4.8.138</classgraph.version>
    <commons.beanutils.version>1.9.4</commons.beanutils.version>
    <commons.dbcp.version>1.4</commons.dbcp.version>
    <commons.dbcp2.version>2.9.0</commons.dbcp2.version>
    <commons.email.version>1.5</commons.email.version>
    <commons.io.version>2.11.0</commons.io.version>
    <commons.pool.version>1.6</commons.pool.version>
    <commons.vfs2.version>2.9.0</commons.vfs2.version>
    <corn.cps.version>1.1.10</corn.cps.version>
    <coveralls.maven.plugin.version>4.3.0</coveralls.maven.plugin.version>
    <coveralls.repoToken>?X?X?XX?</coveralls.repoToken>
    <cucumber.jvm.deps.version>1.0.5</cucumber.jvm.deps.version>
    <discipline.version>0.7.3</discipline.version>
    <derby.version>10.15.2.0</derby.version>
    <discord.jda.version>1.2.2_139</discord.jda.version>
    <dropwizard.version>2.0.21</dropwizard.version>
    <dom4j.version>2.1.3</dom4j.version>
    <egit.github.version>5.1.0.201809111528-r</egit.github.version>
    <embedded.redis.version>0.6</embedded.redis.version>
    <exec.maven.plugin.version>1.4.0</exec.maven.plugin.version>
    <exception.translator.version>0.2.0</exception.translator.version>
    <findbugs.maven.plugin.version>3.0.5</findbugs.maven.plugin.version>
    <fge.json.schema.validator>2.2.8</fge.json.schema.validator>
    <fluent.hc.version>4.5.13</fluent.hc.version>
    <freemarker.version>2.3.31</freemarker.version>
    <functional.java.version>4.9</functional.java.version>
    <github.host>github.com</github.host>
    <github.url.base>https://${github.host}/${team.group.id}</github.url.base>
    <git.http.url>${github.url.base}/${project.artifactId}</git.http.url>
    <github.global.server>github</github.global.server>
    <github.site.plugin.version>0.11</github.site.plugin.version>
    <gmavenplus.plugin.version>1.13.1</gmavenplus.plugin.version>
    <google.dagger.version>2.40.5</google.dagger.version>
    <google.guava.version>31.0.1-jre
    </google.guava.version>
    <google.inject.guice.version>4.2.3</google.inject.guice.version> <!-- NOT LATEST -->
    <google.maps.services.version>1.0.1</google.maps.services.version>
    <google.protobuf.java.version>3.17.1</google.protobuf.java.version>
    <h2.database.version>2.1.210</h2.database.version>
    <hazelcast.version>5.0.2</hazelcast.version>
    <hikari.cp.version>5.0.0</hikari.cp.version>
    <itextpdf.version>5.5.13.2</itextpdf.version>
    <jackson.version>2.13.0</jackson.version>
    <jacoco.it.execution.data.file>${project.build.directory}/jacoco-it.exec</jacoco.it.execution.data.file>
    <jacoco.it.execution.dest.file>${jacoco.it.execution.data.file}</jacoco.it.execution.dest.file>
    <jacoco.maven.plugin.version>${jacoco.version}</jacoco.maven.plugin.version>
    <jacoco.max.missed.classes>1</jacoco.max.missed.classes>
    <jacoco.skip>false</jacoco.skip>
    <jacoco.ut.execution.data.file>${project.build.directory}/jacoco-ut.data</jacoco.ut.execution.data.file>
    <jacoco.ut.execution.dest.file>${jacoco.ut.execution.data.file}</jacoco.ut.execution.dest.file>
    <jacoco.version>0.8.7</jacoco.version>
    <jarsigner.skip>true</jarsigner.skip>
    <java.faker.version>1.0.2</java.faker.version>
    <java.emoji.java.version>5.1.1</java.emoji.java.version>
    <java.userinfo.java.version>1.1.0</java.userinfo.java.version>

    <java.semver4j.version>3.2.0.3</java.semver4j.version>
    <java.semver.version>0.9.0</java.semver.version>
    <javaslang.version>2.0.5</javaslang.version>
    <java.websocket.version>1.5.2</java.websocket.version>
    <javax.inject.version>1</javax.inject.version>
    <jaxb.api.version>2.3.1</jaxb.api.version>
    <jclouds.version>1.9.0</jclouds.version>
    <jcommander.version>1.81</jcommander.version>
    <jmh.version>1.33</jmh.version>
    <joda.convert.version>2.2.2</joda.convert.version>
    <joda.time.version>2.10.13</joda.time.version>
    <jooq.jool.version>0.9.14</jooq.jool.version>
    <jooq.jooq.version>3.16.3</jooq.jooq.version>
    <jooq.joor.version>0.9.14</jooq.joor.version>
    <jooq.joox.version>1.6.2</jooq.joox.version>
    <jsch.version>0.1.55</jsch.version>
    <jsonassert.version>1.5.1.1</jsonassert.version>
    <json.version>20211205</json.version>
    <jsoup.version>1.14.3</jsoup.version>
    <jtds.version>1.3.1</jtds.version>
    <junit.interface.version>0.11</junit.interface.version>
    <junit.platform.maven.plugin.version>1.1.5</junit.platform.maven.plugin.version>
    <kafka.version>3.0.0</kafka.version>
    <kamon.version>0.6.5</kamon.version>
    <kohsuke.github.api.version>1.301</kohsuke.github.api.version>
    <kotlin.version>1.6.10</kotlin.version>
    <lambdaworks.jacks.version>2.5.2</lambdaworks.jacks.version>
    <logback.version>1.3.0-alpha10</logback.version> <!-- was 1.2.3 -->
    <logstash.logback.encoder.version>7.0.1</logstash.logback.encoder.version>
    <lombok.version>1.18.22</lombok.version>
    <mariadb.java.client.version>2.7.2</mariadb.java.client.version>
    <mockito.core.version>2.21.0</mockito.core.version>
    <mockito.version>4.2.0</mockito.version>
    <moditect.maven.plugin.version>1.0.0.RC2</moditect.maven.plugin.version>
    <mybatis.version>3.5.8</mybatis.version>
    <mysql.connector.version>8.0.27</mysql.connector.version>
    <nexus.site.url>https://nexus.site.infrastructurebuilder.org/sites</nexus.site.url>
    <nexus.staging.maven.plugin.version>1.6.7</nexus.staging.maven.plugin.version>
    <opencsv.version>5.5.2</opencsv.version>
    <owasp.dependency.check.maven.version>6.5.3</owasp.dependency.check.maven.version>
    <pax.url.version>2.6.1</pax.url.version>
    <play2.maven.plugin.version>1.0.0-rc2</play2.maven.plugin.version>
    <play2.version>2.7.0</play2.version>
    <service.lifecycle.api.version>2.0.0</service.lifecycle.api.version>
    <sesame.version>4.1.2</sesame.version>
    <sigar.loader.version>1.6.6-rev002</sigar.loader.version>
    <simpleslack.api.version>1.3.0</simpleslack.api.version>
    <simulacrum.version>0.11.0</simulacrum.version>
    <site.target.url>${ib.site.wagon.method}:${ib.site.view.url}</site.target.url>
    <slf4j.version>2.0.0-alpha5</slf4j.version> <!-- was 1.7.26 -->
    <snappy.java.version>1.1.8.4</snappy.java.version>
    <snakeyml.version>1.30</snakeyml.version>
    <spotbugs.maven.plugin.version>4.5.3.0</spotbugs.maven.plugin.version>
    <spotbugs.version>4.5.3</spotbugs.version>
    <spring.boot.maven.plugin.version>${spring.boot.version}</spring.boot.maven.plugin.version>
    <spring.boot.version>2.6.3</spring.boot.version>
    <spring.version>5.3.15</spring.version>
    <sqlite.jdbc.version>3.36.0.3</sqlite.jdbc.version>
    <tika.version>2.2.1</tika.version>
    <trove4j.version>3.0.3</trove4j.version>
    <typesafe.config.version>1.4.1</typesafe.config.version>
    <validation.api.version>2.0.1.Final</validation.api.version>
    <velocity.version>2.3</velocity.version>
    <vert.spring.ext.version>2.4</vert.spring.ext.version>
    <vertx.guice.version>2.3.1</vertx.guice.version>
    <vertx.jooq.version>6.2.0</vertx.jooq.version>
    <vertx.version>4.2.4</vertx.version>

    <webjars.emberjs.data.version>1.0.1-beta.11</webjars.emberjs.data.version>
    <webjars.emberjs.version>1.12.0</webjars.emberjs.version>
    <webjars.handlebars.version>4.7.6</webjars.handlebars.version>
    <webjars.ink.version>3.1.2</webjars.ink.version>
    <webjars.rickshaw.version>1.5.0</webjars.rickshaw.version>
    <zt.exec.version>1.12</zt.exec.version>
    <zt.processkiller.version>1.10</zt.processkiller.version>

  </properties>

  <dependencyManagement>
    <dependencies>
      <dependency>
        <groupId>ch.qos.logback</groupId>
        <artifactId>logback-classic</artifactId>
        <version>${logback.version}</version>
      </dependency>
      <dependency>
        <groupId>com.mscharhag</groupId>
        <artifactId>et</artifactId>
        <version>${exception.translator.version}</version>
      </dependency>
      <dependency>
        <groupId>com.amazonaws</groupId>
        <artifactId>amazon-kinesis-client</artifactId>
        <version>${amazon.kinesis.client.version}</version>
      </dependency>
      <dependency>
        <groupId>com.amazonaws</groupId>
        <artifactId>aws-java-sdk</artifactId>
        <version>${aws.sdk.version}</version>
      </dependency>
      <dependency>
        <groupId>com.amazonaws</groupId>
        <artifactId>aws-java-sdk-s3</artifactId>
        <version>${aws.sdk.version}</version>
      </dependency>
      <dependency>
        <groupId>com.amazonaws</groupId>
        <artifactId>aws-java-sdk-sns</artifactId>
        <version>${aws.sdk.version}</version>
      </dependency>
      <dependency>
        <groupId>com.amazonaws</groupId>
        <artifactId>aws-java-sdk-sqs</artifactId>
        <version>${aws.sdk.version}</version>
      </dependency>
      <dependency>
        <groupId>com.bettercloud</groupId>
        <artifactId>vault-java-driver</artifactId>
        <version>${bettercloud.vault.version}</version>
      </dependency>
      <dependency>
        <groupId>com.beust</groupId>
        <artifactId>jcommander</artifactId>
        <version>${jcommander.version}</version>
      </dependency>
      <dependency>
        <groupId>com.englishtown.vertx</groupId>
        <artifactId>vertx-guice</artifactId>
        <version>${vertx.guice.version}</version>
      </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.datatype</groupId>
        <artifactId>jackson-datatype-jdk8</artifactId>
        <version>${jackson.version}</version>
      </dependency>
      <dependency>
        <groupId>com.github.fge</groupId>
        <artifactId>json-schema-validator</artifactId>
        <version>${fge.json.schema.validator}</version>
      </dependency>
      <dependency>
        <groupId>com.github.javafaker</groupId>
        <artifactId>javafaker</artifactId>
        <version>${java.faker.version}</version>
      </dependency>
      <dependency>
        <groupId>com.github.kstyrc</groupId>
        <artifactId>embedded-redis</artifactId>
        <version>${embedded.redis.version}</version>
      </dependency>
      <dependency>
        <groupId>com.github.zafarkhaja</groupId>
        <artifactId>java-semver</artifactId>
        <version>${java.semver.version}</version>
      </dependency>
      <dependency>
        <groupId>com.google.dagger</groupId>
        <artifactId>dagger</artifactId>
        <version>${google.dagger.version}</version>
      </dependency>
      <dependency>
        <groupId>com.google.dagger</groupId>
        <artifactId>dagger-compiler</artifactId>
        <version>${google.dagger.version}</version>
        <optional>true</optional>
      </dependency>
      <dependency>
        <groupId>com.google.guava</groupId>
        <artifactId>guava</artifactId>
        <version>${google.guava.version}</version>
      </dependency>
      <dependency>
        <groupId>com.google.inject</groupId>
        <artifactId>guice</artifactId>
        <version>${google.inject.guice.version}</version>
      </dependency>
      <dependency>
        <groupId>com.google.maps</groupId>
        <artifactId>google-maps-services</artifactId>
        <version>${google.maps.services.version}</version>
      </dependency>
      <dependency>
        <groupId>com.google.protobuf</groupId>
        <artifactId>protobuf-java</artifactId>
        <version>${google.protobuf.java.version}</version>
        <!-- See https://developers.google.com/protocol-buffers -->
      </dependency>
      <dependency>
        <groupId>com.h2database</groupId>
        <artifactId>h2</artifactId>
        <version>${h2.database.version}</version>
      </dependency>
      <dependency>
        <groupId>com.hazelcast</groupId>
        <artifactId>hazelcast</artifactId>
        <version>${hazelcast.version}</version>
      </dependency>
      <dependency>
        <groupId>com.itextpdf</groupId>
        <artifactId>itextpdf</artifactId>
        <version>${itextpdf.version}</version>
      </dependency>
      <dependency>
        <groupId>com.novocode</groupId>
        <artifactId>junit-interface</artifactId>
        <version>${junit.interface.version}</version>
      </dependency>
      <dependency>
        <groupId>com.opencsv</groupId>
        <artifactId>opencsv</artifactId>
        <version>${opencsv.version}</version>
      </dependency>
      <dependency>
        <groupId>com.typesafe</groupId>
        <artifactId>config</artifactId>
        <version>${typesafe.config.version}</version>
      </dependency>
      <dependency>
        <groupId>com.ullink.slack</groupId>
        <artifactId>simpleslackapi</artifactId>
        <version>${simpleslack.api.version}</version>
      </dependency>
      <dependency>
<!--         <groupId>com.vdurmont</groupId> -->
        <groupId>org.infrastructurebuilder.usurped</groupId>
        <artifactId>semver4j</artifactId>
        <version>${java.semver4j.version}</version>
      </dependency>
      <dependency>
        <groupId>com.vdurmont</groupId>
        <artifactId>emoji-java</artifactId>
        <version>${java.emoji.java.version}</version>
      </dependency>
      <dependency>
        <groupId>com.vdurmont</groupId>
        <artifactId>userinfo-java</artifactId>
        <version>${java.userinfo.java.version}</version>
      </dependency>
      <dependency>
        <groupId>com.zaxxer</groupId>
        <artifactId>HikariCP</artifactId>
        <version>${hikari.cp.version}</version>
      </dependency>
      <dependency>
        <groupId>commons-beanutils</groupId>
        <artifactId>commons-beanutils</artifactId>
        <version>${commons.beanutils.version}</version>
      </dependency>
      <dependency>
        <groupId>commons-codec</groupId>
        <artifactId>commons-codec</artifactId>
        <version>${apache.commons.codec.version}</version>
      </dependency>
      <dependency>
        <groupId>commons-io</groupId>
        <artifactId>commons-io</artifactId>
        <version>${commons.io.version}</version>
      </dependency>
      <dependency>
        <groupId>commons-pool</groupId>
        <artifactId>commons-pool</artifactId>
        <version>${commons.pool.version}</version>
        <scope>provided</scope>
      </dependency>
      <dependency>
        <groupId>info.cukes</groupId>
        <artifactId>cucumber-jvm-deps</artifactId>
        <version>${cucumber.jvm.deps.version}</version>
        <scope>test</scope>
      </dependency>
      <dependency> <!-- TODO Move me to the parents -->
        <groupId>io.dropwizard</groupId>
        <artifactId>dropwizard-core</artifactId>
        <version>${dropwizard.version}</version>
      </dependency>
      <dependency>
        <groupId>io.github.classgraph</groupId>
        <artifactId>classgraph</artifactId>
        <version>${classgraph.version}</version>
      </dependency>
      <dependency>
        <groupId>io.github.jklingsporn</groupId>
        <artifactId>vertx-jooq-generate</artifactId>
        <version>${vertx.jooq.version}</version>
      </dependency>
      <dependency>
        <groupId>io.github.jklingsporn</groupId>
        <artifactId>vertx-jooq-rx-reactive</artifactId>
        <version>${vertx.jooq.version}</version>
      </dependency>
      <dependency>
        <groupId>io.github.jklingsporn</groupId>
        <artifactId>vertx-jooq-completablefuture-reactive</artifactId>
        <version>${vertx.jooq.version}</version>
      </dependency>
      <dependency>
        <groupId>io.github.jklingsporn</groupId>
        <artifactId>vertx-jooq-classic-reactive</artifactId>
        <version>${vertx.jooq.version}</version>
      </dependency>
      <dependency>
        <groupId>io.github.jklingsporn</groupId>
        <artifactId>vertx-jooq-shared-reactive</artifactId>
        <version>${vertx.jooq.version}</version>
      </dependency>
      <dependency>
        <groupId>io.github.jklingsporn</groupId>
        <artifactId>vertx-jooq-rx-async</artifactId>
        <version>${vertx.jooq.version}</version>
      </dependency>
      <dependency>
        <groupId>io.github.jklingsporn</groupId>
        <artifactId>vertx-jooq-rx-jdbc</artifactId>
        <version>${vertx.jooq.version}</version>
      </dependency>
      <dependency>
        <groupId>io.github.jklingsporn</groupId>
        <artifactId>vertx-jooq-rx</artifactId>
        <version>${vertx.jooq.version}</version>
      </dependency>
      <dependency>
        <groupId>io.github.jklingsporn</groupId>
        <artifactId>vertx-jooq-completablefuture-async</artifactId>
        <version>${vertx.jooq.version}</version>
      </dependency>
      <dependency>
        <groupId>io.github.jklingsporn</groupId>
        <artifactId>vertx-jooq-completablefuture-jdbc</artifactId>
        <version>${vertx.jooq.version}</version>
      </dependency>
      <dependency>
        <groupId>io.github.jklingsporn</groupId>
        <artifactId>vertx-jooq-completablefuture</artifactId>
        <version>${vertx.jooq.version}</version>
      </dependency>
      <dependency>
        <groupId>io.github.jklingsporn</groupId>
        <artifactId>vertx-jooq-classic-async</artifactId>
        <version>${vertx.jooq.version}</version>
      </dependency>
      <dependency>
        <groupId>io.github.jklingsporn</groupId>
        <artifactId>vertx-jooq-classic-jdbc</artifactId>
        <version>${vertx.jooq.version}</version>
      </dependency>
      <dependency>
        <groupId>io.github.jklingsporn</groupId>
        <artifactId>vertx-jooq-classic</artifactId>
        <version>${vertx.jooq.version}</version>
      </dependency>
      <dependency>
        <groupId>io.github.jklingsporn</groupId>
        <artifactId>vertx-jooq-shared-async</artifactId>
        <version>${vertx.jooq.version}</version>
      </dependency>
      <dependency>
        <groupId>io.github.jklingsporn</groupId>
        <artifactId>vertx-jooq-shared</artifactId>
        <version>${vertx.jooq.version}</version>
      </dependency>
      <dependency>
        <groupId>io.kamon</groupId>
        <artifactId>sigar-loader</artifactId>
        <version>${sigar.loader.version}</version>
      </dependency>
      <dependency>
        <groupId>io.vertx</groupId>
        <artifactId>vertx-auth-shiro</artifactId>
        <version>${vertx.version}</version>
      </dependency>
      <dependency>
        <groupId>io.vertx</groupId>
        <artifactId>vertx-codegen</artifactId>
        <version>${vertx.version}</version>
      </dependency>
      <dependency>
        <groupId>io.vertx</groupId>
        <artifactId>vertx-core</artifactId>
        <version>${vertx.version}</version>
      </dependency>
      <dependency>
        <groupId>io.vertx</groupId>
        <artifactId>vertx-hazelcast</artifactId>
        <version>${vertx.version}</version>
      </dependency>
      <dependency>
        <groupId>io.vertx</groupId>
        <artifactId>vertx-maven-service-factory</artifactId>
        <version>${vertx.version}</version>
      </dependency>
      <dependency>
        <groupId>io.vertx</groupId>
        <artifactId>vertx-redis-client</artifactId>
        <version>${vertx.version}</version>
      </dependency>
      <dependency>
        <groupId>io.vertx</groupId>
        <artifactId>vertx-rx-java</artifactId>
        <version>${vertx.version}</version>
      </dependency>
      <dependency>
        <groupId>io.vertx</groupId>
        <artifactId>vertx-service-factory</artifactId>
        <version>${vertx.version}</version>
      </dependency>
      <dependency>
        <groupId>io.vertx</groupId>
        <artifactId>vertx-service-proxy</artifactId>
        <version>${vertx.version}</version>
      </dependency>
      <dependency>
        <groupId>io.vertx</groupId>
        <artifactId>vertx-unit</artifactId>
        <version>${vertx.version}</version>
        <scope>test</scope>
      </dependency>
      <dependency>
        <groupId>io.vertx</groupId>
        <artifactId>vertx-web</artifactId>
        <version>${vertx.version}</version>
      </dependency>
      <dependency>
        <groupId>io.vertx</groupId>
        <artifactId>vertx-web-templ-mvel</artifactId>
        <version>${vertx.version}</version>
      </dependency>
      <dependency>
        <groupId>javax.inject</groupId>
        <artifactId>javax.inject</artifactId>
        <version>${javax.inject.version}</version>
      </dependency>
      <dependency>
        <groupId>javax.validation</groupId>
        <artifactId>validation-api</artifactId>
        <version>${validation.api.version}</version>
      </dependency>
      <dependency>
        <groupId>javax.xml.bind</groupId>
        <artifactId>jaxb-api</artifactId>
        <version>${jaxb.api.version}</version>
      </dependency>

      <dependency>
        <groupId>joda-time</groupId>
        <artifactId>joda-time</artifactId>
        <version>${joda.time.version}</version>
      </dependency>
      <dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
        <version>${mysql.connector.version}</version>
      </dependency>
      <dependency>
        <groupId>net.dv8tion</groupId>
        <artifactId>JDA</artifactId>
        <version>${discord.jda.version}</version>
      </dependency>
      <dependency>
        <groupId>net.logstash.logback</groupId>
        <artifactId>logstash-logback-encoder</artifactId>
        <version>${logstash.logback.encoder.version}</version>
      </dependency>
      <dependency>
        <groupId>net.openhft</groupId>
        <artifactId>chronicle-map</artifactId>
        <version>${chronicle.map.version}</version>
      </dependency>
      <!-- No longer using corn-cps
      <dependency>
        <groupId>net.sf.corn</groupId>
        <artifactId>corn-cps</artifactId>
        <version>${corn.cps.version}</version>
        <exclusions>
          <exclusion>
            <groupId>com.sun.tools</groupId>
            <artifactId>tools</artifactId>
          </exclusion>
        </exclusions>
      </dependency>
      -->
      <dependency>
        <groupId>net.sf.trove4j</groupId>
        <artifactId>trove4j</artifactId>
        <version>${trove4j.version}</version>
      </dependency>
      <dependency>
        <groupId>net.sourceforge.jtds</groupId>
        <artifactId>jtds</artifactId>
        <version>${jtds.version}</version>
      </dependency>
      <dependency>
        <groupId>org.antlr</groupId>
        <artifactId>antlr4</artifactId>
        <version>${antlr4.version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.ant</groupId>
        <artifactId>ant</artifactId>
        <version>${apache.ant.version}</version>
        <exclusions>
          <exclusion>
            <groupId>org.apache.ant</groupId>
            <artifactId>ant-launcher</artifactId>
          </exclusion>
          <exclusion>
            <groupId>com.sun</groupId>
            <artifactId>tools</artifactId>
          </exclusion>
        </exclusions>
      </dependency>

      <dependency>
        <groupId>org.apache.avro</groupId>
        <artifactId>avro</artifactId>
        <version>${avro.core.version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.commons</groupId>
        <artifactId>commons-dbcp2</artifactId>
        <version>${commons.dbcp2.version}</version>
      </dependency>

      <dependency>
        <groupId>org.apache.commons</groupId>
        <artifactId>commons-email</artifactId>
        <version>${commons.email.version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.commons</groupId>
        <artifactId>commons-lang3</artifactId>
        <version>${apache.commons.lang3.version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.commons</groupId>
        <artifactId>commons-vfs2</artifactId>
        <version>${commons.vfs2.version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.curator</groupId>
        <artifactId>curator-test</artifactId>
        <version>${apache.curator.version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.derby</groupId>
        <artifactId>derby</artifactId>
        <version>${derby.version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.derby</groupId>
        <artifactId>derbyclient</artifactId>
        <version>${derby.version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.httpcomponents</groupId>
        <artifactId>fluent-hc</artifactId>
        <version>${fluent.hc.version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.httpcomponents</groupId>
        <artifactId>httpclient</artifactId>
        <version>${apache.httpclient.version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.kafka</groupId>
        <artifactId>kafka-clients</artifactId>
        <version>${kafka.version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.poi</groupId>
        <artifactId>poi</artifactId>
        <version>${apache.poi.version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.poi</groupId>
        <artifactId>poi-ooxml</artifactId>
        <version>${apache.poi.version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.poi</groupId>
        <artifactId>poi-scratchpad</artifactId>
        <version>${apache.poi.version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.shiro</groupId>
        <artifactId>shiro-all</artifactId>
        <version>${apache.shiro.version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.tika</groupId>
        <artifactId>tika-core</artifactId>
        <version>${tika.version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.velocity</groupId>
        <artifactId>velocity-engine-core</artifactId>
        <version>${velocity.version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.velocity</groupId>
        <artifactId>velocity-engine-scripting</artifactId>
        <version>${velocity.version}</version>
      </dependency>

      <dependency>
        <groupId>org.aspectj</groupId>
        <artifactId>aspectjweaver</artifactId>
        <version>${aspectj.version}</version>
      </dependency>
      <dependency>
        <groupId>org.assertj</groupId>
        <artifactId>assertj-core</artifactId>
        <version>${assertj.core.version}</version>
      </dependency>
      <dependency>
        <groupId>org.bouncycastle</groupId>
        <artifactId>bcmail-jdk15on</artifactId>
        <version>${bouncycastle.version}</version>
      </dependency>
      <dependency>
        <groupId>org.bouncycastle</groupId>
        <artifactId>bcpg-jdk15on</artifactId>
        <version>${bouncycastle.version}</version>
      </dependency>
      <dependency>
        <groupId>org.bouncycastle</groupId>
        <artifactId>bcpkix-jdk15on</artifactId>
        <version>${bouncycastle.version}</version>
      </dependency>
      <dependency>
        <groupId>org.bouncycastle</groupId>
        <artifactId>bcprov-jdk15on</artifactId>
        <version>${bouncycastle.version}</version>
      </dependency>
      <dependency>
        <groupId>org.dom4j</groupId>
        <artifactId>dom4j</artifactId>
        <version>${dom4j.version}</version>
      </dependency>

      <dependency>
        <groupId>org.eclipse.jgit</groupId>
        <artifactId>org.eclipse.jgit</artifactId>
        <version>${jgit.version}</version>
      </dependency>
      <dependency>
        <groupId>org.eclipse.jgit</groupId>
        <artifactId>org.eclipse.jgit.junit</artifactId>
        <version>${jgit.version}</version>
      </dependency>
      <dependency>
        <groupId>org.eclipse.mylyn.github</groupId>
        <artifactId>org.eclipse.egit.github.core</artifactId>
        <version>${egit.github.version}</version>
      </dependency>
      <dependency>
        <groupId>org.freemarker</groupId>
        <artifactId>freemarker</artifactId>
        <version>${freemarker.version}</version>
      </dependency>
      <!-- FIXME The org.functionaljava deps appear dangerous in the face
        of changing JVM editions -->
      <dependency>
        <groupId>org.functionaljava</groupId>
        <artifactId>functionaljava-java-core</artifactId>
        <version>${functional.java.version}</version>
      </dependency>
      <dependency>
        <groupId>org.functionaljava</groupId>
        <artifactId>functionaljava-quickcheck</artifactId>
        <version>${functional.java.version}</version>
      </dependency>
      <dependency>
        <groupId>org.functionaljava</groupId>
        <artifactId>functionaljava</artifactId>
        <version>${functional.java.version}</version>
      </dependency>
      <dependency>
        <groupId>org.infrastructurebuilder.util.logging</groupId>
        <artifactId>iblogconfig</artifactId>
        <version>${ib.logconfig.version}</version>
        <classifier>test</classifier>
      </dependency>
      <dependency>
        <groupId>org.jacoco</groupId>
        <artifactId>org.jacoco.agent</artifactId>
        <version>${jacoco.version}</version>
        <classifier>runtime</classifier>
      </dependency>
      <dependency>
        <groupId>org.jacpfx.vertx.spring</groupId>
        <artifactId>vertx-spring-ext</artifactId>
        <version>${vert.spring.ext.version}</version>
      </dependency>
      <dependency>
        <groupId>org.java-websocket</groupId>
        <artifactId>Java-WebSocket</artifactId>
        <version>${java.websocket.version}</version>
      </dependency>
      <dependency>
        <groupId>org.jetbrains.kotlin</groupId>
        <artifactId>kotlin-stdlib</artifactId>
        <version>${kotlin.version}</version>
      </dependency>
      <dependency>
        <groupId>org.joda</groupId>
        <artifactId>joda-convert</artifactId>
        <version>${joda.convert.version}</version>
      </dependency>
      <dependency>
        <groupId>org.jooq</groupId>
        <artifactId>jool</artifactId>
        <version>${jooq.jool.version}</version>
      </dependency>
      <dependency>
        <groupId>org.jooq</groupId>
        <artifactId>jooq</artifactId>
        <version>${jooq.jooq.version}</version>
      </dependency>
      <dependency>
        <groupId>org.jooq</groupId>
        <artifactId>jooq-codegen</artifactId>
        <version>${jooq.jooq.version}</version>
      </dependency>

      <dependency>
        <groupId>org.jooq</groupId>
        <artifactId>joor</artifactId>
        <version>${jooq.joor.version}</version>
      </dependency>
      <dependency>
        <groupId>org.mariadb.jdbc</groupId>
        <artifactId>mariadb-java-client</artifactId>
        <version>${mariadb.java.client.version}</version>
      </dependency>
      <dependency>
<!--         <groupId>org.infrastructurebuilder.usurped</groupId> -->
        <groupId>org.infrastructurebuilder.usurped</groupId>
        <artifactId>jsonassert</artifactId>
        <version>${jsonassert.version}</version>
<!--
        <exclusions>
          <exclusion>
            <groupId>com.vaadin.external.google</groupId>
            <artifactId>android-json</artifactId>
          </exclusion>
        </exclusions>
-->
      </dependency>
      <dependency>
        <groupId>com.jcraft</groupId>
        <artifactId>jsch</artifactId>
        <version>${jsch.version}</version>
      </dependency>
      <dependency>
        <groupId>org.xerial.snappy</groupId>
        <artifactId>snappy-java</artifactId>
        <version>${snappy.java.version}</version>
      </dependency>
      <dependency>
        <groupId>org.yaml</groupId>
        <artifactId>snakeyaml</artifactId>
        <version>${snakeyml.version}</version>
      </dependency>
      <dependency>
        <groupId>com.github.spotbugs</groupId>
        <artifactId>spotbugs</artifactId>
        <version>${spotbugs.version}</version>
      </dependency>
      <dependency>
        <groupId>org.jooq</groupId>
        <artifactId>joox-java-6</artifactId>
        <version>${jooq.joox.version}</version>
      </dependency>
      <dependency>
        <groupId>org.json</groupId>
        <artifactId>json</artifactId>
        <version>${json.version}</version>
      </dependency>

      <dependency>
        <groupId>org.jsoup</groupId>
        <artifactId>jsoup</artifactId>
        <version>${jsoup.version}</version>
      </dependency>
      <dependency>
        <groupId>org.kohsuke</groupId>
        <artifactId>github-api</artifactId>
        <version>${kohsuke.github.api.version}</version>
      </dependency>
      <dependency>
        <groupId>org.mockito</groupId>
        <artifactId>mockito-core</artifactId>
        <version>${mockito.version}</version>
        <scope>test</scope>
      </dependency>
      <dependency>
        <groupId>org.mybatis</groupId>
        <artifactId>mybatis</artifactId>
        <version>${mybatis.version}</version>
      </dependency>
      <dependency>
        <groupId>org.openjdk.jmh</groupId>
        <artifactId>jmh-core</artifactId>
        <version>${jmh.version}</version>
      </dependency>
      <dependency>
        <groupId>org.openjdk.jmh</groupId>
        <artifactId>jmh-generator-bytecode</artifactId>
        <version>${jmh.version}</version>
      </dependency>
      <dependency>
        <groupId>org.openrdf.sesame</groupId>
        <artifactId>sesame-repository-sail</artifactId>
        <version>${sesame.version}</version>
      </dependency>
      <dependency>
        <groupId>org.openrdf.sesame</groupId>
        <artifactId>sesame-rio-rdfxml</artifactId>
        <version>${sesame.version}</version>
      </dependency>
      <dependency>
        <groupId>org.openrdf.sesame</groupId>
        <artifactId>sesame-runtime</artifactId>
        <version>${sesame.version}</version>
      </dependency>
      <dependency>
        <groupId>org.openrdf.sesame</groupId>
        <artifactId>sesame-sail-memory</artifactId>
        <version>${sesame.version}</version>
      </dependency>
      <dependency>
        <groupId>org.ops4j.pax.url</groupId>
        <artifactId>pax-url-aether</artifactId>
        <version>${pax.url.version}</version>
        <optional>true</optional>
      </dependency>
      <dependency>
        <groupId>org.projectlombok</groupId>
        <artifactId>lombok</artifactId>
        <version>${lombok.version}</version>
        <scope>provided</scope>
      </dependency>

      <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>jcl-over-slf4j</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>slf4j-nop</artifactId>
        <version>${slf4j.version}</version>
      </dependency>
      <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-simple</artifactId>
        <version>${slf4j.version}</version>
      </dependency>
      <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-aop</artifactId>
        <version>${spring.version}</version>
      </dependency>
      <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-beans</artifactId>
        <version>${spring.version}</version>
      </dependency>
      <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-context</artifactId>
        <version>${spring.version}</version>
      </dependency>
      <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-core</artifactId>
        <version>${spring.version}</version>
        <exclusions>
          <exclusion>
            <artifactId>commons-logging</artifactId>
            <groupId>commons-logging</groupId>
          </exclusion>
        </exclusions>
      </dependency>
      <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-jdbc</artifactId>
        <version>${spring.version}</version>
      </dependency>
      <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-orm</artifactId>
        <version>${spring.version}</version>
      </dependency>
      <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-test</artifactId>
        <version>${spring.version}</version>
      </dependency>
      <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-tx</artifactId>
        <version>${spring.version}</version>
      </dependency>
      <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-web</artifactId>
        <version>${spring.version}</version>
      </dependency>
      <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter</artifactId>
        <version>${spring.boot.version}</version>
      </dependency>
      <dependency>
        <groupId>org.webjars</groupId>
        <artifactId>emberjs</artifactId>
        <version>${webjars.emberjs.version}</version>
      </dependency>
      <dependency>
        <groupId>org.webjars</groupId>
        <artifactId>emberjs-data</artifactId>
        <version>${webjars.emberjs.data.version}</version>
      </dependency>
      <dependency>
        <groupId>org.webjars</groupId>
        <artifactId>handlebars</artifactId>
        <version>${webjars.handlebars.version}</version>
      </dependency>
      <dependency>
        <groupId>org.webjars</groupId>
        <artifactId>ink</artifactId>
        <version>${webjars.ink.version}</version>
      </dependency>
      <dependency>
        <groupId>org.webjars</groupId>
        <artifactId>rickshaw</artifactId>
        <version>${webjars.rickshaw.version}</version>
      </dependency>
      <dependency>
        <groupId>org.xerial</groupId>
        <artifactId>sqlite-jdbc</artifactId>
        <version>${sqlite.jdbc.version}</version>
      </dependency>
      <dependency>
        <groupId>org.zeroturnaround</groupId>
        <artifactId>zt-exec</artifactId>
        <version>${zt.exec.version}</version>
      </dependency>
      <dependency>
        <groupId>org.zeroturnaround</groupId>
        <artifactId>zt-process-killer</artifactId>
        <version>${zt.processkiller.version}</version>
      </dependency>
      <dependency>
        <groupId>software.amazon.awssdk</groupId>
        <artifactId>bom</artifactId>
        <version>${aws.sdkv2.bom.version}</version>
        <type>pom</type>
        <scope>import</scope>
      </dependency>
    </dependencies>
  </dependencyManagement>
  <dependencies>
    <dependency>
      <groupId>org.jacoco</groupId>
      <artifactId>org.jacoco.agent</artifactId>
      <classifier>runtime</classifier>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>ch.qos.logback</groupId>
      <artifactId>logback-classic</artifactId>
      <scope>test</scope>
    </dependency>
  </dependencies>
  <build>
    <resources>
      <resource>
        <directory>src/main/resources</directory>
        <filtering>true</filtering>
      </resource>
    </resources>
    <testResources>
      <testResource>
        <directory>src/test/resources</directory>
        <filtering>true</filtering>
      </testResource>
    </testResources>
    <pluginManagement>
      <plugins>
        <plugin>
          <groupId>com.github.spotbugs</groupId>
          <artifactId>spotbugs-maven-plugin</artifactId>
          <version>${spotbugs.maven.plugin.version}</version>
          <dependencies>
            <dependency>
              <groupId>com.github.spotbugs</groupId>
              <artifactId>spotbugs</artifactId>
              <version>${spotbugs.version}</version>
            </dependency>
          </dependencies>
        </plugin>
        <plugin>
          <groupId>de.sormuras.junit</groupId>
          <artifactId>junit-platform-maven-plugin</artifactId>
          <version>${junit.platform.maven.plugin.version}</version>
          <extensions>false</extensions>
          <configuration>
            <isolation>NONE</isolation>
            <skip>true</skip>
            <tweaks>
              <failIfNoTests>true</failIfNoTests>
            </tweaks>
          </configuration>
        </plugin>

        <plugin>
          <groupId>org.apache.karaf.tooling</groupId>
          <artifactId>karaf-maven-plugin</artifactId>
          <version>${karaf.maven.plugin.version}</version>
          <extensions>true</extensions>
          <configuration>
            <startLevel>50</startLevel>
            <aggregateFeatures>true</aggregateFeatures>
            <resolver>(obr)</resolver>
            <checkDependencyChange>true</checkDependencyChange>
            <failOnDependencyChange>false</failOnDependencyChange>
            <logDependencyChanges>true</logDependencyChanges>
            <overwriteChangedDependencies>true</overwriteChangedDependencies>
          </configuration>
        </plugin>
        <plugin>
          <groupId>org.apache.avro</groupId>
          <artifactId>avro-maven-plugin</artifactId>
          <version>${avro.core.version}</version>
        </plugin>
        <plugin>
          <artifactId>maven-compiler-plugin</artifactId>
          <version>${maven.compiler.plugin.version}</version>
          <configuration>
            <release>${maven.compiler.jdk.version}</release>
            <!-- JDK <= 8 <source>${maven.compiler.jdk.version}</source>
              <target>${maven.compiler.jdk.version}</target> -->
            <compilerArgs>
              <arg>-Xlint</arg>
            </compilerArgs>
          </configuration>
        </plugin>
        <plugin>
          <artifactId>maven-eclipse-plugin</artifactId>
          <version>${maven.eclipse.plugin.version}</version>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-failsafe-plugin</artifactId>
          <version>${maven.failsafe.plugin.version}</version>
          <configuration>
            <!-- <forkCount>0</forkCount> -->
            <argLine>${failsafeArgLine}</argLine>
            <skipTests>false</skipTests>
            <trimStackTrace>false</trimStackTrace>
            <systemPropertyVariables>
              <!-- Keep this list in-sync with maven-surefire-plugin list -->
              <localRepository>${settings.localRepository}</localRepository>
              <projectArtifactId>${project.artifactId}</projectArtifactId>
              <projectBuildDirectory>${project.build.directory}</projectBuildDirectory>
              <projectBuildOutputDirectory>${project.build.outputDirectory}</projectBuildOutputDirectory>
              <projectGroupId>${project.groupId}</projectGroupId>
              <projectVersion>${project.version}</projectVersion>
              <target_dir>${project.build.directory}</target_dir>
            </systemPropertyVariables>
          </configuration>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-jar-plugin</artifactId>
          <version>${maven.jar.plugin.version}</version>
          <executions>
            <execution>
              <id>test-jar</id>
              <goals>
                <goal>test-jar</goal>
              </goals>
            </execution>
          </executions>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-jarsigner-plugin</artifactId>
          <version>${maven.jarsigner.plugin.version}</version>
          <executions>
            <execution>
              <id>sign</id>
              <goals>
                <goal>sign</goal>
              </goals>
              <configuration>
                <skip>true</skip>
              </configuration>
            </execution>
          </executions>
          <configuration />
        </plugin>
        <plugin>
          <artifactId>maven-javadoc-plugin</artifactId>
          <version>${maven.javadoc.plugin.version}</version>
          <configuration>
            <detectJavaApiLink>false</detectJavaApiLink>
          </configuration>
        </plugin>
        <plugin>
          <artifactId>maven-plugin-plugin</artifactId>
          <version>${maven.plugin.plugin.version}</version>
        </plugin>
        <plugin>
          <artifactId>maven-shade-plugin</artifactId>
          <version>${maven.shade.plugin.version}</version>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-source-plugin</artifactId>
          <version>${maven.source.plugin.version}</version>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-surefire-plugin</artifactId>
          <version>${maven.surefire.plugin.version}</version>
          <configuration>
            <!-- <forkCount>0</forkCount> -->
            <argLine>${surefireArgLine}</argLine>
            <failIfNoTests>${surefire.failIfNoTests}</failIfNoTests>
            <skipTests>false</skipTests>
            <trimStackTrace>false</trimStackTrace>
            <!-- Keep this list in-sync with maven-failsafe-plugin list -->
            <systemPropertyVariables>
              <localRepository>${settings.localRepository}</localRepository>
              <projectArtifactId>${project.artifactId}</projectArtifactId>
              <projectBuildDirectory>${project.build.directory}</projectBuildDirectory>
              <projectBuildOutputDirectory>${project.build.outputDirectory}</projectBuildOutputDirectory>
              <projectGroupId>${project.groupId}</projectGroupId>
              <projectVersion>${project.version}</projectVersion>
              <target_dir>${project.build.directory}</target_dir>
            </systemPropertyVariables>
          </configuration>
        </plugin>
        <plugin>
          <artifactId>maven-war-plugin</artifactId>
          <version>${maven.war.plugin.version}</version>
        </plugin>
        <plugin>
          <groupId>org.codehaus.modello</groupId>
          <artifactId>modello-maven-plugin</artifactId>
          <version>${maven.modello.plugin.version}</version>
          <configuration>
            <useJava5>true</useJava5>
          </configuration>
        </plugin>
        <plugin>
          <groupId>org.antlr</groupId>
          <artifactId>antlr4-maven-plugin</artifactId>
          <version>${antlr4.version}</version>
        </plugin>
        <plugin>
          <groupId>org.apache.felix</groupId>
          <artifactId>maven-bundle-plugin</artifactId>
          <version>${maven.bundle.plugin.version}</version>
          <extensions>true</extensions>
        </plugin>
        <plugin>
          <groupId>org.codehaus.gmavenplus</groupId>
          <artifactId>gmavenplus-plugin</artifactId>
          <version>${gmavenplus.plugin.version}</version>
          <executions>
            <execution>
              <goals>
                <goal>addSources</goal>
                <goal>addTestSources</goal>
                <goal>compile</goal>
                <goal>compileTests</goal>
              </goals>
            </execution>
          </executions>
        </plugin>
        <plugin>
          <groupId>org.codehaus.mojo</groupId>
          <artifactId>findbugs-maven-plugin</artifactId>
          <version>${findbugs.maven.plugin.version}</version>
        </plugin>
        <plugin>
          <groupId>org.codehaus.mojo</groupId>
          <artifactId>cobertura-maven-plugin</artifactId>
          <version>${maven.cobertura.version}</version>
          <configuration>
            <instrumentation>
              <ignores />
              <excludes />
            </instrumentation>
            <check>
              <branchRate>${test.coverage.percentage.required}</branchRate>
              <lineRate>${test.coverage.percentage.required}</lineRate>
              <haltOnFailure>true</haltOnFailure>
              <totalBranchRate>${test.coverage.percentage.required}</totalBranchRate>
              <totalLineRate>${test.coverage.percentage.required}</totalLineRate>
              <packageLineRate>${test.coverage.percentage.required}</packageLineRate>
              <packageBranchRate>${test.coverage.percentage.required}</packageBranchRate>
            </check>
          </configuration>
        </plugin>
        <plugin>
          <groupId>org.codehaus.plexus</groupId>
          <artifactId>plexus-component-metadata</artifactId>
          <version>${maven.plexus.component.metadata.version}</version>
        </plugin>
        <plugin>
          <groupId>org.eclipse.sisu</groupId>
          <artifactId>sisu-maven-plugin</artifactId>
          <version>${maven.sisu.plugin.version}</version>
          <executions>
            <execution>
              <id>index-project</id>
              <goals>
                <goal>main-index</goal>
                <goal>test-index</goal>
              </goals>
            </execution>
          </executions>
        </plugin>
        <plugin>
          <groupId>org.jacoco</groupId>
          <artifactId>jacoco-maven-plugin</artifactId>
          <version>${jacoco.version}</version>
          <executions>
            <execution>
              <id>pre-unit-test</id>
              <goals>
                <goal>prepare-agent</goal>
              </goals>
              <configuration>
                <propertyName>surefireArgLine</propertyName>
              </configuration>
            </execution>
            <execution>
              <id>post-unit-test</id>
              <phase>test</phase>
              <goals>
                <goal>report</goal>
              </goals>
            </execution>
            <execution>
              <id>pre-integration-test</id>
              <phase>pre-integration-test</phase>
              <goals>
                <goal>prepare-agent</goal>
              </goals>
              <configuration>
                <destFile>${jacoco.it.execution.dest.file}</destFile>
                <propertyName>failsafeArgLine</propertyName>
              </configuration>
            </execution>
            <execution>
              <id>post-integration-test</id>
              <phase>post-integration-test</phase>
              <goals>
                <goal>report</goal>
              </goals>
              <configuration>
                <dataFile>${jacoco.it.execution.data.file}</dataFile>
                <outputDirectory>${project.reporting.outputDirectory}/jacoco-it</outputDirectory>
              </configuration>
            </execution>
            <execution>
              <id>default-ut-check</id>
              <goals>
                <goal>check</goal>
              </goals>
              <configuration>
                <haltOnFailure>true</haltOnFailure>
                <rules>
                  <rule implementation="org.jacoco.maven.RuleConfiguration">
                    <element>BUNDLE</element>
                    <limits>
                      <limit implementation="org.jacoco.report.check.Limit">
                        <counter>INSTRUCTION</counter>
                        <value>COVEREDRATIO</value>
                        <minimum>.${test.coverage.percentage.required}</minimum>
                      </limit>
                      <limit implementation="org.jacoco.report.check.Limit">
                        <counter>CLASS</counter>
                        <value>MISSEDCOUNT</value>
                        <maximum>${jacoco.max.missed.classes}</maximum>
                      </limit>
                    </limits>
                  </rule>
                </rules>
              </configuration>
            </execution>
          </executions>
          <configuration>
            <skip>${jacoco.skip}</skip>
            <destFile>${jacoco.ut.execution.dest.file}</destFile>
            <dataFile>${jacoco.ut.execution.data.file}</dataFile>
            <outputDirectory>${project.reporting.outputDirectory}/jacoco-ut</outputDirectory>
          </configuration>
        </plugin>
        <plugin>
          <groupId>org.jetbrains.kotlin</groupId>
          <artifactId>kotlin-maven-plugin</artifactId>
          <version>${kotlin.version}</version>
          <executions>
            <execution>
              <id>kotlin-compile</id>
              <goals>
                <goal>compile</goal>
              </goals>
            </execution>
            <execution>
              <id>kotlin-test-compile</id>
              <goals>
                <goal>test-compile</goal>
              </goals>
            </execution>
          </executions>
        </plugin>
        <plugin>
          <groupId>org.jooq</groupId>
          <artifactId>jooq-codegen-maven</artifactId>
          <version>${jooq.jooq.version}</version>
        </plugin>
        <plugin>
          <groupId>org.moditect</groupId>
          <artifactId>moditect-maven-plugin</artifactId>
          <version>${moditect.maven.plugin.version}</version>
        </plugin>
        <plugin>
          <groupId>org.owasp</groupId>
          <artifactId>dependency-check-maven</artifactId>
          <version>${owasp.dependency.check.maven.version}</version>
        </plugin>
        <plugin>
          <groupId>org.springframework.boot</groupId>
          <artifactId>spring-boot-maven-plugin</artifactId>
          <version>${spring.boot.maven.plugin.version}</version>
        </plugin>
        <!--This plugin's configuration is used to store Eclipse m2e settings only. It has no influence on the Maven build itself.-->
        <plugin>
          <groupId>org.eclipse.m2e</groupId>
          <artifactId>lifecycle-mapping</artifactId>
          <version>1.0.0</version>
          <configuration>
            <lifecycleMappingMetadata>
              <pluginExecutions>
                <pluginExecution>
                  <pluginExecutionFilter>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-plugin-plugin</artifactId>
                    <versionRange>[3.6.0,)</versionRange>
                    <goals>
                      <goal>descriptor</goal>
                    </goals>
                  </pluginExecutionFilter>
                  <action>
                    <ignore />
                  </action>
                </pluginExecution>
              </pluginExecutions>
            </lifecycleMappingMetadata>
          </configuration>
        </plugin>
      </plugins>
    </pluginManagement>
    <plugins>
      <plugin>
        <groupId>de.sormuras.junit</groupId>
        <artifactId>junit-platform-maven-plugin</artifactId>
      </plugin>
      <plugin>
        <artifactId>maven-javadoc-plugin</artifactId>
        <executions>
          <execution>
            <id>check-javadoc</id>
            <phase>verify</phase>
            <goals>
              <goal>javadoc-no-fork</goal>
              <goal>test-javadoc-no-fork</goal>
            </goals>
            <configuration>
              <quiet>true</quiet>
              <show>private</show>
            </configuration>
          </execution>
        </executions>
      </plugin>

      <plugin>
        <groupId>org.jacoco</groupId>
        <artifactId>jacoco-maven-plugin</artifactId>
      </plugin>
      <plugin>
        <groupId>com.mycila</groupId>
        <artifactId>license-maven-plugin</artifactId>
        <executions>
          <execution>
            <configuration>
              <dryRun>false</dryRun>
            </configuration>
            <phase>validate</phase>
            <goals>
              <goal>format</goal>
            </goals>
          </execution>
        </executions>
      </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-compiler-plugin</artifactId>
      </plugin>
      <plugin>
        <groupId>org.kuali.maven.plugins</groupId>
        <artifactId>graph-maven-plugin</artifactId>
        <executions>
          <execution>
            <id>graphs</id>
            <phase>site</phase>
            <goals>
              <goal>dependencies</goal>
            </goals>
          </execution>
        </executions>
      </plugin>
    </plugins>
  </build>
  <reporting>
    <plugins>
      <plugin>
        <groupId>org.jacoco</groupId>
        <artifactId>jacoco-maven-plugin</artifactId>
      </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-javadoc-plugin</artifactId>
        <version>${maven.javadoc.plugin.version}</version>
        <configuration>
          <additionalJOption>-Xdoclint:none</additionalJOption>
          <detectJavaApiLink>false</detectJavaApiLink>
        </configuration>
        <reportSets>
          <reportSet>
            <reports>
              <report>javadoc-no-fork</report>
              <report>test-javadoc-no-fork</report>
            </reports>
          </reportSet>
        </reportSets>
      </plugin>
      <plugin>
        <groupId>com.github.spotbugs</groupId>
        <artifactId>spotbugs-maven-plugin</artifactId>
        <version>${spotbugs.maven.plugin.version}</version>
        <configuration>
          <xmlOutput>true</xmlOutput>
          <!-- Optional directory to put spotbugs xdoc xml report -->
          <xmlOutputDirectory>target/site</xmlOutputDirectory>
        </configuration>
      </plugin>
    </plugins>
  </reporting>
  <profiles>
    <profile>
      <id>doclint-java8-disable</id>
      <activation>
        <jdk>[1.8,)</jdk>
      </activation>
      <build>
        <plugins>
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-javadoc-plugin</artifactId>
            <configuration>
              <detectJavaApiLink>false</detectJavaApiLink>
              <additionalJOption>-Xdoclint:none</additionalJOption>
              <additionalOptions>
                <additionalOption>-package</additionalOption>
              </additionalOptions>
            </configuration>
          </plugin>
        </plugins>
      </build>
    </profile>
    <profile>
      <id>release</id>
      <build>
        <plugins>
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-source-plugin</artifactId>
            <executions>
              <execution>
                <id>attach-sources</id>
                <goals>
                  <goal>jar</goal>
                  <goal>test-jar</goal>
                </goals>
              </execution>
            </executions>
          </plugin>
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-javadoc-plugin</artifactId>
            <executions>
              <execution>
                <id>check-javadoc</id>
                <phase>verify</phase>
                <goals>
                  <goal>javadoc</goal>
                  <goal>test-javadoc</goal>
                </goals>
                <configuration>
                  <quiet>true</quiet>
                  <show>private</show>
                </configuration>
              </execution>
              <execution>
                <id>attach-javadocs</id>
                <goals>
                  <goal>jar</goal>
                  <goal>test-jar</goal>
                </goals>
              </execution>
            </executions>
          </plugin>
        </plugins>
      </build>
    </profile>
  </profiles>
  <modules>
    <module>ibexceptions</module>
  </modules>
</project>
