<?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="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">
  <parent>
    <artifactId>tomee-microprofile</artifactId>
    <groupId>org.apache.tomee</groupId>
    <version>8.0.13</version>
  </parent>
  <modelVersion>4.0.0</modelVersion>

  <artifactId>mp-common</artifactId>
  <name>TomEE :: TomEE :: MicroProfile Common</name>

  <dependencies>
    <dependency>
      <groupId>${project.groupId}</groupId>
      <artifactId>javaee-api</artifactId>
      <scope>provided</scope>
    </dependency>

    <dependency>
      <groupId>${project.groupId}</groupId>
      <artifactId>tomee-catalina</artifactId>
      <version>${project.version}</version>
      <scope>provided</scope>
    </dependency>

    <dependency>
      <artifactId>openejb-rest</artifactId>
      <groupId>org.apache.tomee</groupId>
      <version>${project.version}</version>
      <scope>provided</scope>
    </dependency>

    <!-- MicroProfile -->
    <dependency>
      <groupId>org.eclipse.microprofile.config</groupId>
      <artifactId>microprofile-config-api</artifactId>
      <version>${microprofile.config.version}</version>
    </dependency>

    <dependency>
      <groupId>org.apache.geronimo.config</groupId>
      <artifactId>geronimo-config-impl</artifactId>
      <version>${microprofile.config.impl.version}</version>
    </dependency>

    <dependency>
      <groupId>org.eclipse.microprofile.jwt</groupId>
      <artifactId>microprofile-jwt-auth-api</artifactId>
      <version>${microprofile.jwt.version}</version>
    </dependency>

    <dependency>
      <groupId>${project.groupId}</groupId>
      <artifactId>mp-jwt</artifactId>
      <version>${microprofile.jwt.impl.version}</version>
    </dependency>

    <dependency>
      <groupId>org.eclipse.microprofile.fault-tolerance</groupId>
      <artifactId>microprofile-fault-tolerance-api</artifactId>
      <version>${microprofile.fault-tolerance.version}</version>
    </dependency>

    <dependency>
      <groupId>org.apache.geronimo.safeguard</groupId>
      <artifactId>safeguard-impl</artifactId>
      <version>${microprofile.fault-tolerance.impl.version}</version>
      <exclusions>
        <exclusion>
          <groupId>org.apache.geronimo.specs</groupId>
          <artifactId>geronimo-interceptor_1.2_spec</artifactId>
        </exclusion>
      </exclusions>
    </dependency>

    <dependency>
      <groupId>org.eclipse.microprofile.health</groupId>
      <artifactId>microprofile-health-api</artifactId>
      <version>${microprofile.health.version}</version>
      <exclusions>
        <exclusion>
          <groupId>javax.inject</groupId>
          <artifactId>javax.inject</artifactId>
        </exclusion>
      </exclusions>
    </dependency>

    <dependency>
      <groupId>org.apache.geronimo</groupId>
      <artifactId>geronimo-health</artifactId>
      <version>${microprofile.health.impl.version}</version>
    </dependency>

    <dependency>
      <groupId>org.eclipse.microprofile.metrics</groupId>
      <artifactId>microprofile-metrics-api</artifactId>
      <version>${microprofile.metrics.version}</version>
    </dependency>

    <dependency>
      <groupId>org.apache.geronimo</groupId>
      <artifactId>geronimo-metrics</artifactId>
      <version>${microprofile.metrics.impl.version}</version>
    </dependency>

    <dependency>
      <groupId>org.eclipse.microprofile.rest.client</groupId>
      <artifactId>microprofile-rest-client-api</artifactId>
      <version>${microprofile.rest-client.version}</version>
      <exclusions>
        <exclusion>
          <groupId>javax.inject</groupId>
          <artifactId>javax.inject</artifactId>
        </exclusion>
      </exclusions>
    </dependency>

    <dependency>
      <groupId>org.apache.cxf</groupId>
      <artifactId>cxf-rt-rs-mp-client</artifactId>
      <version>${microprofile.rest-client.impl.version}</version>
      <exclusions>
        <exclusion>
          <groupId>org.glassfish.jaxb</groupId>
          <artifactId>jaxb-xjc</artifactId>
        </exclusion>
        <exclusion>
          <groupId>jakarta.json</groupId>
          <artifactId>jakarta.json-api</artifactId>
        </exclusion>
        <exclusion>
          <groupId>javax.ws.rs</groupId>
          <artifactId>javax.ws.rs-api</artifactId>
        </exclusion>
        <exclusion>
          <groupId>jakarta.ws.rs</groupId>
          <artifactId>jakarta.ws.rs-api</artifactId>
        </exclusion>
        <exclusion>
          <groupId>jakarta.annotation</groupId>
          <artifactId>jakarta.annotation-api</artifactId>
        </exclusion>
        <exclusion>
          <groupId>jakarta.activation</groupId>
          <artifactId>jakarta.activation-api</artifactId>
        </exclusion>
        <exclusion>
          <groupId>jakarta.xml.ws</groupId>
          <artifactId>jakarta.xml.ws-api</artifactId>
        </exclusion>
        <exclusion>
          <groupId>jakarta.jws:jakarta</groupId>
          <artifactId>jws-api</artifactId>
        </exclusion>
        <exclusion>
          <groupId>jakarta.xml.soap</groupId>
          <artifactId>soap-api</artifactId>
        </exclusion>
        <!-- exclude in favor of cxf-shade -->
        <exclusion>
          <groupId>org.apache.cxf</groupId>
          <artifactId>cxf-core</artifactId>
        </exclusion>
        <exclusion>
          <groupId>org.apache.cxf</groupId>
          <artifactId>cxf-rt-transports-http</artifactId>
        </exclusion>
        <exclusion>
          <groupId>org.apache.cxf</groupId>
          <artifactId>cxf-rt-rs-client</artifactId>
        </exclusion>
        <exclusion>
          <groupId>org.apache.cxf</groupId>
          <artifactId>cxf-rt-frontend-jaxrs</artifactId>
        </exclusion>
      </exclusions>
    </dependency>

    <dependency>
      <groupId>org.apache.tomee</groupId>
      <artifactId>cxf-shade</artifactId>
      <version>${tomee.version}</version>
      <exclusions>
        <exclusion>
          <groupId>org.glassfish.jaxb</groupId>
          <artifactId>jaxb-xjc</artifactId>
        </exclusion>
        <exclusion>
          <groupId>javax.ws.rs</groupId>
          <artifactId>javax.ws.rs-api</artifactId>
        </exclusion>
        <exclusion>
          <groupId>javax.annotation</groupId>
          <artifactId>javax.annotation-api</artifactId>
        </exclusion>
        <exclusion>
          <groupId>jakarta.ws.rs</groupId>
          <artifactId>jakarta.ws.rs-api</artifactId>
        </exclusion>
      </exclusions>
    </dependency>

    <dependency>
      <groupId>org.eclipse.microprofile.openapi</groupId>
      <artifactId>microprofile-openapi-api</artifactId>
      <version>${microprofile.openapi.version}</version>
    </dependency>

    <dependency>
      <groupId>org.apache.geronimo</groupId>
      <artifactId>geronimo-openapi-impl</artifactId>
      <version>${microprofile.openapi.impl.version}</version>
    </dependency>

    <!-- Jackson required by OpenAPI Impl -->
    <dependency>
      <groupId>com.fasterxml.jackson.dataformat</groupId>
      <artifactId>jackson-dataformat-yaml</artifactId>
    </dependency>
    <dependency>
      <groupId>com.fasterxml.jackson.core</groupId>
      <artifactId>jackson-databind</artifactId>
    </dependency>
    <!-- Jackson Dataformat Yaml requires snakeyaml -->
    <dependency>
      <groupId>org.yaml</groupId>
      <artifactId>snakeyaml</artifactId>
    </dependency>

    <dependency>
      <groupId>org.eclipse.microprofile.opentracing</groupId>
      <artifactId>microprofile-opentracing-api</artifactId>
      <version>${microprofile.opentracing.version}</version>
      <exclusions>
        <exclusion>
          <groupId>org.apache.geronimo.specs</groupId>
          <artifactId>geronimo-atinject_1.0_spec</artifactId>
        </exclusion>
      </exclusions>
    </dependency>

    <dependency>
      <groupId>org.apache.geronimo</groupId>
      <artifactId>geronimo-opentracing</artifactId>
      <version>${microprofile.opentracing.impl.version}</version>
    </dependency>

    <dependency>
      <groupId>io.opentracing</groupId>
      <artifactId>opentracing-api</artifactId>
      <version>${opentracing.api}</version>
    </dependency>
  </dependencies>
</project>
