<?xml version="1.0" encoding="UTF-8"?>
<!--
    Copyright (c) 2016, 2021 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.11.2</version>
    <relativePath>../bom</relativePath>
  </parent>

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

  <modules>
    <module>auth</module>
    <module>auth-base</module>
    <module>auth-quarkus</module>
    <module>base-jdbc</module>
    <module>base-quarkus</module>
    <module>base-spring</module>
    <module>command-router</module>
    <module>command-router-base</module>
    <module>command-router-quarkus</module>
    <module>device-connection</module>
    <module>device-registry-base</module>
    <module>device-registry-file</module>
    <module>device-registry-jdbc</module>
    <module>device-registry-mongodb</module>
  </modules>

  <name>Hono Services</name>
  <description>Micro services implementing APIs that Hono depends on only and which are therefore not part of the Hono server process itself.
  The service components included here can be replaced by other (custom) components as long as they implement the required API(s).</description>

  <properties>
    <maven.compiler.release>11</maven.compiler.release>
  </properties>

  <dependencies>
    <dependency>
      <groupId>org.eclipse.hono</groupId>
      <artifactId>hono-legal</artifactId>
    </dependency>
    <dependency>
      <groupId>org.eclipse.hono</groupId>
      <artifactId>hono-service-base</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>io.vertx</groupId>
      <artifactId>vertx-junit5</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>core-test-utils</artifactId>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>ch.qos.logback</groupId>
      <artifactId>logback-classic</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>
