<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 https://maven.apache.org/xsd/maven-4.0.0.xsd">
  <!--
  /*********************************************************************
  * Copyright (c) 2023 Kentyou and others
  *
  * This program and the accompanying materials are made
  * available under the terms of the Eclipse Public License 2.0
  * which is available at https://www.eclipse.org/legal/epl-2.0/
  *
  * SPDX-License-Identifier: EPL-2.0
  **********************************************************************/
  -->
  <modelVersion>4.0.0</modelVersion>
  <parent>
    <groupId>org.eclipse.sensinact.gateway.distribution.features</groupId>
    <artifactId>features</artifactId>
    <version>${revision}${changelist}</version>
  </parent>

  <artifactId>northbound-ogc-sensorthings-mqtt-feature</artifactId>
  <name>Eclipse sensiNact Northbound OGC Sensorthings MQTT Feature</name>
  <description>This project contains a feature providing an OGC Sensorthings compatible MQTT extension for sensiNact</description>
  <packaging>pom</packaging>

  <properties>
    <sensinact.version>${revision}${changelist}</sensinact.version>
    <sensorthings.version>${revision}${changelist}</sensorthings.version>
    <moquette.version>0.17</moquette.version>
    <netty.version>4.1.93.Final</netty.version>
  </properties>

  <dependencies>
    <dependency>
      <groupId>io.moquette</groupId>
      <artifactId>moquette-broker</artifactId>
      <version>${moquette.version}</version>
    </dependency>
    <dependency>
      <groupId>org.eclipse.sensinact.gateway.northbound.sensorthings</groupId>
      <artifactId>mqtt</artifactId>
      <version>${sensorthings.version}</version>
    </dependency>
    <dependency>
      <groupId>org.eclipse.sensinact.gateway.northbound.sensorthings</groupId>
      <artifactId>dto</artifactId>
      <version>${sensorthings.version}</version>
    </dependency>

    <dependency>
      <groupId>io.netty</groupId>
      <artifactId>netty-common</artifactId>
      <version>${netty.version}</version>
    </dependency>
    <dependency>
      <groupId>io.netty</groupId>
      <artifactId>netty-buffer</artifactId>
      <version>${netty.version}</version>
    </dependency>
    <dependency>
      <groupId>io.netty</groupId>
      <artifactId>netty-codec</artifactId>
      <version>${netty.version}</version>
    </dependency>
    <dependency>
      <groupId>io.netty</groupId>
      <artifactId>netty-codec-http</artifactId>
      <version>${netty.version}</version>
    </dependency>
    <dependency>
      <groupId>io.netty</groupId>
      <artifactId>netty-codec-mqtt</artifactId>
      <version>${netty.version}</version>
    </dependency>
    <dependency>
      <groupId>io.netty</groupId>
      <artifactId>netty-handler</artifactId>
      <version>${netty.version}</version>
    </dependency>
    <dependency>
      <groupId>io.netty</groupId>
      <artifactId>netty-resolver</artifactId>
      <version>${netty.version}</version>
    </dependency>
    <dependency>
      <groupId>io.netty</groupId>
      <artifactId>netty-transport</artifactId>
      <version>${netty.version}</version>
    </dependency>
    <dependency>
      <groupId>io.netty</groupId>
      <artifactId>netty-transport-classes-epoll</artifactId>
      <version>${netty.version}</version>
    </dependency>
    <dependency>
      <groupId>io.netty</groupId>
      <artifactId>netty-transport-native-unix-common</artifactId>
      <version>${netty.version}</version>
    </dependency>
    <dependency>
      <groupId>com.fasterxml.jackson.datatype</groupId>
      <artifactId>jackson-datatype-jsr310</artifactId>
      <version>${jackson.version}</version>
    </dependency>

    <dependency>
      <groupId>org.eclipse.paho</groupId>
      <artifactId>org.eclipse.paho.client.mqttv3</artifactId>
      <version>1.2.5</version>
      <scope>test</scope>
    </dependency>
    <!-- This is needed indirectly in testing as part of the test gateway -->
    <dependency>
      <groupId>org.eclipse.sensinact.gateway.distribution.features</groupId>
      <artifactId>virtual-temperature-sensor-feature</artifactId>
      <version>${sensinact.version}</version>
      <type>json</type>
      <classifier>osgifeature</classifier>
      <scope>test</scope>
    </dependency>
  </dependencies>

  <build>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-compiler-plugin</artifactId>
      </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-surefire-plugin</artifactId>
      </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-dependency-plugin</artifactId>
        <executions>
          <execution>
            <id>gather-test-features</id>
            <configuration>
              <skip>false</skip>
              <artifactItems>
                <artifactItem>
                  <groupId>org.eclipse.sensinact.gateway.distribution.features</groupId>
                  <artifactId>core-feature</artifactId>
                  <version>${sensinact.version}</version>
                  <type>json</type>
                  <classifier>osgifeature</classifier>
                  <destFileName>core-feature.json</destFileName>
                </artifactItem>
                <artifactItem>
                  <groupId>org.eclipse.sensinact.gateway.distribution.features</groupId>
                  <artifactId>virtual-temperature-sensor-feature</artifactId>
                  <version>${sensinact.version}</version>
                  <type>json</type>
                  <classifier>osgifeature</classifier>
                  <destFileName>virtual-temperature-sensor-feature.json</destFileName>
                </artifactItem>
              </artifactItems>
            </configuration>
          </execution>
          <execution>
            <id>create-test-repo</id>
            <configuration>
              <skip>false</skip>
              <artifactItems>
                <artifactItem>
                  <groupId>org.eclipse.sensinact.gateway.distribution.features</groupId>
                  <artifactId>core-feature</artifactId>
                  <version>${sensinact.version}</version>
                  <type>zip</type>
                  <classifier>osgifeaturerepo</classifier>
                </artifactItem>
                <artifactItem>
                  <groupId>org.eclipse.sensinact.gateway.distribution.features</groupId>
                  <artifactId>virtual-temperature-sensor-feature</artifactId>
                  <version>${sensinact.version}</version>
                  <type>zip</type>
                  <classifier>osgifeaturerepo</classifier>
                </artifactItem>
              </artifactItems>
            </configuration>
          </execution>
        </executions>
      </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-antrun-plugin</artifactId>
      </plugin>
      <plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>build-helper-maven-plugin</artifactId>
      </plugin>
    </plugins>
  </build>
</project>
