<?xml version="1.0" encoding="UTF-8"?>
<!--
  ~ Licensed to the Apache Software Foundation (ASF) under one
  ~ or more contributor license agreements.  See the NOTICE file
  ~ distributed with this work for additional information
  ~ regarding copyright ownership.  The ASF licenses this file
  ~ to you 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:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xmlns="http://maven.apache.org/POM/4.0.0"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <parent>
    <artifactId>kogito-build</artifactId>
    <groupId>org.kie.kogito</groupId>
    <version>10.0.0</version>
  </parent>
  <modelVersion>4.0.0</modelVersion>

  <artifactId>kogito-dependencies-bom</artifactId>
  <name>Kogito :: Dependencies :: BOM</name>
  <packaging>pom</packaging>
  <description>Third-party dependencies used by Kogito</description>

  <properties>
    <!-- this version property is used in plugins but also in dependencies too -->
    <version.io.quarkus>3.8.4</version.io.quarkus>
    <version.io.quarkus.quarkus-test>${version.io.quarkus}</version.io.quarkus.quarkus-test>
    <version.org.springframework.boot>3.2.6</version.org.springframework.boot>
    <version.org.apache.kafka>3.6.1</version.org.apache.kafka>

    <version.org.bouncycastle.bc.jdk18on>1.78.1</version.org.bouncycastle.bc.jdk18on>

    <!-- dependencies versions -->
    <version.com.networknt>1.0.86</version.com.networknt>
    <version.com.fasterxml.jackson>2.16.1</version.com.fasterxml.jackson>
    <version.com.fasterxml.jackson.databind>2.16.1</version.com.fasterxml.jackson.databind>
    <version.com.jayway.jsonpath>2.9.0</version.com.jayway.jsonpath>
    <version.net.minidev.jsonsmart>2.4.10</version.net.minidev.jsonsmart>
    <version.net.thisptr.jackson-jq>1.0.0-preview.20240207</version.net.thisptr.jackson-jq>
    <version.io.quarkiverse.jackson-jq>2.0.1</version.io.quarkiverse.jackson-jq>
    <version.io.quarkiverse.openapi.generator>2.4.1</version.io.quarkiverse.openapi.generator>
    <version.io.quarkiverse.asyncapi>0.3.0</version.io.quarkiverse.asyncapi>
    <version.io.quarkiverse.reactivemessaging.http>2.2.0</version.io.quarkiverse.reactivemessaging.http>
    <version.io.quarkiverse.embedded.postgresql>0.2.2</version.io.quarkiverse.embedded.postgresql>
    <version.com.github.haifengl.smile>1.5.2</version.com.github.haifengl.smile>
    <version.com.github.javaparser>3.25.8</version.com.github.javaparser>
    <version.com.fasterxml.jackson.datatype>2.16.1</version.com.fasterxml.jackson.datatype>
    <version.com.github.victools>4.31.0</version.com.github.victools>
    <version.com.github.tomakehurst.wiremock>2.35.1</version.com.github.tomakehurst.wiremock>
    <version.com.google.protobuf>3.25.0</version.com.google.protobuf>
    <!-- We don't use gson directly. This is just to align versions of transitive dependencies -->
    <version.com.google.gson>2.10.1</version.com.google.gson>
    <!-- currently required for integration test only -->
    <version.com.sun.xml.bind.core>4.0.4</version.com.sun.xml.bind.core>
    <version.com.sun.activation>2.0.1</version.com.sun.activation>
    <version.javax.inject>2.0.1</version.javax.inject>
    <version.org.eclipse.microprofile.openapi>3.1.1</version.org.eclipse.microprofile.openapi>
    <version.ch.qos.logback>1.4.14</version.ch.qos.logback>
    <version.jakarta.annotation-api>2.1.1</version.jakarta.annotation-api>
    <version.jakarta.validation-api>3.0.2</version.jakarta.validation-api>
    <version.jakarta.xml.bind-api>4.0.1</version.jakarta.xml.bind-api>

    <version.io.cloudevents>2.3.0</version.io.cloudevents>
    <!--
    We add Fabric8 here to use as a basis for Addons/Kubernetes
    Don't add as a management dependency because it will break SpringBoot and Quarkus
    Kubernetes addons since they use a different version.
    -->
    <version.io.fabric8.kubernetes-client>6.10.0</version.io.fabric8.kubernetes-client>
    <version.io.micrometer>1.12.2</version.io.micrometer>
    <version.org.flywaydb>9.22.3</version.org.flywaydb>
    <version.org.postgresql>42.7.2</version.org.postgresql>
    <version.io.serverlessworkflow>4.0.5.Final</version.io.serverlessworkflow>
    <!-- Aligned with Quarkus 2.7 (LTS) - see https://issues.redhat.com/browse/KOGITO-7971 -->
    <version.io.smallrye-open-api>3.10.0</version.io.smallrye-open-api>
    <version.org.awaitility>4.2.0</version.org.awaitility>

    <version.io.smallrye.reactive.mutiny-vertx-web-client>3.10.0</version.io.smallrye.reactive.mutiny-vertx-web-client>

    <version.io.vertx>4.5.7</version.io.vertx>
    <version.io.grpc>1.59.1</version.io.grpc>

    <version.io.quarkus.camel>3.9.0</version.io.quarkus.camel>

    <version.io.swagger.parser.v3>2.1.19</version.io.swagger.parser.v3>
    <version.io.swagger.core.v3>2.2.19</version.io.swagger.core.v3>

    <version.org.apache.commons>3.14.0</version.org.apache.commons>

    <version.org.graalvm.nativeimage>23.1.2</version.org.graalvm.nativeimage>

    <version.org.infinispan>14.0.25.Final</version.org.infinispan>
    <version.org.infinispan.protostream>4.6.5.Final</version.org.infinispan.protostream>

    <version.org.rocksdb>7.10.2</version.org.rocksdb>
    <!-- consider migrating to 3.x JDK 9: https://jakarta.ee/specifications/restful-ws/ -->
    <version.jakarta.ws.rs>3.1.0</version.jakarta.ws.rs>
    <version.org.jboss.resteasy>6.2.7.Final</version.org.jboss.resteasy>
    <version.org.keycloak>23.0.7</version.org.keycloak>
    <!-- It seems that the confluent kafka cannot replace wurstmeister/kafka so easily. See FAI-729 -->
    <version.wurstmeister.kafka>2.12-2.2.1</version.wurstmeister.kafka>
    <version.org.mongo>4.9.1</version.org.mongo>
    <version.org.mongo-image>4.4.14</version.org.mongo-image>
    <version.org.mozilla.rhino>1.7.13</version.org.mozilla.rhino>
    <version.org.redis>2.0.4</version.org.redis>
    <version.org.postgres>13.4-alpine3.14</version.org.postgres>
    <!-- we align to version used by quarkus -->
    <version.org.apache.avro>1.11.3</version.org.apache.avro>
    <version.org.assertj>3.24.2</version.org.assertj>
    <version.org.glassfish.jaxb>4.0.4</version.org.glassfish.jaxb>
    <version.org.json-unit-assertj>2.9.0</version.org.json-unit-assertj>
    <version.org.hamcrest>1.3</version.org.hamcrest> <!-- else old version coming from Mockito wins and breaks tests -->
    <version.org.junit>5.10.2</version.org.junit>
    <version.org.junit.jupiter>5.10.2</version.org.junit.jupiter>
    <version.org.junit.vintage>5.10.2</version.org.junit.vintage>
    <version.org.junit.platform>1.10.2</version.org.junit.platform> <!-- otherwise Quarkus brings its own, silently disabling some tests -->
    <version.org.mockito>5.2.0</version.org.mockito>
    <version.org.testcontainers>1.19.6</version.org.testcontainers>
    <version.org.xmlunit-core>2.10.0</version.org.xmlunit-core>
    <version.io.rest-assured>5.3.2</version.io.rest-assured>

    <version.net.byte-buddy>1.14.11</version.net.byte-buddy>

    <version.org.mvel>2.5.0.Final</version.org.mvel>
    <version.org.reactivestreams>1.0.4</version.org.reactivestreams>
    <version.org.reflections>0.10.2</version.org.reflections>
    <version.org.slf4j>2.0.6</version.org.slf4j>

    <version.maven>3.9.3</version.maven>
    <version.maven.project>2.2.1</version.maven.project>
    <version.maven.plugin>3.7.1</version.maven.plugin>
    <version.maven.invoker>3.2.0</version.maven.invoker>
    <version.maven.plugin.testing.harness>4.0.0-alpha-2</version.maven.plugin.testing.harness>
    <version.plexus>2.1.0</version.plexus>
    <version.plexus.classworld>2.6.0</version.plexus.classworld>

    <!-- see: https://maven.apache.org/surefire/maven-surefire-plugin/examples/fork-options-and-parallel-execution.html#parallel-test-execution-and-single-thread-execution -->
    <version.com.github.stephenc.jcip>1.0-1</version.com.github.stephenc.jcip>
    <version.black.ninia>4.2.0</version.black.ninia>
    <version.com.google.collections>1.0</version.com.google.collections>
    <version.com.google.guava>32.0.1-jre</version.com.google.guava>
    <version.apache.commons.commons-compress>1.26.1</version.apache.commons.commons-compress>
  </properties>

  <dependencyManagement>
    <dependencies>
      <!-- Not directly used, but a vulnerable version has been brought from com.dajudge.kindcontainer dependency -->
      <dependency>
        <groupId>org.bouncycastle</groupId>
        <artifactId>bcpkix-jdk18on</artifactId>
        <version>${version.org.bouncycastle.bc.jdk18on}</version>
      </dependency>

      <dependency>
        <groupId>org.bouncycastle</groupId>
        <artifactId>bcprov-jdk18on</artifactId>
        <version>${version.org.bouncycastle.bc.jdk18on}</version>
      </dependency>

      <dependency>
        <groupId>org.bouncycastle</groupId>
        <artifactId>bcutil-jdk18on</artifactId>
        <version>${version.org.bouncycastle.bc.jdk18on}</version>
      </dependency>

      <!-- Guava should not be used directly by Kogito, here we are managing it to override dependency added by GRPC to fix this CVE: https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2023-2976 -->
      <dependency>
        <groupId>com.google.guava</groupId>
        <artifactId>guava</artifactId>
        <version>${version.com.google.guava}</version>
      </dependency>
      <dependency>
        <groupId>com.google.collections</groupId>
        <artifactId>google-collections</artifactId>
        <version>${version.com.google.collections}</version>
      </dependency>

      <dependency>
        <groupId>org.apache.commons</groupId>
        <artifactId>commons-compress</artifactId>
        <version>${version.apache.commons.commons-compress}</version>
      </dependency>

      <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-api</artifactId>
        <version>${version.org.slf4j}</version>
      </dependency>
      <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-simple</artifactId>
        <version>${version.org.slf4j}</version>
      </dependency>
      <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-nop</artifactId>
        <version>${version.org.slf4j}</version>
      </dependency>

      <dependency>
        <groupId>org.mvel</groupId>
        <artifactId>mvel2</artifactId>
        <version>${version.org.mvel}</version>
      </dependency>

      <dependency>
        <groupId>com.google.protobuf</groupId>
        <artifactId>protobuf-java</artifactId>
        <version>${version.com.google.protobuf}</version>
      </dependency>
      <dependency>
        <groupId>com.google.protobuf</groupId>
        <artifactId>protobuf-java-util</artifactId>
        <version>${version.com.google.protobuf}</version>
      </dependency>

      <dependency>
        <groupId>com.google.code.gson</groupId>
        <artifactId>gson</artifactId>
        <version>${version.com.google.gson}</version>
      </dependency>

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

      <!-- Java 17 compatibility -->
      <dependency>
        <groupId>org.mozilla</groupId>
        <artifactId>rhino</artifactId>
        <version>${version.org.mozilla.rhino}</version>
      </dependency>
      <dependency>
        <groupId>org.mozilla</groupId>
        <artifactId>rhino-engine</artifactId>
        <version>${version.org.mozilla.rhino}</version>
      </dependency>

      <!-- gRPC dependencies -->
      <dependency>
        <groupId>io.grpc</groupId>
        <artifactId>grpc-protobuf</artifactId>
        <version>${version.io.grpc}</version>
      </dependency>
      <dependency>
        <groupId>io.grpc</groupId>
        <artifactId>grpc-stub</artifactId>
        <version>${version.io.grpc}</version>
      </dependency>

      <!-- code generation -->
      <dependency>
        <groupId>com.github.javaparser</groupId>
        <artifactId>javaparser-core</artifactId>
        <version>${version.com.github.javaparser}</version>
      </dependency>
      <dependency>
        <groupId>com.github.javaparser</groupId>
        <artifactId>javaparser-symbol-solver-core</artifactId>
        <version>${version.com.github.javaparser}</version>
      </dependency>

      <dependency>
        <groupId>org.apache.kafka</groupId>
        <artifactId>kafka-clients</artifactId>
        <version>${version.org.apache.kafka}</version>
      </dependency>

      <!-- marshalling -->
      <dependency>
        <groupId>com.fasterxml.jackson.core</groupId>
        <artifactId>jackson-core</artifactId>
        <version>${version.com.fasterxml.jackson}</version>
      </dependency>
      <dependency>
        <groupId>com.fasterxml.jackson.core</groupId>
        <artifactId>jackson-databind</artifactId>
        <version>${version.com.fasterxml.jackson.databind}</version>
      </dependency>
      <dependency>
        <groupId>com.fasterxml.jackson.core</groupId>
        <artifactId>jackson-annotations</artifactId>
        <version>${version.com.fasterxml.jackson}</version>
      </dependency>
      <dependency>
        <groupId>com.fasterxml.jackson.datatype</groupId>
        <artifactId>jackson-datatype-jsr310</artifactId>
        <version>${version.com.fasterxml.jackson}</version>
      </dependency>
      <dependency>
        <groupId>com.fasterxml.jackson.dataformat</groupId>
        <artifactId>jackson-dataformat-yaml</artifactId>
        <version>${version.com.fasterxml.jackson}</version>
      </dependency>
      <dependency>
        <groupId>com.fasterxml.jackson.datatype</groupId>
        <artifactId>jackson-datatype-jdk8</artifactId>
        <version>${version.com.fasterxml.jackson}</version>
      </dependency>
      <dependency>
        <groupId>com.fasterxml.jackson.module</groupId>
        <artifactId>jackson-module-parameter-names</artifactId>
        <version>${version.com.fasterxml.jackson}</version>
      </dependency>
      <dependency>
        <groupId>com.fasterxml.jackson.jakarta.rs</groupId>
        <artifactId>jackson-jakarta-rs-json-provider</artifactId>
        <version>${version.com.fasterxml.jackson}</version>
      </dependency>
      <dependency>
        <groupId>com.fasterxml.jackson.jaxrs</groupId>
        <artifactId>jackson-jaxrs-base</artifactId>
        <version>${version.com.fasterxml.jackson}</version>
      </dependency>
      <dependency>
        <groupId>com.fasterxml.jackson.module</groupId>
        <artifactId>jackson-module-jakarta-xmlbind-annotations</artifactId>
        <version>${version.com.fasterxml.jackson}</version>
      </dependency>
      <dependency>
        <groupId>com.fasterxml.jackson.dataformat</groupId>
        <artifactId>jackson-dataformat-avro</artifactId>
        <version>${version.com.fasterxml.jackson}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.avro</groupId>
        <artifactId>avro</artifactId>
        <version>${version.org.apache.avro}</version>
      </dependency>
      <dependency>
        <groupId>com.jayway.jsonpath</groupId>
        <artifactId>json-path</artifactId>
        <version>${version.com.jayway.jsonpath}</version>
      </dependency>
      <dependency>
        <groupId>com.jayway.jsonpath</groupId>
        <artifactId>json-path-assert</artifactId>
        <version>${version.com.jayway.jsonpath}</version>
      </dependency>
      <dependency>
        <groupId>net.minidev</groupId>
        <artifactId>json-smart</artifactId>
        <version>${version.net.minidev.jsonsmart}</version>
      </dependency>
      <dependency>
        <groupId>net.thisptr</groupId>
        <artifactId>jackson-jq</artifactId>
        <version>${version.net.thisptr.jackson-jq}</version>
      </dependency>

      <dependency>
        <groupId>io.smallrye</groupId>
        <artifactId>smallrye-open-api-core</artifactId>
        <version>${version.io.smallrye-open-api}</version>
      </dependency>
      <dependency>
        <groupId>io.smallrye</groupId>
        <artifactId>smallrye-open-api-ui</artifactId>
        <version>${version.io.smallrye-open-api}</version>
      </dependency>
      <dependency>
        <groupId>io.smallrye</groupId>
        <artifactId>smallrye-open-api-jaxrs</artifactId>
        <version>${version.io.smallrye-open-api}</version>
      </dependency>
      <dependency>
        <groupId>io.smallrye</groupId>
        <artifactId>smallrye-open-api-spring</artifactId>
        <version>${version.io.smallrye-open-api}</version>
      </dependency>
      <dependency>
        <groupId>io.smallrye</groupId>
        <artifactId>smallrye-open-api-vertx</artifactId>
        <version>${version.io.smallrye-open-api}</version>
      </dependency>

      <dependency>
        <groupId>io.smallrye.reactive</groupId>
        <artifactId>smallrye-mutiny-vertx-web-client</artifactId>
        <version>${version.io.smallrye.reactive.mutiny-vertx-web-client}</version>
      </dependency>

      <dependency>
        <groupId>io.smallrye.reactive</groupId>
        <artifactId>smallrye-mutiny-vertx-auth-oauth2</artifactId>
        <version>${version.io.smallrye.reactive.mutiny-vertx-web-client}</version>
      </dependency>

      <!-- metrics - monitoring -->
      <dependency>
        <groupId>io.micrometer</groupId>
        <artifactId>micrometer-core</artifactId>
        <version>${version.io.micrometer}</version>
      </dependency>
      <dependency>
        <groupId>io.micrometer</groupId>
        <artifactId>micrometer-registry-prometheus</artifactId>
        <version>${version.io.micrometer}</version>
      </dependency>
      <dependency>
        <groupId>io.micrometer</groupId>
        <artifactId>micrometer-registry-elastic</artifactId>
        <version>${version.io.micrometer}</version>
      </dependency>

      <dependency>
        <groupId>jakarta.ws.rs</groupId>
        <artifactId>jakarta.ws.rs-api</artifactId>
        <version>${version.jakarta.ws.rs}</version>
      </dependency>

      <dependency>
        <groupId>org.junit.jupiter</groupId>
        <artifactId>junit-jupiter-api</artifactId>
        <version>${version.org.junit.jupiter}</version>
        <scope>test</scope>
      </dependency>
      <dependency>
        <groupId>org.awaitility</groupId>
        <artifactId>awaitility</artifactId>
        <version>${version.org.awaitility}</version>
        <scope>test</scope>
      </dependency>
      <dependency>
        <groupId>org.junit.jupiter</groupId>
        <artifactId>junit-jupiter</artifactId>
        <version>${version.org.junit.jupiter}</version>
        <scope>test</scope>
      </dependency>
      <dependency> <!-- TODO move this dep into surefire-plugin when all modules are migrated to JUnit 5 -->
        <groupId>org.junit.jupiter</groupId>
        <artifactId>junit-jupiter-engine</artifactId>
        <version>${version.org.junit.jupiter}</version>
        <scope>test</scope>
      </dependency>
      <dependency>
        <groupId>org.junit.jupiter</groupId>
        <artifactId>junit-jupiter-params</artifactId>
        <version>${version.org.junit.jupiter}</version>
        <scope>test</scope>
      </dependency>
      <dependency>
        <groupId>org.junit.platform</groupId>
        <artifactId>junit-platform-engine</artifactId>
        <version>${version.org.junit.platform}</version>
        <scope>test</scope>
      </dependency>
      <dependency>
        <groupId>org.junit.platform</groupId>
        <artifactId>junit-platform-commons</artifactId>
        <version>${version.org.junit.platform}</version>
        <scope>test</scope>
      </dependency>
      <dependency>
        <groupId>org.junit.vintage</groupId>
        <artifactId>junit-vintage-engine</artifactId>
        <version>${version.org.junit.vintage}</version>
        <scope>test</scope>
      </dependency>

      <dependency>
        <groupId>org.assertj</groupId>
        <artifactId>assertj-core</artifactId>
        <version>${version.org.assertj}</version>
        <scope>test</scope>
      </dependency>

      <dependency>
        <groupId>org.mockito</groupId>
        <artifactId>mockito-core</artifactId>
        <version>${version.org.mockito}</version>
        <scope>test</scope>
      </dependency>
      <dependency>
        <groupId>org.mockito</groupId>
        <artifactId>mockito-inline</artifactId>
        <version>${version.org.mockito}</version>
        <scope>test</scope>
      </dependency>
      <dependency>
        <groupId>org.mockito</groupId>
        <artifactId>mockito-junit-jupiter</artifactId>
        <version>${version.org.mockito}</version>
        <scope>test</scope>
      </dependency>

      <dependency>
        <groupId>org.xmlunit</groupId>
        <artifactId>xmlunit-core</artifactId>
        <version>${version.org.xmlunit-core}</version>
        <scope>test</scope>
      </dependency>

      <dependency>
        <groupId>io.rest-assured</groupId>
        <artifactId>rest-assured</artifactId>
        <version>${version.io.rest-assured}</version>
        <scope>test</scope>
      </dependency>
      <dependency>
        <groupId>io.rest-assured</groupId>
        <artifactId>json-path</artifactId>
        <version>${version.io.rest-assured}</version>
        <scope>test</scope>
      </dependency>
      <dependency>
        <groupId>io.rest-assured</groupId>
        <artifactId>xml-path</artifactId>
        <version>${version.io.rest-assured}</version>
        <scope>test</scope>
      </dependency>

      <dependency>
        <groupId>net.bytebuddy</groupId>
        <artifactId>byte-buddy</artifactId>
        <version>${version.net.byte-buddy}</version>
      </dependency>

      <dependency>
        <groupId>org.hamcrest</groupId>
        <artifactId>hamcrest-library</artifactId>
        <version>${version.org.hamcrest}</version>
        <scope>test</scope>
      </dependency>
      <dependency>
        <groupId>org.hamcrest</groupId>
        <artifactId>hamcrest-core</artifactId>
        <version>${version.org.hamcrest}</version>
        <scope>test</scope>
      </dependency>

      <dependency>
        <groupId>net.javacrumbs.json-unit</groupId>
        <artifactId>json-unit-assertj</artifactId>
        <version>${version.org.json-unit-assertj}</version>
        <scope>test</scope>
      </dependency>

      <dependency>
        <groupId>com.github.tomakehurst</groupId>
        <artifactId>wiremock-jre8</artifactId>
        <version>${version.com.github.tomakehurst.wiremock}</version>
        <scope>test</scope>
      </dependency>
      <dependency>
        <groupId>com.github.tomakehurst</groupId>
        <artifactId>wiremock-jre8-standalone</artifactId>
        <version>${version.com.github.tomakehurst.wiremock}</version>
        <scope>test</scope>
      </dependency>

      <dependency>
        <groupId>org.apache.maven.shared</groupId>
        <artifactId>maven-invoker</artifactId>
        <version>${version.maven.invoker}</version>
        <exclusions>
          <exclusion>
            <groupId>javax.inject</groupId>
            <artifactId>javax.inject</artifactId>
          </exclusion>
        </exclusions>
      </dependency>
      <dependency>
        <groupId>org.apache.maven</groupId>
        <artifactId>maven-artifact</artifactId>
        <version>${version.maven}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.maven</groupId>
        <artifactId>maven-plugin-api</artifactId>
        <version>${version.maven}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.maven</groupId>
        <artifactId>maven-project</artifactId>
        <version>${version.maven.project}</version>
    </dependency>
      <dependency>
        <groupId>org.apache.maven</groupId>
        <artifactId>maven-core</artifactId>
        <version>${version.maven}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.maven.plugin-tools</groupId>
        <artifactId>maven-plugin-annotations</artifactId>
        <version>${version.maven.plugin}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.maven.plugin-testing</groupId>
        <artifactId>maven-plugin-testing-harness</artifactId>
        <version>${version.maven.plugin.testing.harness}</version>
      </dependency>

      <dependency>
        <groupId>org.codehaus.plexus</groupId>
        <artifactId>plexus-component-annotations</artifactId>
        <version>${version.plexus}</version>
      </dependency>
      <dependency>
        <groupId>org.codehaus.plexus</groupId>
        <artifactId>plexus-container-default</artifactId>
        <version>${version.plexus}</version>
      </dependency>
      <dependency>
        <groupId>org.codehaus.plexus</groupId>
        <artifactId>plexus-classworlds</artifactId>
        <version>${version.plexus.classworld}</version>
      </dependency>

      <dependency>
        <groupId>jakarta.xml.bind</groupId>
        <artifactId>jakarta.xml.bind-api</artifactId>
        <version>${version.jakarta.xml.bind-api}</version>
      </dependency>
      <dependency>
        <groupId>com.sun.xml.bind</groupId>
        <artifactId>jaxb-core</artifactId>
        <version>${version.com.sun.xml.bind.core}</version>
      </dependency>
      <dependency>
        <groupId>org.glassfish.jaxb</groupId>
        <artifactId>jaxb-runtime</artifactId>
        <version>${version.org.glassfish.jaxb}</version>
      </dependency>
      <dependency>
        <groupId>org.eclipse.angus</groupId>
        <artifactId>angus-activation</artifactId>
        <version>${version.com.sun.activation}</version>
      </dependency>
      <dependency>
        <groupId>jakarta.validation</groupId>
        <artifactId>jakarta.validation-api</artifactId>
        <version>${version.jakarta.validation-api}</version>
      </dependency>
      <dependency>
        <groupId>jakarta.inject</groupId>
        <artifactId>jakarta.inject-api</artifactId>
        <version>${version.javax.inject}</version>
      </dependency>
      <dependency>
        <groupId>jakarta.annotation</groupId>
        <artifactId>jakarta.annotation-api</artifactId>
        <version>${version.jakarta.annotation-api}</version>
      </dependency>
      <dependency>
        <groupId>org.eclipse.microprofile.openapi</groupId>
        <artifactId>microprofile-openapi-api</artifactId>
        <version>${version.org.eclipse.microprofile.openapi}</version>
      </dependency>

      <dependency>
        <groupId>org.graalvm.nativeimage</groupId>
        <artifactId>svm</artifactId>
        <version>${version.org.graalvm.nativeimage}</version>
      </dependency>

      <dependency>
        <groupId>org.reactivestreams</groupId>
        <artifactId>reactive-streams</artifactId>
        <version>${version.org.reactivestreams}</version>
      </dependency>

      <dependency>
        <groupId>io.swagger.parser.v3</groupId>
        <artifactId>swagger-parser</artifactId>
        <version>${version.io.swagger.parser.v3}</version>
      </dependency>
      
      <dependency>
        <groupId>io.swagger.core.v3</groupId>
        <artifactId>swagger-model</artifactId>
        <version>${version.io.swagger.core.v3}</version>
      </dependency>
      
      <dependency>
        <groupId>io.swagger.core.v3</groupId>
        <artifactId>swagger-core</artifactId>
        <version>${version.io.swagger.core.v3}</version>
      </dependency>

      <!-- infinispan -->
      <dependency>
        <groupId>org.infinispan</groupId>
        <artifactId>infinispan-remote-query-client</artifactId>
        <version>${version.org.infinispan}</version>
      </dependency>
      <dependency>
        <groupId>org.infinispan</groupId>
        <artifactId>infinispan-client-hotrod-jakarta</artifactId>
        <version>${version.org.infinispan}</version>
      </dependency>
      <dependency>
        <groupId>org.infinispan</groupId>
        <artifactId>infinispan-query-dsl</artifactId>
        <version>${version.org.infinispan}</version>
      </dependency>
      <dependency>
        <groupId>org.infinispan</groupId>
        <artifactId>infinispan-commons</artifactId>
        <version>${version.org.infinispan}</version>
      </dependency>
      <dependency>
        <groupId>org.infinispan.protostream</groupId>
        <artifactId>protostream</artifactId>
        <version>${version.org.infinispan.protostream}</version>
      </dependency>

      <!--rockdb-->
      <dependency>
        <groupId>org.rocksdb</groupId>
        <artifactId>rocksdbjni</artifactId>
        <version>${version.org.rocksdb}</version>
      </dependency>

      <!-- PostgreSQL -->
      <dependency>
        <groupId>io.vertx</groupId>
        <artifactId>vertx-pg-client</artifactId>
        <version>${version.io.vertx}</version>
      </dependency>

      <!-- predictions/machine learning related -->
      <dependency>
        <groupId>com.github.haifengl</groupId>
        <artifactId>smile-core</artifactId>
        <version>${version.com.github.haifengl.smile}</version>
      </dependency>

      <dependency>
        <groupId>org.reflections</groupId>
        <artifactId>reflections</artifactId>
        <version>${version.org.reflections}</version>
      </dependency>

      <!-- CloudEvents -->
      <dependency>
        <groupId>io.cloudevents</groupId>
        <artifactId>cloudevents-api</artifactId>
        <version>${version.io.cloudevents}</version>
      </dependency>
      <dependency>
        <groupId>io.cloudevents</groupId>
        <artifactId>cloudevents-core</artifactId>
        <version>${version.io.cloudevents}</version>
      </dependency>
      <dependency>
        <groupId>io.cloudevents</groupId>
        <artifactId>cloudevents-json-jackson</artifactId>
        <version>${version.io.cloudevents}</version>
      </dependency>
      <dependency>
        <groupId>io.cloudevents</groupId>
        <artifactId>cloudevents-kafka</artifactId>
        <version>${version.io.cloudevents}</version>
      </dependency>
      <dependency>
        <groupId>io.cloudevents</groupId>
        <artifactId>cloudevents-http-restful-ws</artifactId>
        <version>${version.io.cloudevents}</version>
      </dependency>
      <dependency>
        <groupId>io.cloudevents</groupId>
        <artifactId>cloudevents-http-vertx</artifactId>
        <version>${version.io.cloudevents}</version>
      </dependency>

      <!--  Json Schema -->
      <dependency>
        <groupId>com.github.victools</groupId>
        <artifactId>jsonschema-generator</artifactId>
        <version>${version.com.github.victools}</version>
      </dependency>
      <dependency>
        <groupId>com.networknt</groupId>
        <artifactId>json-schema-validator</artifactId>
        <version>${version.com.networknt}</version>
        <exclusions>
          <exclusion>
            <groupId>org.apache.commons</groupId>
            <artifactId>commons-lang3</artifactId>
          </exclusion>
         </exclusions>
      </dependency>
      <dependency>
        <groupId>com.fasterxml.jackson.datatype</groupId>
        <artifactId>jackson-datatype-json-org</artifactId>
        <version>${version.com.fasterxml.jackson.datatype}</version>
      </dependency>
      <!-- Serverless Workflow -->
      <dependency>
        <groupId>io.serverlessworkflow</groupId>
        <artifactId>serverlessworkflow-api</artifactId>
        <version>${version.io.serverlessworkflow}</version>
      </dependency>
      <dependency>
        <groupId>io.serverlessworkflow</groupId>
        <artifactId>serverlessworkflow-spi</artifactId>
        <version>${version.io.serverlessworkflow}</version>
      </dependency>
      <dependency>
        <groupId>io.serverlessworkflow</groupId>
        <artifactId>serverlessworkflow-validation</artifactId>
        <version>${version.io.serverlessworkflow}</version>
      </dependency>
      <dependency>
        <groupId>io.serverlessworkflow</groupId>
        <artifactId>serverlessworkflow-diagram</artifactId>
        <version>${version.io.serverlessworkflow}</version>
      </dependency>
      <dependency>
        <groupId>org.jboss.resteasy</groupId>
        <artifactId>resteasy-client</artifactId>
        <version>${version.org.jboss.resteasy}</version>
        <exclusions>
          <exclusion>
            <groupId>commons-logging</groupId>
            <artifactId>commons-logging</artifactId>
          </exclusion>
        </exclusions>
      </dependency>
      <dependency>
        <groupId>org.jboss.resteasy</groupId>
        <artifactId>resteasy-multipart-provider</artifactId>
        <version>${version.org.jboss.resteasy}</version>
      </dependency>
      <dependency>
        <groupId>org.jboss.resteasy</groupId>
        <artifactId>resteasy-jackson2-provider</artifactId>
        <version>${version.org.jboss.resteasy}</version>
      </dependency>

      <dependency>
        <groupId>org.apache.commons</groupId>
        <artifactId>commons-lang3</artifactId>
        <version>${version.org.apache.commons}</version>
      </dependency>
      <dependency>
        <groupId>black.ninia</groupId>
        <artifactId>jep</artifactId>
        <version>${version.black.ninia}</version>
      </dependency>
    </dependencies>
  </dependencyManagement>


</project>
