<?xml version="1.0" encoding="UTF-8"?>
<!--
 - Copyright (C) 2019-2021 ConnectorIO Sp. z o.o.
 -
 - Licensed 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.
 -
 - SPDX-License-Identifier: Apache-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/maven-v4_0_0.xsd">

  <modelVersion>4.0.0</modelVersion>

  <parent>
    <groupId>org.connectorio</groupId>
    <artifactId>addons</artifactId>
    <version>3.0.0-pr-115-SNAPSHOT</version>
  </parent>

  <groupId>org.connectorio.addons</groupId>
  <artifactId>parent</artifactId>
  <packaging>pom</packaging>

  <name>ConnectorIO - Addons - Parent</name>
  <description>Parent for ConnectorIO supplied bindings and extensions.</description>

  <properties>
    <compiler.source>11</compiler.source>
    <compiler.target>11</compiler.target>

    <plc4x-extras.version>0.12.0</plc4x-extras.version>
    <bacnet4j-wrapper.version>1.3.0-beta1</bacnet4j-wrapper.version>

    <openhab.version>3.0.4</openhab.version>
    <thing4.version>3.0.0-alpha-4</thing4.version>
    <thing4-bom.version>${openhab.version}</thing4-bom.version>
    <openhab-distro.version>${openhab.version}</openhab-distro.version>
    <karaf.version>4.3.9</karaf.version>

    <slf4j.version>1.7.36</slf4j.version>
    <fasterxml-classmate.version>1.5.1</fasterxml-classmate.version>

    <assertj.version>3.23.1</assertj.version>
    <junit-jupiter.version>5.9.1</junit-jupiter.version>
    <mockito.version>4.9.0</mockito.version>

    <!-- various build related variables -->
    <feature.file>${project.basedir}/target/feature/feature.xml</feature.file>

    <ocpp-16.version>1.0.1</ocpp-16.version>
    <ocpp-common.version>1.0</ocpp-common.version>
    <milo.version>0.6.7</milo.version>
    <pax-exam.version>4.13.5</pax-exam.version>
    <xstream.version>1.4.13</xstream.version>

    <openapi-generator.version>5.4.0</openapi-generator.version>
    <connectorio-openapi-generators.version>${openapi-generator.version}</connectorio-openapi-generators.version>
    <connectorio-testcontainers.version>0.1.0</connectorio-testcontainers.version>
    <jmbus.version>3.2.1</jmbus.version>
    <jfatek.version>3.0.1</jfatek.version>
    <jrxtx.version>1.0.1</jrxtx.version>
    <testcontainers.version>1.17.6</testcontainers.version>
  </properties>

  <dependencyManagement>
    <dependencies>
      <dependency>
        <groupId>org.thing4.openhab.bom.generated</groupId>
        <artifactId>org.openhab.core.bom.compile</artifactId>
        <version>${thing4-bom.version}</version>
        <type>pom</type>
        <scope>import</scope>
      </dependency>
      <dependency>
        <groupId>org.thing4.openhab.bom.generated</groupId>
        <artifactId>org.openhab.core.bom.openhab-core</artifactId>
        <version>${thing4-bom.version}</version>
        <type>pom</type>
        <scope>import</scope>
      </dependency>

      <dependency>
        <groupId>org.connectorio.plc4x.extras</groupId>
        <artifactId>parent</artifactId>
        <version>${plc4x-extras.version}</version>
        <type>pom</type>
        <scope>import</scope>
      </dependency>

      <dependency>
        <groupId>org.connectorio.addons</groupId>
        <artifactId>org.connectorio.chrono</artifactId>
        <version>${project.version}</version>
      </dependency>
      <dependency>
        <groupId>org.connectorio.addons</groupId>
        <artifactId>org.connectorio.feature.chrono</artifactId>
        <version>${project.version}</version>
        <classifier>features</classifier>
        <type>xml</type>
      </dependency>
      <dependency>
        <groupId>org.connectorio.addons</groupId>
        <artifactId>org.connectorio.addons.communication.watchdog</artifactId>
        <version>${project.version}</version>
      </dependency>

      <dependency>
        <groupId>org.connectorio.addons</groupId>
        <artifactId>org.connectorio.addons.config</artifactId>
        <version>${project.version}</version>
      </dependency>

      <dependency>
        <groupId>org.connectorio.addons</groupId>
        <artifactId>org.connectorio.addons.temporal</artifactId>
        <version>${project.version}</version>
      </dependency>
      <dependency>
        <groupId>org.connectorio.addons</groupId>
        <artifactId>org.connectorio.addons.temporal.item</artifactId>
        <version>${project.version}</version>
      </dependency>
      <dependency>
        <groupId>org.connectorio.addons</groupId>
        <artifactId>org.connectorio.addons.temporal.openhab</artifactId>
        <version>${project.version}</version>
      </dependency>
      <dependency>
        <groupId>org.connectorio.addons</groupId>
        <artifactId>org.connectorio.addons.temporal.osh</artifactId>
        <version>${project.version}</version>
      </dependency>

      <dependency>
        <groupId>org.connectorio.addons</groupId>
        <artifactId>org.connectorio.addons.binding</artifactId>
        <version>${project.version}</version>
      </dependency>

      <dependency>
        <groupId>org.connectorio.addons</groupId>
        <artifactId>org.connectorio.addons.binding.askoheat</artifactId>
        <version>${project.version}</version>
      </dependency>
      <dependency>
        <groupId>org.connectorio.addons</groupId>
        <artifactId>org.connectorio.addons.feature.askoheat</artifactId>
        <version>${project.version}</version>
        <classifier>features</classifier>
        <type>xml</type>
      </dependency>

      <dependency>
        <groupId>org.connectorio.addons</groupId>
        <artifactId>org.connectorio.addons.binding.bacnet</artifactId>
        <version>${project.version}</version>
      </dependency>
      <dependency>
        <groupId>org.connectorio.addons</groupId>
        <artifactId>org.connectorio.addons.feature.bacnet</artifactId>
        <version>${project.version}</version>
        <classifier>features</classifier>
        <type>xml</type>
      </dependency>
      <dependency>
        <groupId>org.connectorio.addons</groupId>
        <artifactId>org.connectorio.addons.kar.bacnet</artifactId>
        <version>${project.version}</version>
        <type>kar</type>
      </dependency>

      <dependency>
        <groupId>org.connectorio.addons</groupId>
        <artifactId>org.connectorio.addons.binding.can</artifactId>
        <version>${project.version}</version>
      </dependency>

      <dependency>
        <groupId>org.connectorio.addons</groupId>
        <artifactId>org.connectorio.addons.binding.fatek</artifactId>
        <version>${project.version}</version>
      </dependency>
      <dependency>
        <groupId>org.connectorio.addons</groupId>
        <artifactId>org.connectorio.addons.feature.fatek</artifactId>
        <version>${project.version}</version>
        <classifier>features</classifier>
        <type>xml</type>
      </dependency>
      <dependency>
        <groupId>org.connectorio.addons</groupId>
        <artifactId>org.connectorio.addons.kar.fatek</artifactId>
        <version>${project.version}</version>
        <type>kar</type>
      </dependency>

      <dependency>
        <groupId>org.connectorio.addons</groupId>
        <artifactId>org.connectorio.addons.binding.mbus</artifactId>
        <version>${project.version}</version>
      </dependency>
      <dependency>
        <groupId>org.connectorio.addons</groupId>
        <artifactId>org.connectorio.addons.feature.mbus</artifactId>
        <version>${project.version}</version>
        <classifier>features</classifier>
        <type>xml</type>
      </dependency>
      <dependency>
        <groupId>org.connectorio.addons</groupId>
        <artifactId>org.connectorio.addons.kar.mbus</artifactId>
        <version>${project.version}</version>
        <type>kar</type>
      </dependency>

      <dependency>
        <groupId>org.connectorio.addons</groupId>
        <artifactId>org.connectorio.addons.binding.ocpp</artifactId>
        <version>${project.version}</version>
      </dependency>
      <dependency>
        <groupId>org.connectorio.addons</groupId>
        <artifactId>org.connectorio.addons.feature.ocpp</artifactId>
        <version>${project.version}</version>
        <classifier>features</classifier>
        <type>xml</type>
      </dependency>
      <dependency>
        <groupId>org.connectorio.addons</groupId>
        <artifactId>org.connectorio.addons.kar.ocpp</artifactId>
        <version>${project.version}</version>
        <type>kar</type>
      </dependency>

      <dependency>
        <groupId>org.connectorio.addons</groupId>
        <artifactId>org.connectorio.addons.binding.opcua</artifactId>
        <version>${project.version}</version>
      </dependency>
      <dependency>
        <groupId>org.connectorio.addons</groupId>
        <artifactId>org.connectorio.addons.feature.opcua</artifactId>
        <version>${project.version}</version>
        <classifier>features</classifier>
        <type>xml</type>
      </dependency>
      <dependency>
        <groupId>org.connectorio.addons</groupId>
        <artifactId>org.connectorio.addons.kar.opcua</artifactId>
        <version>${project.version}</version>
        <type>kar</type>
      </dependency>

      <dependency>
        <groupId>org.connectorio.addons</groupId>
        <artifactId>org.connectorio.addons.binding.test</artifactId>
        <version>${project.version}</version>
        <scope>test</scope>
      </dependency>

      <dependency>
        <groupId>org.connectorio.addons</groupId>
        <artifactId>org.connectorio.addons.binding.plc4x</artifactId>
        <version>${project.version}</version>
      </dependency>
      <dependency>
        <groupId>org.connectorio.addons</groupId>
        <artifactId>org.connectorio.addons.binding.plc4x</artifactId>
        <version>${project.version}</version>
        <classifier>features</classifier>
        <type>xml</type>
      </dependency>
      <dependency>
        <groupId>org.connectorio.addons</groupId>
        <artifactId>org.connectorio.addons.binding.amsads</artifactId>
        <version>${project.version}</version>
      </dependency>
      <dependency>
        <groupId>org.connectorio.addons</groupId>
        <artifactId>org.connectorio.addons.feature.amsads</artifactId>
        <version>${project.version}</version>
        <classifier>features</classifier>
        <type>xml</type>
      </dependency>
      <dependency>
        <groupId>org.connectorio.addons</groupId>
        <artifactId>org.connectorio.addons.kar.amsads</artifactId>
        <version>${project.version}</version>
        <type>kar</type>
      </dependency>

      <dependency>
        <groupId>org.connectorio.addons</groupId>
        <artifactId>org.connectorio.addons.binding.plc4x.can</artifactId>
        <version>${project.version}</version>
      </dependency>
      <dependency>
        <groupId>org.connectorio.addons</groupId>
        <artifactId>org.connectorio.addons.binding.canopen</artifactId>
        <version>${project.version}</version>
      </dependency>
      <dependency>
        <groupId>org.connectorio.addons</groupId>
        <artifactId>org.connectorio.addons.binding.canopen.ta</artifactId>
        <version>${project.version}</version>
      </dependency>
      <dependency>
        <groupId>org.connectorio.addons</groupId>
        <artifactId>org.connectorio.addons.feature.canopen</artifactId>
        <version>${project.version}</version>
        <classifier>features</classifier>
        <type>xml</type>
      </dependency>
      <dependency>
        <groupId>org.connectorio.addons</groupId>
        <artifactId>org.connectorio.addons.kar.canopen</artifactId>
        <version>${project.version}</version>
        <type>kar</type>
      </dependency>

      <dependency>
        <groupId>org.connectorio.addons</groupId>
        <artifactId>org.connectorio.addons.binding.s7</artifactId>
        <version>${project.version}</version>
      </dependency>
      <dependency>
        <groupId>org.connectorio.addons</groupId>
        <artifactId>org.connectorio.addons.feature.s7</artifactId>
        <version>${project.version}</version>
        <classifier>features</classifier>
        <type>xml</type>
      </dependency>
      <dependency>
        <groupId>org.connectorio.addons</groupId>
        <artifactId>org.connectorio.addons.kar.s7</artifactId>
        <version>${project.version}</version>
        <type>kar</type>
      </dependency>

      <dependency>
        <groupId>org.connectorio.addons</groupId>
        <artifactId>org.connectorio.addons.binding.relayweblog</artifactId>
        <version>${project.version}</version>
      </dependency>
      <dependency>
        <groupId>org.connectorio.addons</groupId>
        <artifactId>org.connectorio.addons.feature.relayweblog</artifactId>
        <version>${project.version}</version>
        <classifier>features</classifier>
        <type>xml</type>
      </dependency>

      <dependency>
        <groupId>org.connectorio.addons</groupId>
        <artifactId>org.connectorio.addons.binding.smartme</artifactId>
        <version>${project.version}</version>
      </dependency>
      <dependency>
        <groupId>org.connectorio.addons</groupId>
        <artifactId>org.connectorio.addons.feature.smartme</artifactId>
        <version>${project.version}</version>
        <classifier>features</classifier>
        <type>xml</type>
      </dependency>
      <dependency>
        <groupId>org.connectorio.addons</groupId>
        <artifactId>org.connectorio.addons.kar.smartme</artifactId>
        <version>${project.version}</version>
        <type>kar</type>
      </dependency>

      <dependency>
        <groupId>org.connectorio.addons</groupId>
        <artifactId>org.connectorio.addons.binding.wmbus</artifactId>
        <version>${project.version}</version>
      </dependency>
      <dependency>
        <groupId>org.connectorio.addons</groupId>
        <artifactId>org.connectorio.addons.feature.wmbus</artifactId>
        <version>${project.version}</version>
        <classifier>features</classifier>
        <type>xml</type>
      </dependency>
      <dependency>
        <groupId>org.connectorio.addons</groupId>
        <artifactId>org.connectorio.addons.kar.wmbus</artifactId>
        <version>${project.version}</version>
        <type>kar</type>
      </dependency>

      <dependency>
        <groupId>org.connectorio.addons</groupId>
        <artifactId>org.connectorio.addons.io.proxy.http</artifactId>
        <version>${project.version}</version>
      </dependency>
      <dependency>
        <groupId>org.connectorio.addons</groupId>
        <artifactId>org.connectorio.addons.feature.io</artifactId>
        <version>${project.version}</version>
        <classifier>features</classifier>
        <type>xml</type>
      </dependency>

      <dependency>
        <groupId>org.connectorio.addons</groupId>
        <artifactId>org.connectorio.addons.io.transport.mbus</artifactId>
        <version>${project.version}</version>
      </dependency>
      <dependency>
        <groupId>org.connectorio.addons</groupId>
        <artifactId>org.connectorio.addons.feature.io.transport.mbus</artifactId>
        <version>${project.version}</version>
        <classifier>features</classifier>
        <type>xml</type>
      </dependency>
      <dependency>
        <groupId>org.connectorio.addons</groupId>
        <artifactId>org.connectorio.addons.kar.transport.mbus</artifactId>
        <version>${project.version}</version>
        <type>kar</type>
      </dependency>

      <dependency>
        <groupId>org.connectorio.addons</groupId>
        <artifactId>org.connectorio.addons.io.transport.serial</artifactId>
        <version>${project.version}</version>
      </dependency>
      <dependency>
        <groupId>org.connectorio.addons</groupId>
        <artifactId>org.connectorio.addons.io.transport.serial.jrxtx</artifactId>
        <version>${project.version}</version>
      </dependency>
      <dependency>
        <groupId>org.connectorio.addons</groupId>
        <artifactId>org.connectorio.addons.io.transport.serial.persistent</artifactId>
        <version>${project.version}</version>
      </dependency>
      <dependency>
        <groupId>org.connectorio.addons</groupId>
        <artifactId>org.connectorio.addons.io.transport.serial.purejavacomm</artifactId>
        <version>${project.version}</version>
      </dependency>
      <dependency>
        <groupId>org.connectorio.addons</groupId>
        <artifactId>org.connectorio.addons.io.transport.serial.shell</artifactId>
        <version>${project.version}</version>
      </dependency>
      <dependency>
        <groupId>org.connectorio.addons</groupId>
        <artifactId>org.connectorio.addons.feature.io.transport.serial</artifactId>
        <version>${project.version}</version>
        <classifier>features</classifier>
        <type>xml</type>
      </dependency>
      <dependency>
        <groupId>org.connectorio.addons</groupId>
        <artifactId>org.connectorio.addons.kar.io.transport.serial</artifactId>
        <version>${project.version}</version>
        <type>kar</type>
      </dependency>

      <dependency>
        <groupId>org.connectorio.addons</groupId>
        <artifactId>org.connectorio.addons.persistence.manager</artifactId>
        <version>${project.version}</version>
      </dependency>
      <dependency>
        <groupId>org.connectorio.addons</groupId>
        <artifactId>org.connectorio.addons.persistence.migrator</artifactId>
        <version>${project.version}</version>
      </dependency>
      <dependency>
        <groupId>org.connectorio.addons</groupId>
        <artifactId>org.connectorio.addons.persistence.migrator.shell</artifactId>
        <version>${project.version}</version>
      </dependency>
      <dependency>
        <groupId>org.connectorio.addons</groupId>
        <artifactId>org.connectorio.addons.persistence.shell</artifactId>
        <version>${project.version}</version>
      </dependency>
      <dependency>
        <groupId>org.connectorio.addons</groupId>
        <artifactId>org.connectorio.addons.feature.persistence</artifactId>
        <version>${project.version}</version>
        <classifier>features</classifier>
        <type>xml</type>
      </dependency>

      <dependency>
        <groupId>org.connectorio.addons</groupId>
        <artifactId>org.connectorio.addons.profile</artifactId>
        <version>${project.version}</version>
      </dependency>
      <dependency>
        <groupId>org.connectorio.addons</groupId>
        <artifactId>org.connectorio.addons.profile.boundary</artifactId>
        <version>${project.version}</version>
      </dependency>
      <dependency>
        <groupId>org.connectorio.addons</groupId>
        <artifactId>org.connectorio.addons.profile.cast</artifactId>
        <version>${project.version}</version>
      </dependency>
      <dependency>
        <groupId>org.connectorio.addons</groupId>
        <artifactId>org.connectorio.addons.profile.counter</artifactId>
        <version>${project.version}</version>
      </dependency>
      <dependency>
        <groupId>org.connectorio.addons</groupId>
        <artifactId>org.connectorio.addons.profile.isg</artifactId>
        <version>${project.version}</version>
      </dependency>
      <dependency>
        <groupId>org.connectorio.addons</groupId>
        <artifactId>org.connectorio.addons.profile.math</artifactId>
        <version>${project.version}</version>
      </dependency>
      <dependency>
        <groupId>org.connectorio.addons</groupId>
        <artifactId>org.connectorio.addons.profile.quantity</artifactId>
        <version>${project.version}</version>
      </dependency>
      <dependency>
        <groupId>org.connectorio.addons</groupId>
        <artifactId>org.connectorio.addons.profile.sma</artifactId>
        <version>${project.version}</version>
      </dependency>
      <dependency>
        <groupId>org.connectorio.addons</groupId>
        <artifactId>org.connectorio.addons.profile.timer</artifactId>
        <version>${project.version}</version>
      </dependency>
      <dependency>
        <groupId>org.connectorio.addons</groupId>
        <artifactId>org.connectorio.addons.feature.profile</artifactId>
        <version>${project.version}</version>
        <classifier>features</classifier>
        <type>xml</type>
      </dependency>
      <dependency>
        <groupId>org.connectorio.addons</groupId>
        <artifactId>org.connectorio.addons.kar.profile</artifactId>
        <version>${project.version}</version>
        <type>kar</type>
      </dependency>

      <dependency>
        <groupId>org.connectorio.addons</groupId>
        <artifactId>org.connectorio.addons.managed.item</artifactId>
        <version>${project.version}</version>
      </dependency>
      <dependency>
        <groupId>org.connectorio.addons</groupId>
        <artifactId>org.connectorio.addons.managed.link</artifactId>
        <version>${project.version}</version>
      </dependency>
      <dependency>
        <groupId>org.connectorio.addons</groupId>
        <artifactId>org.connectorio.addons.managed.thing</artifactId>
        <version>${project.version}</version>
      </dependency>
      <dependency>
        <groupId>org.connectorio.addons</groupId>
        <artifactId>org.connectorio.addons.managed.xstream</artifactId>
        <version>${project.version}</version>
      </dependency>
      <dependency>
        <groupId>org.connectorio.addons</groupId>
        <artifactId>org.connectorio.addons.feature.managed</artifactId>
        <version>${project.version}</version>
        <classifier>features</classifier>
        <type>xml</type>
      </dependency>
      <dependency>
        <groupId>org.connectorio.addons</groupId>
        <artifactId>org.connectorio.addons.kar.managed</artifactId>
        <version>${project.version}</version>
        <type>kar</type>
      </dependency>

      <dependency>
        <groupId>org.connectorio.addons</groupId>
        <artifactId>org.connectorio.addons.mqtt</artifactId>
        <version>${project.version}</version>
      </dependency>
      <dependency>
        <groupId>org.connectorio.addons</groupId>
        <artifactId>org.connectorio.addons.feature.mqtt</artifactId>
        <version>${project.version}</version>
        <classifier>features</classifier>
        <type>xml</type>
      </dependency>
      <dependency>
        <groupId>org.connectorio.addons</groupId>
        <artifactId>org.connectorio.addons.kar.mqtt</artifactId>
        <version>${project.version}</version>
        <type>kar</type>
      </dependency>

      <dependency>
        <groupId>org.connectorio.addons</groupId>
        <artifactId>org.connectorio.addons.network</artifactId>
        <version>${project.version}</version>
      </dependency>
      <dependency>
        <groupId>org.connectorio.addons</groupId>
        <artifactId>org.connectorio.addons.network.core</artifactId>
        <version>${project.version}</version>
      </dependency>
      <dependency>
        <groupId>org.connectorio.addons</groupId>
        <artifactId>org.connectorio.addons.network.ip</artifactId>
        <version>${project.version}</version>
      </dependency>
      <dependency>
        <groupId>org.connectorio.addons</groupId>
        <artifactId>org.connectorio.addons.network.jvm</artifactId>
        <version>${project.version}</version>
      </dependency>
      <dependency>
        <groupId>org.connectorio.addons</groupId>
        <artifactId>org.connectorio.addons.network.transmitter</artifactId>
        <version>${project.version}</version>
      </dependency>
      <dependency>
        <groupId>org.connectorio.addons</groupId>
        <artifactId>org.connectorio.addons.network.transmitter.ip</artifactId>
        <version>${project.version}</version>
      </dependency>
      <dependency>
        <groupId>org.connectorio.addons</groupId>
        <artifactId>org.connectorio.addons.feature.network</artifactId>
        <version>${project.version}</version>
        <classifier>features</classifier>
        <type>xml</type>
      </dependency>
      <dependency>
        <groupId>org.connectorio.addons</groupId>
        <artifactId>org.connectorio.addons.kar.network</artifactId>
        <version>${project.version}</version>
        <type>kar</type>
      </dependency>

      <dependency>
        <groupId>org.connectorio.addons</groupId>
        <artifactId>org.connectorio.addons.norule</artifactId>
        <version>${project.version}</version>
      </dependency>
      <dependency>
        <groupId>org.connectorio.addons</groupId>
        <artifactId>org.connectorio.addons.norule.shell</artifactId>
        <version>${project.version}</version>
      </dependency>
      <dependency>
        <groupId>org.connectorio.addons</groupId>
        <artifactId>org.connectorio.addons.feature.norule</artifactId>
        <version>${project.version}</version>
        <classifier>features</classifier>
        <type>xml</type>
      </dependency>
      <dependency>
        <groupId>org.connectorio.addons</groupId>
        <artifactId>org.connectorio.addons.kar.norule</artifactId>
        <version>${project.version}</version>
        <type>kar</type>
      </dependency>

      <dependency>
        <groupId>org.connectorio.addons</groupId>
        <artifactId>org.connectorio.addons.test</artifactId>
        <version>${project.version}</version>
        <scope>test</scope>
      </dependency>

      <dependency>
        <groupId>org.connectorio.addons</groupId>
        <artifactId>org.connectorio.units</artifactId>
        <version>${project.version}</version>
      </dependency>
      <dependency>
        <groupId>org.connectorio.addons</groupId>
        <artifactId>org.connectorio.units.si</artifactId>
        <version>${project.version}</version>
      </dependency>

      <dependency>
        <groupId>org.connectorio.addons</groupId>
        <artifactId>org.connectorio.addons.feature</artifactId>
        <version>${project.version}</version>
        <classifier>features</classifier>
        <type>xml</type>
      </dependency>

      <dependency>
        <groupId>org.connectorio.addons</groupId>
        <artifactId>org.connectorio.addons.feature.plc4x</artifactId>
        <version>${project.version}</version>
        <classifier>features</classifier>
        <type>xml</type>
      </dependency>

      <dependency>
        <groupId>org.osgi</groupId>
        <artifactId>org.osgi.service.component.annotations</artifactId>
        <version>1.4.0</version>
      </dependency>

      <dependency>
        <groupId>org.openhab.core.features.karaf</groupId>
        <artifactId>org.openhab.core.features.karaf.openhab-core</artifactId>
        <version>${openhab.version}</version>
        <classifier>features</classifier>
        <type>xml</type>
        <exclusions>
          <exclusion>
            <groupId>org.openhab.core.bundles</groupId>
            <artifactId>org.openhab.core.test</artifactId>
          </exclusion>
        </exclusions>
      </dependency>

      <dependency>
        <groupId>org.openhab.distro</groupId>
        <artifactId>openhab</artifactId>
        <version>${openhab-distro.version}</version>
        <type>zip</type>
        <exclusions>
          <exclusion>
            <groupId>org.openhab.distro</groupId>
            <artifactId>openhab-addons</artifactId>
          </exclusion>
        </exclusions>
      </dependency>

      <dependency>
        <groupId>org.eclipse.milo</groupId>
        <artifactId>sdk-client</artifactId>
        <version>${milo.version}</version>
      </dependency>
      <dependency>
        <groupId>org.eclipse.milo</groupId>
        <artifactId>stack-client</artifactId>
        <version>${milo.version}</version>
      </dependency>
      <dependency>
        <groupId>org.eclipse.milo</groupId>
        <artifactId>stack-core</artifactId>
        <version>${milo.version}</version>
      </dependency>

      <dependency>
        <groupId>com.thoughtworks.xstream</groupId>
        <artifactId>xstream</artifactId>
        <version>${xstream.version}</version>
      </dependency>

      <dependency>
        <groupId>org.apache.karaf.features</groupId>
        <artifactId>org.apache.karaf.features.core</artifactId>
        <version>${karaf.version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.karaf.kar</groupId>
        <artifactId>org.apache.karaf.kar.core</artifactId>
        <version>${karaf.version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.karaf.features</groupId>
        <artifactId>framework</artifactId>
        <version>${karaf.version}</version>
        <type>kar</type>
        <optional>true</optional>
        <exclusions>
          <exclusion>
            <groupId>*</groupId>
            <artifactId>*</artifactId>
          </exclusion>
        </exclusions>
      </dependency>

      <dependency>
        <groupId>com.fasterxml</groupId>
        <artifactId>classmate</artifactId>
        <version>${fasterxml-classmate.version}</version>
      </dependency>

      <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-reload4j</artifactId>
        <version>${slf4j.version}</version>
        <scope>test</scope>
      </dependency>
      <dependency>
        <groupId>org.junit.jupiter</groupId>
        <artifactId>junit-jupiter-api</artifactId>
        <version>${junit-jupiter.version}</version>
        <scope>test</scope>
      </dependency>
      <dependency>
        <groupId>org.junit.jupiter</groupId>
        <artifactId>junit-jupiter-engine</artifactId>
        <version>${junit-jupiter.version}</version>
        <scope>test</scope>
      </dependency>
      <dependency>
        <groupId>org.junit.jupiter</groupId>
        <artifactId>junit-jupiter-params</artifactId>
        <version>${junit-jupiter.version}</version>
        <scope>test</scope>
      </dependency>
      <dependency>
        <groupId>org.assertj</groupId>
        <artifactId>assertj-core</artifactId>
        <version>${assertj.version}</version>
        <scope>test</scope>
      </dependency>
      <dependency>
        <groupId>org.mockito</groupId>
        <artifactId>mockito-core</artifactId>
        <version>${mockito.version}</version>
        <scope>test</scope>
      </dependency>
      <dependency>
        <groupId>org.mockito</groupId>
        <artifactId>mockito-junit-jupiter</artifactId>
        <version>${mockito.version}</version>
        <scope>test</scope>
      </dependency>

      <dependency>
        <groupId>org.connectorio.addons</groupId>
        <artifactId>org.connectorio.addons.itest</artifactId>
        <version>${project.version}</version>
        <scope>test</scope>
      </dependency>

      <dependency>
        <groupId>org.apache.geronimo.specs</groupId>
        <artifactId>geronimo-atinject_1.0_spec</artifactId>
        <version>1.2</version>
        <scope>test</scope>
      </dependency>
      <dependency>
        <groupId>org.ops4j.pax.exam</groupId>
        <artifactId>pax-exam-junit4</artifactId>
        <version>${pax-exam.version}</version>
        <scope>test</scope>
      </dependency>
      <dependency>
        <groupId>org.ops4j.pax.exam</groupId>
        <artifactId>pax-exam-container-karaf</artifactId>
        <version>${pax-exam.version}</version>
        <scope>test</scope>
      </dependency>
      <dependency>
        <groupId>org.ops4j.pax.exam</groupId>
        <artifactId>pax-exam-features</artifactId>
        <version>${pax-exam.version}</version>
        <type>xml</type>
      </dependency>

      <dependency>
        <groupId>eu.chargetime.ocpp</groupId>
        <artifactId>common</artifactId>
        <version>${ocpp-common.version}</version>
      </dependency>
      <dependency>
        <groupId>eu.chargetime.ocpp</groupId>
        <artifactId>OCCP-J</artifactId>
        <version>${ocpp-16.version}</version>
      </dependency>
      <dependency>
        <groupId>eu.chargetime.ocpp</groupId>
        <artifactId>v1_6</artifactId>
        <version>${ocpp-16.version}</version>
      </dependency>
      <dependency>
        <groupId>org.openmuc</groupId>
        <artifactId>jmbus</artifactId>
        <version>${jmbus.version}</version>
      </dependency>
      <dependency>
        <groupId>org.simplify4u</groupId>
        <artifactId>jfatek</artifactId>
        <version>${jfatek.version}</version>
      </dependency>

      <dependency>
        <groupId>org.testcontainers</groupId>
        <artifactId>junit-jupiter</artifactId>
        <version>${testcontainers.version}</version>
      </dependency>
      <dependency>
        <groupId>org.connectorio.testcontainers</groupId>
        <artifactId>karaf</artifactId>
        <version>${connectorio-testcontainers.version}</version>
      </dependency>
      <dependency>
        <groupId>org.connectorio.testcontainers</groupId>
        <artifactId>openhab</artifactId>
        <version>${connectorio-testcontainers.version}</version>
      </dependency>

      <dependency>
        <groupId>org.apache.commons</groupId>
        <artifactId>commons-lang3</artifactId>
        <version>3.11</version>
      </dependency>
      <dependency>
        <groupId>org.openmuc</groupId>
        <artifactId>jrxtx</artifactId>
        <version>${jrxtx.version}</version>
      </dependency>
    </dependencies>
  </dependencyManagement>

  <build>
    <pluginManagement>
      <plugins>
        <plugin>
          <groupId>org.apache.felix</groupId>
          <artifactId>maven-bundle-plugin</artifactId>
          <version>5.1.9</version>
          <inherited>true</inherited>
          <configuration>
            <instructions>
              <Git-SCM-SHA>$${githead}</Git-SCM-SHA>
              <_removeheaders>Include-Resource,Private-Package,Require-Capability,Provide-Capability,Bnd-LastModified</_removeheaders>
              <Bundle-SymbolicName>${project.artifactId}</Bundle-SymbolicName>
              <_noimportjava>true</_noimportjava>
            </instructions>
          </configuration>
        </plugin>
        <plugin>
          <groupId>org.codehaus.mojo</groupId>
          <artifactId>build-helper-maven-plugin</artifactId>
          <version>3.3.0</version>
        </plugin>
        <plugin>
          <groupId>org.codehaus.mojo</groupId>
          <artifactId>xml-maven-plugin</artifactId>
          <version>1.2.0</version>
          <configuration>
            <validationSets>
              <validationSet>
                <dir>src/main/resources/OH-INF/</dir>
                <includes>
                  <include>**/*.xml</include>
                </includes>
                <validating>true</validating>
              </validationSet>
            </validationSets>
            <catalogs>
              <catalog>openhab-catalog.xml</catalog>
            </catalogs>
          </configuration>
          <executions>
            <execution>
              <id>default</id>
              <phase>none</phase>
            </execution>
          </executions>
          <dependencies>
            <dependency>
              <groupId>org.connectorio.addons</groupId>
              <artifactId>org.connectorio.xsd.openhab</artifactId>
              <version>${project.version}</version>
            </dependency>
          </dependencies>
        </plugin>
        <plugin>
          <groupId>org.apache.karaf.tooling</groupId>
          <artifactId>karaf-maven-plugin</artifactId>
          <version>${karaf.version}</version>
          <extensions>true</extensions>
          <inherited>true</inherited>
          <configuration>
            <startLevel>80</startLevel>
            <enableGeneration>false</enableGeneration>
            <aggregateFeatures>false</aggregateFeatures>
            <checkDependencyChange>false</checkDependencyChange>
            <failOnDependencyChange>false</failOnDependencyChange>
            <logDependencyChanges>false</logDependencyChanges>
            <overwriteChangedDependencies>false</overwriteChangedDependencies>
          </configuration>
          <executions>
            <execution>
              <id>karaf-verification</id>
              <goals>
                <goal>verify</goal>
              </goals>
              <phase>verify</phase>
              <configuration>
                <descriptors combine.children="append">
                  <!-- Apache Karaf -->
                  <descriptor>mvn:org.apache.karaf.features/framework/${karaf.version}/xml/features</descriptor>
                  <descriptor>mvn:org.apache.karaf.features/standard/${karaf.version}/xml/features</descriptor>
                  <!-- Current feature under verification -->
                  <descriptor>file:${feature.file}</descriptor>
                </descriptors>
                <distribution>org.apache.karaf.features:framework</distribution>
                <javase>11</javase>
                <framework>
                  <feature>framework</feature>
                </framework>
                <features combine.children="override">
                  <feature>_none_</feature>
                </features>
                <verifyTransitive>false</verifyTransitive>
                <ignoreMissingConditions>true</ignoreMissingConditions>
                <fail>first</fail>
              </configuration>
            </execution>
          </executions>
        </plugin>
        <plugin>
          <groupId>org.openapitools</groupId>
          <artifactId>openapi-generator-maven-plugin</artifactId>
          <version>${openapi-generator.version}</version>
          <executions>
            <execution>
              <goals>
                <goal>generate</goal>
              </goals>
            </execution>
          </executions>
          <configuration>
            <generatorName>connectorio-java-basic-native</generatorName>
            <output>${project.build.directory}/openapi</output>
            <strictSpec>false</strictSpec>
            <skipValidateSpec>true</skipValidateSpec>
          </configuration>
          <dependencies>
            <dependency>
              <groupId>org.connectorio.openapi.generators</groupId>
              <artifactId>java-basic-native</artifactId>
              <version>${connectorio-openapi-generators.version}</version>
            </dependency>
          </dependencies>
        </plugin>
        <plugin>
          <groupId>org.thing4.tools</groupId>
          <artifactId>thing4-maven-plugin</artifactId>
          <version>${thing4.version}</version>
          <dependencies>
            <dependency>
              <groupId>org.thing4</groupId>
              <artifactId>org.thing4.core.parser.thing</artifactId>
              <version>${thing4.version}</version>
            </dependency>
            <dependency>
              <groupId>org.thing4</groupId>
              <artifactId>org.thing4.core.parser.thing.yaml</artifactId>
              <version>${thing4.version}</version>
            </dependency>
            <dependency>
              <groupId>org.thing4</groupId>
              <artifactId>org.thing4.core.model.facade</artifactId>
              <version>${thing4.version}</version>
            </dependency>
          </dependencies>
        </plugin>
      </plugins>
    </pluginManagement>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-install-plugin</artifactId>
        <version>3.0.0-M1</version>
      </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-deploy-plugin</artifactId>
        <version>3.0.0-M1</version>
      </plugin>
      <plugin>
        <groupId>org.jacoco</groupId>
        <artifactId>jacoco-maven-plugin</artifactId>
        <version>0.8.10</version>
        <executions>
          <execution>
            <id>default-prepare-agent</id>
            <goals>
              <goal>prepare-agent</goal>
            </goals>
          </execution>
          <execution>
            <id>default-report</id>
            <goals>
              <goal>report</goal>
            </goals>
          </execution>
        </executions>
      </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-surefire-plugin</artifactId>
        <version>3.0.0-M7</version>
        <configuration>
          <systemPropertyVariables>
            <openhab.version>${openhab-distro.version}</openhab.version>
            <api.version>1.44</api.version>
          </systemPropertyVariables>
        </configuration>
      </plugin>
      <plugin>
        <groupId>org.apache.felix</groupId>
        <artifactId>maven-bundle-plugin</artifactId>
        <extensions>true</extensions>
      </plugin>
    </plugins>
  </build>

  <profiles>
    <profile>
      <id>openhab</id>

      <repositories>
        <repository>
          <id>openhab-release</id>
          <name>openhab-release</name>
          <url>https://openhab.jfrog.io/openhab/libs-release</url>
          <releases>
            <enabled>true</enabled>
          </releases>
          <snapshots>
            <enabled>false</enabled>
          </snapshots>
        </repository>
        <repository>
          <id>openhab-snapshot</id>
          <name>openhab-snapshot</name>
          <url>https://openhab.jfrog.io/openhab/libs-snapshot</url>
          <releases>
            <enabled>false</enabled>
          </releases>
          <snapshots>
            <enabled>true</enabled>
          </snapshots>
        </repository>
      </repositories>

      <pluginRepositories>
        <pluginRepository>
          <id>openhab-release</id>
          <name>openhab-releass</name>
          <url>https://openhab.jfrog.io/openhab/libs-release</url>
          <releases>
            <enabled>true</enabled>
          </releases>
          <snapshots>
            <enabled>false</enabled>
          </snapshots>
        </pluginRepository>
        <pluginRepository>
          <id>openhab-snapshot</id>
          <name>openhab-snapshot</name>
          <url>https://openhab.jfrog.io/openhab/libs-snapshot</url>
          <releases>
            <enabled>false</enabled>
          </releases>
          <snapshots>
            <enabled>true</enabled>
          </snapshots>
        </pluginRepository>
      </pluginRepositories>
    </profile>

    <profile>
      <id>thing4</id>
      <activation>
        <activeByDefault>true</activeByDefault>
      </activation>

      <repositories>
        <repository>
          <id>thing4-snapshots</id>
          <name>Thing4 snapshots</name>
          <url>https://repository.connectorio.cloud/repository/thing4-snapshots/</url>
          <releases>
            <enabled>false</enabled>
          </releases>
          <snapshots>
            <enabled>true</enabled>
          </snapshots>
        </repository>
      </repositories>
      <pluginRepositories>
        <pluginRepository>
          <id>thing4-snapshots</id>
          <name>Thing4 snapshots</name>
          <url>https://repository.connectorio.cloud/repository/thing4-snapshots/</url>
          <releases>
            <enabled>false</enabled>
          </releases>
          <snapshots>
            <enabled>true</enabled>
          </snapshots>
        </pluginRepository>
      </pluginRepositories>
    </profile>
  </profiles>

</project>
