<!--

    Copyright (C) 2020-2023 Red Hat, Inc. (https://github.com/commonjava/o11yphant)

    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.commonjava</groupId>
    <artifactId>commonjava</artifactId>
    <version>21</version>
  </parent>

  <groupId>org.commonjava.util</groupId>
  <artifactId>o11yphant</artifactId>
  <version>1.9.2</version>

  <packaging>pom</packaging>
  <modules>
    <module>metrics</module>
    <module>trace</module>
    <module>common</module>
  </modules>

  <name>o11yphant :: Parent</name>

  <inceptionYear>2020-2023</inceptionYear>

  <scm>
    <connection>scm:git:https://github.com/commonjava/o11yphant</connection>
    <developerConnection>scm:git:https://github.com/commonjava/o11yphant</developerConnection>
    <url>https://github.com/Commonjava/o11yphant</url>
    <tag>o11yphant-1.9.2</tag>
  </scm>

  <properties>
    <projectOwner>Red Hat, Inc.</projectOwner>
    <projectEmail>https://github.com/commonjava/o11yphant</projectEmail>
    <javaVersion>11</javaVersion>
    <test-forkCount>1</test-forkCount>
    <metricsVersion>4.2.21</metricsVersion>
    <otelVersion>1.32.0</otelVersion>
    <prometheusVersion>0.16.0</prometheusVersion>
    <undertowVersion>2.2.38.Final</undertowVersion>
    <agroalVersion>1.16</agroalVersion>
    <cassandraVersion>3.12.1</cassandraVersion>
    <jhttpcVersion>1.16</jhttpcVersion>
  </properties>

  <dependencyManagement>
    <dependencies>
      <!-- Managing vulnerable versions of netty from cassandra to avoid CVE -->
      <dependency>
        <groupId>io.netty</groupId>
        <artifactId>netty-handler</artifactId>
        <version>4.1.118.Final</version>
      </dependency>

      <dependency>
        <groupId>org.commonjava.boms</groupId>
        <artifactId>web-commons-bom</artifactId>
        <version>31</version>
        <type>pom</type>
        <scope>import</scope>
      </dependency>

      <dependency>
        <groupId>io.opentelemetry</groupId>
        <artifactId>opentelemetry-bom</artifactId>
        <version>${otelVersion}</version>
        <type>pom</type>
        <scope>import</scope>
      </dependency>

      <dependency>
        <groupId>org.commonjava.util</groupId>
        <artifactId>o11yphant-common</artifactId>
        <version>1.9.2</version>
      </dependency>
      <dependency>
        <groupId>org.commonjava.util</groupId>
        <artifactId>o11yphant-trace-api</artifactId>
        <version>1.9.2</version>
      </dependency>
      <dependency>
        <groupId>org.commonjava.util</groupId>
        <artifactId>o11yphant-trace-core</artifactId>
        <version>1.9.2</version>
      </dependency>
      <dependency>
        <groupId>org.commonjava.util</groupId>
        <artifactId>o11yphant-trace-otel</artifactId>
        <version>1.9.2</version>
      </dependency>
      <dependency>
        <groupId>org.commonjava.util</groupId>
        <artifactId>o11yphant-trace-helper-servlet</artifactId>
        <version>1.9.2</version>
      </dependency>
      <dependency>
        <groupId>org.commonjava.util</groupId>
        <artifactId>o11yphant-trace-helper-httpclient</artifactId>
        <version>1.9.2</version>
      </dependency>
      <dependency>
        <groupId>org.commonjava.util</groupId>
        <artifactId>o11yphant-trace-helper-jhttpc</artifactId>
        <version>1.9.2</version>
      </dependency>

      <dependency>
        <groupId>org.commonjava.util</groupId>
        <artifactId>o11yphant-metrics</artifactId>
        <version>1.9.2</version>
      </dependency>
      <dependency>
        <groupId>org.commonjava.util</groupId>
        <artifactId>o11yphant-metrics-api</artifactId>
        <version>1.9.2</version>
      </dependency>
      <dependency>
        <groupId>org.commonjava.util</groupId>
        <artifactId>o11yphant-metrics-common</artifactId>
        <version>1.9.2</version>
      </dependency>
      <dependency>
        <groupId>org.commonjava.util</groupId>
        <artifactId>o11yphant-metrics-core</artifactId>
        <version>1.9.2</version>
      </dependency>

      <dependency>
        <groupId>io.dropwizard.metrics</groupId>
        <artifactId>metrics-core</artifactId>
        <version>${metricsVersion}</version>
      </dependency>
      <dependency>
        <groupId>io.dropwizard.metrics</groupId>
        <artifactId>metrics-jvm</artifactId>
        <version>${metricsVersion}</version>
      </dependency>
      <dependency>
        <groupId>io.dropwizard.metrics</groupId>
        <artifactId>metrics-healthchecks</artifactId>
        <version>${metricsVersion}</version>
      </dependency>
      <dependency>
        <groupId>io.dropwizard.metrics</groupId>
        <artifactId>metrics-graphite</artifactId>
        <version>${metricsVersion}</version>
      </dependency>
      <dependency>
        <groupId>io.dropwizard.metrics</groupId>
        <artifactId>metrics-servlets</artifactId>
        <version>${metricsVersion}</version>
      </dependency>
      <dependency>
        <groupId>io.dropwizard.metrics</groupId>
        <artifactId>metrics-json</artifactId>
        <version>${metricsVersion}</version>
      </dependency>
      <dependency>
        <groupId>io.undertow</groupId>
        <artifactId>undertow-servlet</artifactId>
        <version>${undertowVersion}</version>
      </dependency>

      <dependency>
        <groupId>io.prometheus</groupId>
        <artifactId>simpleclient_servlet</artifactId>
        <version>${prometheusVersion}</version>
      </dependency>
      <dependency>
        <groupId>io.prometheus</groupId>
        <artifactId>simpleclient_dropwizard</artifactId>
        <version>${prometheusVersion}</version>
      </dependency>

      <dependency>
        <groupId>org.commonjava.util</groupId>
        <artifactId>jhttpc</artifactId>
        <version>${jhttpcVersion}</version>
      </dependency>

      <dependency>
        <groupId>io.agroal</groupId>
        <artifactId>agroal-api</artifactId>
        <version>${agroalVersion}</version>
      </dependency>

      <dependency>
        <groupId>org.apache.cassandra</groupId>
        <artifactId>cassandra-driver-core</artifactId>
        <version>${cassandraVersion}</version>
          <exclusions>
              <exclusion>
                  <groupId>io.netty</groupId>
                  <artifactId>netty-handler</artifactId>
              </exclusion>
          </exclusions>
      </dependency>

      <dependency>
        <groupId>com.google.code.findbugs</groupId>
        <artifactId>jsr305</artifactId>
        <version>3.0.2</version>
      </dependency>

      <dependency>
        <groupId>javax.annotation</groupId>
        <artifactId>javax.annotation-api</artifactId>
        <version>1.3.2</version>
        <scope>provided</scope>
      </dependency>
      <dependency>
        <groupId>javax.enterprise</groupId>
        <artifactId>cdi-api</artifactId>
        <version>1.2</version>
        <scope>provided</scope>
      </dependency>

    </dependencies>
  </dependencyManagement>

  <dependencies>
    <dependency>
      <groupId>ch.qos.logback</groupId>
      <artifactId>logback-classic</artifactId>
    </dependency>
    <dependency>
      <groupId>javax.annotation</groupId>
      <artifactId>javax.annotation-api</artifactId>
    </dependency>
    <dependency>
      <groupId>javax.enterprise</groupId>
      <artifactId>cdi-api</artifactId>
    </dependency>
    <dependency>
      <groupId>org.slf4j</groupId>
      <artifactId>slf4j-api</artifactId>
    </dependency>
    <dependency>
      <groupId>commons-io</groupId>
      <artifactId>commons-io</artifactId>
    </dependency>
    <dependency>
      <groupId>org.apache.commons</groupId>
      <artifactId>commons-lang3</artifactId>
    </dependency>
    <dependency>
      <groupId>commons-codec</groupId>
      <artifactId>commons-codec</artifactId>
    </dependency>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <scope>test</scope>
    </dependency>
  </dependencies>

</project>
