<?xml version="1.0" encoding="UTF-8"?>
<!--
    Copyright (c) 2016, 2020 Contributors to the Eclipse Foundation
   
    See the NOTICE file(s) distributed with this work for additional
    information regarding copyright ownership.
   
    This program and the accompanying materials are made available under the
    terms of the Eclipse Public License 2.0 which is available at
    http://www.eclipse.org/legal/epl-2.0
   
    SPDX-License-Identifier: EPL-2.0
 -->
<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.eclipse.hono</groupId>
    <artifactId>hono-bom</artifactId>
    <version>1.10.1</version>
    <relativePath>../bom</relativePath>
  </parent>

  <artifactId>hono-adapters</artifactId>
  <packaging>pom</packaging>

  <modules>
    <module>amqp-vertx</module>
    <module>amqp-vertx-base</module>
    <module>amqp-vertx-quarkus</module>
    <module>coap-vertx</module>
    <module>coap-vertx-base</module>
    <module>coap-vertx-quarkus</module>
    <module>http-vertx</module>
    <module>http-vertx-base</module>
    <module>http-vertx-quarkus</module>
    <module>kura</module>
    <module>lora-vertx-base</module>
    <module>lora-vertx-quarkus</module>
    <module>lora-vertx</module>
    <module>mqtt-vertx</module>
    <module>mqtt-vertx-base</module>
    <module>mqtt-vertx-quarkus</module>
    <module>sigfox-vertx</module>
    <module>base-spring</module>
    <module>base-quarkus</module>
  </modules>

  <name>Hono Protocol Adapters</name>
  <description>Hono's standard protocol adapters supporting common transport protocols.</description>

  <dependencies>
    <dependency>
      <groupId>org.eclipse.hono</groupId>
      <artifactId>hono-legal</artifactId>
    </dependency>
    <dependency>
      <groupId>org.eclipse.hono</groupId>
      <artifactId>hono-adapter-base</artifactId>
    </dependency>
    <dependency>
      <groupId>org.eclipse.hono</groupId>
      <artifactId>hono-service-base</artifactId>
    </dependency>
    <dependency>
      <groupId>io.opentracing</groupId>
      <artifactId>opentracing-api</artifactId>
    </dependency>

    <!-- Testing -->
    <dependency>
      <groupId>org.eclipse.hono</groupId>
      <artifactId>hono-demo-certs</artifactId>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>org.mockito</groupId>
      <artifactId>mockito-core</artifactId>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>org.junit.jupiter</groupId>
      <artifactId>junit-jupiter-engine</artifactId>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>org.junit.jupiter</groupId>
      <artifactId>junit-jupiter-params</artifactId>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>io.vertx</groupId>
      <artifactId>vertx-junit5</artifactId>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>org.assertj</groupId>
      <artifactId>assertj-core</artifactId>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>com.google.truth</groupId>
      <artifactId>truth</artifactId>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>org.eclipse.hono</groupId>
      <artifactId>adapter-base-test-utils</artifactId>
      <scope>test</scope>
    </dependency>
    <!--
      use BC for creating self-signed certs instead of sun.security.x509
      which has been removed in OpenJDK 15
    -->
    <dependency>
      <groupId>org.bouncycastle</groupId>
      <artifactId>bcpkix-jdk15on</artifactId>
      <scope>test</scope>
    </dependency>
  </dependencies>

  <build>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-checkstyle-plugin</artifactId>
      </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-dependency-plugin</artifactId>
      </plugin>
      <plugin>
        <groupId>org.jacoco</groupId>
        <artifactId>jacoco-maven-plugin</artifactId>
      </plugin>
    </plugins>
  </build>

  <profiles>

    <profile>
      <id>netty-tcnative</id>
      <dependencies>
        <dependency>
          <groupId>io.netty</groupId>
          <artifactId>netty-tcnative</artifactId>
        </dependency>
      </dependencies>
    </profile>

    <profile>
      <id>metrics-prometheus</id>
      <dependencies>
        <dependency>
          <groupId>io.micrometer</groupId>
          <artifactId>micrometer-registry-prometheus</artifactId>
        </dependency>
      </dependencies>
    </profile>

  </profiles>

</project>
