<?xml version="1.0" encoding="UTF-8"?>
<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <modelVersion>4.0.0</modelVersion>
  <groupId>io.hevo</groupId>
  <artifactId>bom</artifactId>
  <version>1.7.0</version>
  <packaging>pom</packaging>
  <name>hevo-parent</name>
  <description>Bill of Materials for hevoio</description>
  <url>https://github.com/hevoio/bom</url>
  <licenses>
    <license>
      <name>Apache License, Version 2.0</name>
      <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
      <distribution>repo</distribution>
    </license>
  </licenses>
  <developers>
    <developer>
      <id>hevoio</id>
      <name>hevoio</name>
      <email>dev@hevodata.com</email>
      <url>https://github.com/hevoio</url>
    </developer>
  </developers>
  <scm>
    <url>https://github.com/hevoio/bom</url>
  </scm>
  <distributionManagement>
    <repository>
      <id>maven.hevodata.me</id>
      <url>${maven.repository.id}/release</url>
    </repository>
    <snapshotRepository>
      <id>maven.hevodata.me</id>
      <url>${maven.repository.id}/snapshot</url>
    </snapshotRepository>
    <site>
      <id>maven.hevodata.me</id>
      <url>${maven.repository.id}/site</url>
    </site>
  </distributionManagement>
  <properties>
    <flyway.version>10.1.0</flyway.version>
    <default.java.version>17</default.java.version>
    <resilience4j-retry.version>2.2.0</resilience4j-retry.version>
    <error_prone_annotations.version>2.23.0</error_prone_annotations.version>
    <aws-crt.version>0.30.6</aws-crt.version>
    <maven-jar-plugin.version>3.3.0</maven-jar-plugin.version>
    <maven-compiler-plugin.version>3.11.0</maven-compiler-plugin.version>
    <spotless-maven-plugin.version>2.41.1</spotless-maven-plugin.version>
    <junit-jupiter-api.version>5.10.1</junit-jupiter-api.version>
    <jakarta.annotation-api.version>2.1.1</jakarta.annotation-api.version>
    <jmh.version>1.37</jmh.version>
    <cobertura-maven-plugin.version>2.6</cobertura-maven-plugin.version>
    <junit-platform-commons.version>1.10.1</junit-platform-commons.version>
    <findbugs-maven-plugin.version>3.0.5</findbugs-maven-plugin.version>
    <mockito-junit-jupiter.version>5.9.0</mockito-junit-jupiter.version>
    <software.aws.sdk.version>2.27.13</software.aws.sdk.version>
    <jakarta.servlet-api.version>5.0.0</jakarta.servlet-api.version>
    <gson.version>2.10.1</gson.version>
    <asm.version>7.1</asm.version>
    <logback-core.version>1.4.12</logback-core.version>
    <micrometer.version>1.9.9</micrometer.version>
    <java-jwt.version>4.4.0</java-jwt.version>
    <java.version>17</java.version>
    <maven.repository.id>s3://hevo-artifacts/package/mvn</maven.repository.id>
    <jakarta.ws.rs-api.version>3.0.0</jakarta.ws.rs-api.version>
    <jts.version>1.20.0</jts.version>
    <testcontainers.redis.version>2.2.2</testcontainers.redis.version>
    <cron-utils.version>9.2.0</cron-utils.version>
    <joda-time.version>2.12.5</joda-time.version>
    <java-dogstatsd-client.version>4.4.0</java-dogstatsd-client.version>
    <mysql-connector-j.version>8.2.0</mysql-connector-j.version>
    <testcontainers.mongodb.version>1.19.3</testcontainers.mongodb.version>
    <glassfish-jersey-media-multipart.version>3.0.12</glassfish-jersey-media-multipart.version>
    <commons-logging.version>1.3.0</commons-logging.version>
    <jdbi.version>3.42.0</jdbi.version>
    <junit.version>5.10.0</junit.version>
    <jacoco.version>0.8.10</jacoco.version>
    <maven-enforcer-plugin.version>3.4.1</maven-enforcer-plugin.version>
    <jakarta.mail-api.version>2.1.2</jakarta.mail-api.version>
    <maven-dependency-plugin>3.6.1</maven-dependency-plugin>
    <guava.version>32.1.3-jre</guava.version>
    <snakeyml.version>2.2</snakeyml.version>
    <dropwizard.version>4.0.4</dropwizard.version>
    <schemacrawler.version>16.21.2</schemacrawler.version>
    <jackson-databind.version>2.16.0</jackson-databind.version>
    <aopalliance-repackaged.version>3.0.5</aopalliance-repackaged.version>
    <fernet-java8.version>1.5.0</fernet-java8.version>
    <jinjava.version>2.7.1</jinjava.version>
    <okhttp.version>4.12.0</okhttp.version>
    <temporal-sdk.version>1.22.3</temporal-sdk.version>
    <sourceforge-argparse4j.version>0.9.0</sourceforge-argparse4j.version>
    <commons-codec.version>1.16.0</commons-codec.version>
    <commons-collections4.version>4.4</commons-collections4.version>
    <caffeine.version>3.1.8</caffeine.version>
    <spotbugs.version>4.8.2</spotbugs.version>
    <hikaricp.version>5.1.0</hikaricp.version>
    <logback-json-formatter.version>0.1.5</logback-json-formatter.version>
    <maven-shade-plugin.version>2.4.1</maven-shade-plugin.version>
    <json.version>20230227</json.version>
    <hk2-api.version>${hk2-utils.version}</hk2-api.version>
    <commons-compress.version>1.26.1</commons-compress.version>
    <jackson-annotations.version>2.16.0</jackson-annotations.version>
    <jakarta.inject-api.version>2.0.1</jakarta.inject-api.version>
    <jackson-core.version>2.16.0</jackson-core.version>
    <mockito-core.version>5.4.0</mockito-core.version>
    <lombok-mapstruct-binding.version>0.2.0</lombok-mapstruct-binding.version>
    <guice.version>5.0.1</guice.version>
    <glassfish-jersey-server.version>3.0.12</glassfish-jersey-server.version>
    <grpc.version>1.60.0</grpc.version>
    <spotless-java-format.version>1.18.1</spotless-java-format.version>
    <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
    <glassfish-jersey-client.version>3.0.12</glassfish-jersey-client.version>
    <lombok.version>1.18.30</lombok.version>
    <assertj-core.version>3.24.2</assertj-core.version>
    <maven.compiler.target>17</maven.compiler.target>
    <apache-mina.version>2.13.1</apache-mina.version>
    <awaitility.version>4.2.1</awaitility.version>
    <junit-jupiter-engine.version>5.10.0</junit-jupiter-engine.version>
    <logback-classic.version>1.4.12</logback-classic.version>
    <commons-pool2.version>2.12.0</commons-pool2.version>
    <junit-bom.version>5.10.1</junit-bom.version>
    <jakarta.validation-api.version>3.0.0</jakarta.validation-api.version>
    <httpcomponents.httpcore.version>4.4.16</httpcomponents.httpcore.version>
    <protobuf-java.version>3.24.0</protobuf-java.version>
    <glassfish-jersey-common.version>3.0.12</glassfish-jersey-common.version>
    <bouncycastle.version>1.77</bouncycastle.version>
    <jedis.version>5.1.0</jedis.version>
    <revision>1.7.0</revision>
    <jsch.version>0.2.16</jsch.version>
    <jboss-logging.version>3.5.3.Final</jboss-logging.version>
    <maven-surefire-plugin.version>3.2.1</maven-surefire-plugin.version>
    <classmate.version>1.6.0</classmate.version>
    <maven-source-plugin.version>${maven-jar-plugin.version}</maven-source-plugin.version>
    <aws.sdk.version>1.12.620</aws.sdk.version>
    <lombok-maven-plugin.version>1.16.4.1</lombok-maven-plugin.version>
    <slf4j-api.version>2.0.9</slf4j-api.version>
    <org-mapstruct.version>1.5.5.Final</org-mapstruct.version>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <kotlin-stdlib.version>1.9.25</kotlin-stdlib.version>
    <maven-deploy-plugin.version>3.1.1</maven-deploy-plugin.version>
    <maven-failsafe-plugin.version>3.2.5</maven-failsafe-plugin.version>
    <json.path.version>2.8.0</json.path.version>
    <dropwizard-metrics.version>4.2.23</dropwizard-metrics.version>
    <spotbugs-maven-plugin.version>4.8.1.0</spotbugs-maven-plugin.version>
    <mongo-driver-sync.version>5.0.0</mongo-driver-sync.version>
    <opencsv.version>5.9</opencsv.version>
    <hk2-utils.version>3.0.5</hk2-utils.version>
  </properties>
  <dependencyManagement>
    <dependencies>
      <dependency>
        <groupId>com.jayway.jsonpath</groupId>
        <artifactId>json-path</artifactId>
        <version>${json.path.version}</version>
      </dependency>
      <dependency>
        <groupId>org.ow2.asm</groupId>
        <artifactId>asm</artifactId>
        <version>${asm.version}</version>
      </dependency>
      <dependency>
        <groupId>org.json</groupId>
        <artifactId>json</artifactId>
        <version>${json.version}</version>
      </dependency>
      <dependency>
        <groupId>com.opencsv</groupId>
        <artifactId>opencsv</artifactId>
        <version>${opencsv.version}</version>
      </dependency>
      <dependency>
        <groupId>com.fasterxml.jackson.core</groupId>
        <artifactId>jackson-annotations</artifactId>
        <version>${jackson-annotations.version}</version>
      </dependency>
      <dependency>
        <groupId>com.fasterxml.jackson.core</groupId>
        <artifactId>jackson-databind</artifactId>
        <version>${jackson-databind.version}</version>
      </dependency>
      <dependency>
        <groupId>com.fasterxml.jackson.core</groupId>
        <artifactId>jackson-core</artifactId>
        <version>${jackson-core.version}</version>
      </dependency>
      <dependency>
        <groupId>com.fasterxml</groupId>
        <artifactId>classmate</artifactId>
        <version>${classmate.version}</version>
      </dependency>
      <dependency>
        <groupId>com.github.mwiede</groupId>
        <artifactId>jsch</artifactId>
        <version>${jsch.version}</version>
      </dependency>
      <dependency>
        <groupId>com.google.guava</groupId>
        <artifactId>guava</artifactId>
        <version>${guava.version}</version>
      </dependency>
      <dependency>
        <groupId>com.google.errorprone</groupId>
        <artifactId>error_prone_annotations</artifactId>
        <version>${error_prone_annotations.version}</version>
      </dependency>
      <dependency>
        <groupId>com.google.inject</groupId>
        <artifactId>guice</artifactId>
        <version>${guice.version}</version>
      </dependency>
      <dependency>
        <groupId>io.dropwizard</groupId>
        <artifactId>dropwizard-auth</artifactId>
        <version>${dropwizard.version}</version>
      </dependency>
      <dependency>
        <groupId>io.dropwizard</groupId>
        <artifactId>dropwizard-bom</artifactId>
        <version>${dropwizard.version}</version>
        <type>pom</type>
        <scope>import</scope>
      </dependency>
      <dependency>
        <groupId>io.dropwizard</groupId>
        <artifactId>dropwizard-core</artifactId>
        <version>${dropwizard.version}</version>
      </dependency>
      <dependency>
        <groupId>io.dropwizard.metrics</groupId>
        <artifactId>metrics-core</artifactId>
        <version>${dropwizard-metrics.version}</version>
      </dependency>
      <dependency>
        <groupId>io.dropwizard.metrics</groupId>
        <artifactId>metrics-healthchecks</artifactId>
        <version>${dropwizard-metrics.version}</version>
      </dependency>
      <dependency>
        <groupId>io.dropwizard.metrics</groupId>
        <artifactId>metrics-caffeine</artifactId>
        <version>${dropwizard-metrics.version}</version>
      </dependency>
      <dependency>
        <groupId>net.sourceforge.argparse4j</groupId>
        <artifactId>argparse4j</artifactId>
        <version>${sourceforge-argparse4j.version}</version>
      </dependency>
      <dependency>
        <groupId>org.yaml</groupId>
        <artifactId>snakeyaml</artifactId>
        <version>${snakeyml.version}</version>
      </dependency>
      <dependency>
        <groupId>jakarta.inject</groupId>
        <artifactId>jakarta.inject-api</artifactId>
        <version>${jakarta.inject-api.version}</version>
      </dependency>
      <dependency>
        <groupId>jakarta.validation</groupId>
        <artifactId>jakarta.validation-api</artifactId>
        <version>${jakarta.validation-api.version}</version>
      </dependency>
      <dependency>
        <groupId>jakarta.ws.rs</groupId>
        <artifactId>jakarta.ws.rs-api</artifactId>
        <version>${jakarta.ws.rs-api.version}</version>
      </dependency>
      <dependency>
        <groupId>jakarta.annotation</groupId>
        <artifactId>jakarta.annotation-api</artifactId>
        <version>${jakarta.annotation-api.version}</version>
      </dependency>
      <dependency>
        <groupId>jakarta.servlet</groupId>
        <artifactId>jakarta.servlet-api</artifactId>
        <version>${jakarta.servlet-api.version}</version>
      </dependency>
      <dependency>
        <groupId>com.fasterxml.jackson.datatype</groupId>
        <artifactId>jackson-datatype-jdk8</artifactId>
        <version>${jackson-databind.version}</version>
      </dependency>
      <dependency>
        <groupId>com.fasterxml.jackson.datatype</groupId>
        <artifactId>jackson-datatype-jsr310</artifactId>
        <version>${jackson-databind.version}</version>
      </dependency>
      <dependency>
        <groupId>joda-time</groupId>
        <artifactId>joda-time</artifactId>
        <version>${joda-time.version}</version>
      </dependency>
      <dependency>
        <groupId>ch.qos.logback.contrib</groupId>
        <artifactId>logback-json-classic</artifactId>
        <version>${logback-json-formatter.version}</version>
      </dependency>
      <dependency>
        <groupId>ch.qos.logback.contrib</groupId>
        <artifactId>logback-jackson</artifactId>
        <version>${logback-json-formatter.version}</version>
      </dependency>
      <dependency>
        <groupId>org.jboss.logging</groupId>
        <artifactId>jboss-logging</artifactId>
        <version>${jboss-logging.version}</version>
      </dependency>
      <dependency>
        <groupId>org.glassfish.hk2</groupId>
        <artifactId>hk2-api</artifactId>
        <version>${hk2-api.version}</version>
      </dependency>
      <dependency>
        <groupId>org.glassfish.hk2.external</groupId>
        <artifactId>aopalliance-repackaged</artifactId>
        <version>${aopalliance-repackaged.version}</version>
      </dependency>
      <dependency>
        <groupId>org.glassfish.hk2</groupId>
        <artifactId>hk2-utils</artifactId>
        <version>${hk2-utils.version}</version>
      </dependency>
      <dependency>
        <groupId>org.glassfish.jersey.core</groupId>
        <artifactId>jersey-common</artifactId>
        <version>${glassfish-jersey-common.version}</version>
      </dependency>
      <dependency>
        <groupId>org.glassfish.jersey.core</groupId>
        <artifactId>jersey-server</artifactId>
        <version>${glassfish-jersey-server.version}</version>
      </dependency>
      <dependency>
        <groupId>org.glassfish.jersey.core</groupId>
        <artifactId>jersey-client</artifactId>
        <version>${glassfish-jersey-client.version}</version>
      </dependency>
      <dependency>
        <groupId>org.glassfish.jersey.media</groupId>
        <artifactId>jersey-media-multipart</artifactId>
        <version>${glassfish-jersey-media-multipart.version}</version>
      </dependency>
      <dependency>
        <groupId>org.projectlombok</groupId>
        <artifactId>lombok</artifactId>
        <version>${lombok.version}</version>
      </dependency>
      <dependency>
        <groupId>org.projectlombok</groupId>
        <artifactId>lombok-mapstruct-binding</artifactId>
        <version>${lombok-mapstruct-binding.version}</version>
      </dependency>
      <dependency>
        <groupId>com.github.ben-manes.caffeine</groupId>
        <artifactId>caffeine</artifactId>
        <version>${caffeine.version}</version>
      </dependency>
      <dependency>
        <groupId>org.mongodb</groupId>
        <artifactId>mongodb-driver-sync</artifactId>
        <version>${mongo-driver-sync.version}</version>
      </dependency>
      <dependency>
        <groupId>ch.qos.logback</groupId>
        <artifactId>logback-core</artifactId>
        <version>${logback-core.version}</version>
      </dependency>
      <dependency>
        <groupId>ch.qos.logback</groupId>
        <artifactId>logback-classic</artifactId>
        <version>${logback-classic.version}</version>
      </dependency>
      <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-api</artifactId>
        <version>${slf4j-api.version}</version>
      </dependency>
      <dependency>
        <groupId>org.awaitility</groupId>
        <artifactId>awaitility</artifactId>
        <version>${awaitility.version}</version>
      </dependency>
      <dependency>
        <groupId>org.assertj</groupId>
        <artifactId>assertj-core</artifactId>
        <version>${assertj-core.version}</version>
      </dependency>
      <dependency>
        <groupId>org.mockito</groupId>
        <artifactId>mockito-core</artifactId>
        <version>${mockito-core.version}</version>
      </dependency>
      <dependency>
        <groupId>org.mockito</groupId>
        <artifactId>mockito-junit-jupiter</artifactId>
        <version>${mockito-junit-jupiter.version}</version>
        <scope>test</scope>
      </dependency>
      <dependency>
        <groupId>org.junit</groupId>
        <artifactId>junit-bom</artifactId>
        <version>${junit-bom.version}</version>
        <type>pom</type>
        <scope>import</scope>
      </dependency>
      <dependency>
        <groupId>org.junit.jupiter</groupId>
        <artifactId>junit-jupiter-engine</artifactId>
        <version>${junit-jupiter-engine.version}</version>
      </dependency>
      <dependency>
        <groupId>org.junit.jupiter</groupId>
        <artifactId>junit-jupiter</artifactId>
        <version>${junit-jupiter-engine.version}</version>
      </dependency>
      <dependency>
        <groupId>org.junit.jupiter</groupId>
        <artifactId>junit-jupiter-api</artifactId>
        <version>${junit-jupiter-api.version}</version>
      </dependency>
      <dependency>
        <groupId>org.junit.platform</groupId>
        <artifactId>junit-platform-commons</artifactId>
        <version>${junit-platform-commons.version}</version>
      </dependency>
      <dependency>
        <groupId>org.junit.jupiter</groupId>
        <artifactId>junit-jupiter-params</artifactId>
        <version>${junit-jupiter-api.version}</version>
        <scope>test</scope>
      </dependency>
      <dependency>
        <groupId>io.dropwizard</groupId>
        <artifactId>dropwizard-testing</artifactId>
        <version>${dropwizard.version}</version>
        <scope>test</scope>
      </dependency>
      <dependency>
        <groupId>org.testcontainers</groupId>
        <artifactId>testcontainers-bom</artifactId>
        <version>${testcontainers.mongodb.version}</version>
        <type>pom</type>
        <scope>import</scope>
      </dependency>
      <dependency>
        <groupId>com.redis</groupId>
        <artifactId>testcontainers-redis</artifactId>
        <version>${testcontainers.redis.version}</version>
        <scope>test</scope>
      </dependency>
      <dependency>
        <groupId>com.google.protobuf</groupId>
        <artifactId>protobuf-java</artifactId>
        <version>${protobuf-java.version}</version>
      </dependency>
      <dependency>
        <groupId>io.grpc</groupId>
        <artifactId>grpc-services</artifactId>
        <version>${grpc.version}</version>
        <exclusions>
          <exclusion>
            <groupId>com.google.code.gson</groupId>
            <artifactId>gson</artifactId>
          </exclusion>
        </exclusions>
      </dependency>
      <dependency>
        <groupId>io.grpc</groupId>
        <artifactId>grpc-netty-shaded</artifactId>
        <version>${grpc.version}</version>
        <scope>runtime</scope>
      </dependency>
      <dependency>
        <groupId>io.grpc</groupId>
        <artifactId>grpc-protobuf</artifactId>
        <version>${grpc.version}</version>
      </dependency>
      <dependency>
        <groupId>io.grpc</groupId>
        <artifactId>grpc-stub</artifactId>
        <version>${grpc.version}</version>
      </dependency>
      <dependency>
        <groupId>com.google.protobuf</groupId>
        <artifactId>protobuf-java-util</artifactId>
        <version>${protobuf-java.version}</version>
      </dependency>
      <dependency>
        <groupId>io.grpc</groupId>
        <artifactId>grpc-api</artifactId>
        <version>${grpc.version}</version>
      </dependency>
      <dependency>
        <groupId>io.grpc</groupId>
        <artifactId>grpc-testing</artifactId>
        <version>${grpc.version}</version>
      </dependency>
      <dependency>
        <groupId>com.google.code.gson</groupId>
        <artifactId>gson</artifactId>
        <version>${gson.version}</version>
      </dependency>
      <dependency>
        <groupId>io.temporal</groupId>
        <artifactId>temporal-sdk</artifactId>
        <version>${temporal-sdk.version}</version>
      </dependency>
      <dependency>
        <groupId>io.temporal</groupId>
        <artifactId>temporal-testing</artifactId>
        <version>${temporal-sdk.version}</version>
      </dependency>
      <dependency>
        <groupId>io.github.resilience4j</groupId>
        <artifactId>resilience4j-retry</artifactId>
        <version>${resilience4j-retry.version}</version>
      </dependency>
      <dependency>
        <groupId>com.amazonaws</groupId>
        <artifactId>aws-java-sdk-bom</artifactId>
        <version>${aws.sdk.version}</version>
        <type>pom</type>
        <scope>import</scope>
      </dependency>
      <dependency>
        <groupId>commons-logging</groupId>
        <artifactId>commons-logging</artifactId>
        <version>${commons-logging.version}</version>
      </dependency>
      <dependency>
        <groupId>software.amazon.awssdk</groupId>
        <artifactId>bom</artifactId>
        <version>${software.aws.sdk.version}</version>
        <type>pom</type>
        <scope>import</scope>
      </dependency>
      <dependency>
        <groupId>org.apache.httpcomponents</groupId>
        <artifactId>httpcore</artifactId>
        <version>${httpcomponents.httpcore.version}</version>
      </dependency>
      <dependency>
        <groupId>software.amazon.awssdk.crt</groupId>
        <artifactId>aws-crt</artifactId>
        <version>${aws-crt.version}</version>
      </dependency>
      <dependency>
        <groupId>com.zaxxer</groupId>
        <artifactId>HikariCP</artifactId>
        <version>${hikaricp.version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.commons</groupId>
        <artifactId>commons-collections4</artifactId>
        <version>${commons-collections4.version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.commons</groupId>
        <artifactId>commons-compress</artifactId>
        <version>${commons-compress.version}</version>
      </dependency>
      <dependency>
        <groupId>org.flywaydb</groupId>
        <artifactId>flyway-core</artifactId>
        <version>${flyway.version}</version>
      </dependency>
      <dependency>
        <groupId>org.flywaydb</groupId>
        <artifactId>flyway-mysql</artifactId>
        <version>${flyway.version}</version>
      </dependency>
      <dependency>
        <groupId>redis.clients</groupId>
        <artifactId>jedis</artifactId>
        <version>${jedis.version}</version>
      </dependency>
      <dependency>
        <groupId>com.mysql</groupId>
        <artifactId>mysql-connector-j</artifactId>
        <version>${mysql-connector-j.version}</version>
      </dependency>
      <dependency>
        <groupId>org.jdbi</groupId>
        <artifactId>jdbi3-core</artifactId>
        <version>${jdbi.version}</version>
      </dependency>
      <dependency>
        <groupId>org.jdbi</groupId>
        <artifactId>jdbi3-jackson2</artifactId>
        <version>${jdbi.version}</version>
      </dependency>
      <dependency>
        <groupId>org.mapstruct</groupId>
        <artifactId>mapstruct</artifactId>
        <version>${org-mapstruct.version}</version>
      </dependency>
      <dependency>
        <groupId>commons-codec</groupId>
        <artifactId>commons-codec</artifactId>
        <version>${commons-codec.version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.commons</groupId>
        <artifactId>commons-pool2</artifactId>
        <version>${commons-pool2.version}</version>
      </dependency>
      <dependency>
        <groupId>org.bouncycastle</groupId>
        <artifactId>bcprov-jdk18on</artifactId>
        <version>${bouncycastle.version}</version>
      </dependency>
      <dependency>
        <groupId>org.bouncycastle</groupId>
        <artifactId>bcpkix-jdk18on</artifactId>
        <version>${bouncycastle.version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.sshd</groupId>
        <artifactId>sshd-mina</artifactId>
        <version>${apache-mina.version}</version>
      </dependency>
      <dependency>
        <groupId>com.hubspot.jinjava</groupId>
        <artifactId>jinjava</artifactId>
        <version>${jinjava.version}</version>
      </dependency>
      <dependency>
        <groupId>jakarta.mail</groupId>
        <artifactId>jakarta.mail-api</artifactId>
        <version>${jakarta.mail-api.version}</version>
      </dependency>
      <dependency>
        <groupId>org.openjdk.jmh</groupId>
        <artifactId>jmh-core</artifactId>
        <version>${jmh.version}</version>
        <scope>test</scope>
      </dependency>
      <dependency>
        <groupId>org.openjdk.jmh</groupId>
        <artifactId>jmh-generator-annprocess</artifactId>
        <version>${jmh.version}</version>
        <scope>test</scope>
      </dependency>
      <dependency>
        <groupId>com.auth0</groupId>
        <artifactId>java-jwt</artifactId>
        <version>${java-jwt.version}</version>
      </dependency>
      <dependency>
        <groupId>com.macasaet.fernet</groupId>
        <artifactId>fernet-java8</artifactId>
        <version>${fernet-java8.version}</version>
      </dependency>
      <dependency>
        <groupId>com.datadoghq</groupId>
        <artifactId>java-dogstatsd-client</artifactId>
        <version>${java-dogstatsd-client.version}</version>
      </dependency>
      <dependency>
        <groupId>io.micrometer</groupId>
        <artifactId>micrometer-registry-statsd</artifactId>
        <version>${micrometer.version}</version>
      </dependency>
      <dependency>
        <groupId>us.fatehi</groupId>
        <artifactId>schemacrawler</artifactId>
        <version>${schemacrawler.version}</version>
        <exclusions>
          <exclusion>
            <groupId>com.slf4j</groupId>
            <artifactId>slf4j-jdk14</artifactId>
          </exclusion>
        </exclusions>
      </dependency>
      <dependency>
        <groupId>com.squareup.okhttp3</groupId>
        <artifactId>okhttp</artifactId>
        <version>${okhttp.version}</version>
      </dependency>
      <dependency>
        <groupId>org.jetbrains.kotlin</groupId>
        <artifactId>kotlin-stdlib-jdk8</artifactId>
        <version>${kotlin-stdlib.version}</version>
      </dependency>
      <dependency>
        <groupId>com.cronutils</groupId>
        <artifactId>cron-utils</artifactId>
        <version>${cron-utils.version}</version>
      </dependency>
      <dependency>
        <groupId>org.locationtech.jts</groupId>
        <artifactId>jts-core</artifactId>
        <version>${jts.version}</version>
      </dependency>
      <dependency>
        <groupId>org.locationtech.jts.io</groupId>
        <artifactId>jts-io-common</artifactId>
        <version>${jts.version}</version>
      </dependency>
    </dependencies>
  </dependencyManagement>
  <repositories>
    <repository>
      <releases>
        <updatePolicy>always</updatePolicy>
      </releases>
      <id>maven.hevodata.me</id>
      <url>${maven.repository.id}/release</url>
    </repository>
    <repository>
      <snapshots>
        <enabled>true</enabled>
        <updatePolicy>always</updatePolicy>
      </snapshots>
      <id>maven.hevodata.me.snapshot</id>
      <url>${maven.repository.id}/snapshot</url>
    </repository>
  </repositories>
  <build>
    <extensions>
      <extension>
        <groupId>com.hevodata</groupId>
        <artifactId>maven-s3-wagon</artifactId>
        <version>1.2.0</version>
      </extension>
    </extensions>
    <pluginManagement>
      <plugins>
        <plugin>
          <groupId>com.diffplug.spotless</groupId>
          <artifactId>spotless-maven-plugin</artifactId>
          <version>${spotless-maven-plugin.version}</version>
          <executions>
            <execution>
              <id>codestyle-check</id>
              <phase>compile</phase>
              <goals>
                <goal>apply</goal>
              </goals>
            </execution>
          </executions>
          <configuration>
            <java>
              <removeUnusedImports />
              <googleJavaFormat>
                <version>${spotless-java-format.version}</version>
                <style>GOOGLE</style>
              </googleJavaFormat>
            </java>
          </configuration>
        </plugin>
        <plugin>
          <groupId>org.projectlombok</groupId>
          <artifactId>lombok-maven-plugin</artifactId>
          <version>${lombok-maven-plugin.version}</version>
          <executions>
            <execution>
              <phase>generate-sources</phase>
              <goals>
                <goal>delombok</goal>
              </goals>
            </execution>
          </executions>
        </plugin>
        <plugin>
          <artifactId>maven-compiler-plugin</artifactId>
          <version>${maven-compiler-plugin.version}</version>
          <configuration>
            <source>${java.version}</source>
            <target>${java.version}</target>
            <annotationProcessorPaths>
              <path>
                <groupId>org.projectlombok</groupId>
                <artifactId>lombok</artifactId>
                <version>${lombok.version}</version>
              </path>
            </annotationProcessorPaths>
          </configuration>
        </plugin>
        <plugin>
          <artifactId>maven-toolchains-plugin</artifactId>
          <version>3.1.0</version>
          <executions>
            <execution>
              <goals>
                <goal>toolchain</goal>
              </goals>
            </execution>
          </executions>
          <configuration>
            <toolchains>
              <jdk>
                <version>${java.version}</version>
              </jdk>
            </toolchains>
          </configuration>
        </plugin>
        <plugin>
          <artifactId>maven-source-plugin</artifactId>
          <version>${maven-source-plugin.version}</version>
          <executions>
            <execution>
              <id>attach-sources</id>
              <goals>
                <goal>jar</goal>
              </goals>
            </execution>
          </executions>
        </plugin>
        <plugin>
          <artifactId>maven-deploy-plugin</artifactId>
          <version>${maven-deploy-plugin.version}</version>
        </plugin>
        <plugin>
          <artifactId>maven-dependency-plugin</artifactId>
          <version>${maven-dependency-plugin}</version>
        </plugin>
        <plugin>
          <artifactId>maven-jar-plugin</artifactId>
          <version>${maven-jar-plugin.version}</version>
          <configuration>
            <archive>
              <manifest>
                <addDefaultImplementationEntries>true</addDefaultImplementationEntries>
                <addDefaultSpecificationEntries>true</addDefaultSpecificationEntries>
              </manifest>
            </archive>
          </configuration>
        </plugin>
        <plugin>
          <artifactId>maven-shade-plugin</artifactId>
          <version>${maven-shade-plugin.version}</version>
        </plugin>
        <plugin>
          <artifactId>maven-surefire-plugin</artifactId>
          <version>${maven-surefire-plugin.version}</version>
          <configuration>
            <argLine>@{surefire.argLine}</argLine>
          </configuration>
        </plugin>
        <plugin>
          <artifactId>maven-failsafe-plugin</artifactId>
          <version>${maven-failsafe-plugin.version}</version>
          <executions>
            <execution>
              <goals>
                <goal>integration-test</goal>
                <goal>verify</goal>
              </goals>
            </execution>
          </executions>
          <configuration>
            <argLine>@{failsafe.argLine}</argLine>
            <useModulePath>false</useModulePath>
          </configuration>
        </plugin>
        <plugin>
          <artifactId>maven-enforcer-plugin</artifactId>
          <version>${maven-enforcer-plugin.version}</version>
          <executions>
            <execution>
              <id>enforce-versions</id>
              <goals>
                <goal>enforce</goal>
              </goals>
              <configuration>
                <rules>
                  <dependencyConvergence />
                  <banDuplicatePomDependencyVersions />
                  <dependencyConvergence />
                  <bannedPlugins>
                    <level>ERROR</level>
                    <excludes>
                      <exclude>org.apache.maven.plugins:maven-verifier-plugin</exclude>
                    </excludes>
                    <message>Please consider using the maven-invoker-plugin
                                            (http://maven.apache.org/plugins/maven-invoker-plugin/)!</message>
                  </bannedPlugins>
                  <requireMavenVersion>
                    <version>3.9.5</version>
                  </requireMavenVersion>
                  <requireJavaVersion>
                    <version>17.0.9</version>
                  </requireJavaVersion>
                  <requireJavaVendor>
                    <includes>
                      <include>Eclipse Adoptium</include>
                    </includes>
                  </requireJavaVendor>
                  <requireOS>
                    <family>unix</family>
                  </requireOS>
                </rules>
              </configuration>
            </execution>
            <execution>
              <id>check-junit-4-imports</id>
              <phase>process-sources</phase>
              <goals>
                <goal>enforce</goal>
              </goals>
              <configuration>
                <rules>
                  <RestrictImports>
                    <reason>Found junit-4 usage in tests</reason>
                    <allowedImport>org.junit.jupiter.**</allowedImport>
                    <bannedImport>org.junit.**</bannedImport>
                  </RestrictImports>
                </rules>
              </configuration>
            </execution>
          </executions>
          <dependencies>
            <dependency>
              <groupId>de.skuzzle.enforcer</groupId>
              <artifactId>restrict-imports-enforcer-rule</artifactId>
              <version>2.5.0</version>
              <scope>compile</scope>
            </dependency>
          </dependencies>
        </plugin>
        <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>org.codehaus.mojo</groupId>
          <artifactId>cobertura-maven-plugin</artifactId>
          <version>${cobertura-maven-plugin.version}</version>
        </plugin>
      </plugins>
    </pluginManagement>
    <plugins>
      <plugin>
        <groupId>com.diffplug.spotless</groupId>
        <artifactId>spotless-maven-plugin</artifactId>
      </plugin>
      <plugin>
        <artifactId>maven-compiler-plugin</artifactId>
      </plugin>
      <plugin>
        <artifactId>maven-enforcer-plugin</artifactId>
      </plugin>
      <plugin>
        <groupId>com.github.spotbugs</groupId>
        <artifactId>spotbugs-maven-plugin</artifactId>
        <dependencies>
          <dependency>
            <groupId>com.github.spotbugs</groupId>
            <artifactId>spotbugs</artifactId>
            <version>${spotbugs.version}</version>
          </dependency>
        </dependencies>
      </plugin>
      <plugin>
        <artifactId>maven-failsafe-plugin</artifactId>
      </plugin>
      <plugin>
        <artifactId>maven-surefire-plugin</artifactId>
      </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>
              <destFile>${project.build.directory}/coverage-reports/jacoco-ut.exec</destFile>
              <propertyName>surefire.argLine</propertyName>
            </configuration>
          </execution>
          <execution>
            <id>pre-integration-test</id>
            <goals>
              <goal>prepare-agent-integration</goal>
            </goals>
            <configuration>
              <destFile>${project.build.directory}/coverage-reports/jacoco-it.exec</destFile>
              <propertyName>failsafe.argLine</propertyName>
            </configuration>
          </execution>
        </executions>
      </plugin>
      <plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>flatten-maven-plugin</artifactId>
        <version>1.1.0</version>
        <executions>
          <execution>
            <id>flatten</id>
            <phase>verify</phase>
            <goals>
              <goal>flatten</goal>
            </goals>
          </execution>
          <execution>
            <id>flatten.clean</id>
            <phase>clean</phase>
            <goals>
              <goal>clean</goal>
            </goals>
          </execution>
        </executions>
        <configuration>
          <flattenMode>resolveCiFriendliesOnly</flattenMode>
          <updatePomFile>true</updatePomFile>
        </configuration>
      </plugin>
    </plugins>
  </build>
  <profiles>
    <profile>
      <id>sonar</id>
      <activation>
        <activeByDefault>true</activeByDefault>
      </activation>
      <properties>
        <sonar.java.target>17</sonar.java.target>
        <sonar.host.url>https://sonarqube.hevo.me</sonar.host.url>
        <sonar.java.source>17</sonar.java.source>
        <sonar.coverage.jacoco.xmlReportPaths>${project.basedir}/../coverage-reports/target/site/jacoco-aggregate/jacoco.xml</sonar.coverage.jacoco.xmlReportPaths>
      </properties>
    </profile>
    <profile>
      <id>release-toggle</id>
      <activation>
        <property>
          <name>default.java.version</name>
          <value>17</value>
        </property>
      </activation>
      <properties>
        <maven.compiler.release>17</maven.compiler.release>
      </properties>
    </profile>
    <profile>
      <id>public-release</id>
      <activation />
      <build>
        <plugins>
          <plugin>
            <artifactId>maven-gpg-plugin</artifactId>
            <version>1.5</version>
            <executions>
              <execution>
                <id>sign-artifacts</id>
                <phase>verify</phase>
                <goals>
                  <goal>sign</goal>
                </goals>
              </execution>
            </executions>
            <configuration>
              <gpgArguments>
                <arg>--pinentry-mode</arg>
                <arg>loopback</arg>
              </gpgArguments>
            </configuration>
          </plugin>
          <plugin>
            <groupId>org.sonatype.central</groupId>
            <artifactId>central-publishing-maven-plugin</artifactId>
            <version>0.7.0</version>
            <extensions>true</extensions>
            <configuration>
              <publishingServerId>central</publishingServerId>
            </configuration>
          </plugin>
        </plugins>
      </build>
    </profile>
  </profiles>
</project>
