<?xml version="1.0" encoding="UTF-8"?>
<!--
/*********************************************************************
* Copyright (c) 2022 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
**********************************************************************/
-->
<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">
  <modelVersion>4.0.0</modelVersion>
  <parent>
    <groupId>org.eclipse.sensinact.gateway</groupId>
    <artifactId>sensinact-parent</artifactId>
    <version>${revision}${changelist}</version>
  </parent>
  <groupId>org.eclipse.sensinact.gateway.northbound</groupId>
  <artifactId>northbound</artifactId>
  <packaging>pom</packaging>

  <name>Northbound Connectors</name>
  <description>This reactor contains northbound connectors that are used to interact with sensiNact</description>

  <properties>
    <osgi.technology.rest.version>1.2.2</osgi.technology.rest.version>
    <hk2.version>3.0.5</hk2.version>
    <jersey.version>3.1.3</jersey.version>
    <jetty.version>11.0.13</jetty.version>
  </properties>

  <modules>
    <module>session</module>
    <module>filters</module>
    <module>query-handler</module>
    <module>rest</module>
    <module>websocket</module>
    <module>sensorthings</module>
    <module>security</module>
    <module>gogo-shell</module>
  </modules>

  <dependencyManagement>
    <dependencies>
      <!-- OSGi -->
      <dependency>
        <groupId>org.osgi</groupId>
        <artifactId>org.osgi.util.promise</artifactId>
        <version>1.3.0</version>
      </dependency>
      <dependency>
        <groupId>org.osgi</groupId>
        <artifactId>org.osgi.service.jakartars</artifactId>
        <version>2.0.0</version>
      </dependency>
      <dependency>
        <groupId>org.apache.felix</groupId>
        <artifactId>org.apache.felix.configurator</artifactId>
        <version>1.0.18</version>
      </dependency>
      <dependency>
        <groupId>org.apache.felix</groupId>
        <artifactId>org.apache.felix.cm.json</artifactId>
        <version>2.0.0</version>
      </dependency>

      <!-- JSON provider -->
      <dependency>
        <groupId>org.eclipse.parsson</groupId>
        <artifactId>jakarta.json</artifactId>
        <version>1.1.5</version>
      </dependency>

      <!-- Jakarta RS -->
      <dependency>
        <groupId>jakarta.annotation</groupId>
        <artifactId>jakarta.annotation-api</artifactId>
        <version>2.1.1</version>
      </dependency>
      <dependency>
        <groupId>jakarta.ws.rs</groupId>
        <artifactId>jakarta.ws.rs-api</artifactId>
        <version>3.1.0</version>
      </dependency>

      <!-- Jersey -->
      <dependency>
        <groupId>org.glassfish.jersey.core</groupId>
        <artifactId>jersey-server</artifactId>
        <version>${jersey.version}</version>
      </dependency>
      <dependency>
        <groupId>org.glassfish.jersey.inject</groupId>
        <artifactId>jersey-hk2</artifactId>
        <version>${jersey.version}</version>
      </dependency>
      <dependency>
        <groupId>org.glassfish.jersey.media</groupId>
        <artifactId>jersey-media-jaxb</artifactId>
        <version>${jersey.version}</version>
      </dependency>

      <!-- Jersey based OSGi REST Whiteboard -->
      <dependency>
        <groupId>org.eclipse.osgi-technology.rest</groupId>
        <artifactId>org.eclipse.osgitech.rest</artifactId>
        <version>${osgi.technology.rest.version}</version>
      </dependency>
      <dependency>
        <groupId>org.eclipse.osgi-technology.rest</groupId>
        <artifactId>org.eclipse.osgitech.rest.sse</artifactId>
        <version>${osgi.technology.rest.version}</version>
      </dependency>
      <dependency>
        <groupId>org.eclipse.osgi-technology.rest</groupId>
        <artifactId>org.eclipse.osgitech.rest.servlet.whiteboard</artifactId>
        <version>${osgi.technology.rest.version}</version>
      </dependency>
      <dependency>
        <groupId>org.eclipse.osgi-technology.rest</groupId>
        <artifactId>org.eclipse.osgitech.rest.jetty</artifactId>
        <version>${osgi.technology.rest.version}</version>
      </dependency>

      <!-- ANTLR -->
      <dependency>
        <groupId>org.antlr</groupId>
        <artifactId>antlr4-runtime</artifactId>
        <version>${antlr.version}</version>
      </dependency>
    </dependencies>
  </dependencyManagement>

  <build>
    <pluginManagement>
      <plugins>
        <plugin>
          <groupId>org.antlr</groupId>
          <artifactId>antlr4-maven-plugin</artifactId>
          <version>${antlr.version}</version>
          <executions>
            <execution>
              <id>antlr</id>
              <goals>
                <goal>antlr4</goal>
              </goals>
              <configuration>
                <visitor>true</visitor>
              </configuration>
            </execution>
          </executions>
        </plugin>
      </plugins>
    </pluginManagement>
  </build>
</project>