<?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.addons</groupId>
    <artifactId>parent</artifactId>
    <version>5.0.0-pr-126-SNAPSHOT</version>
    <relativePath>../parent/pom.xml</relativePath>
  </parent>

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

  <name>ConnectorIO - Addons - Bundles</name>
  <description>Third party addons for openHAB.</description>

  <modules>
    <module>org.connectorio.addons.binding</module>
    <module>org.connectorio.addons.binding.amsads</module>
    <module>org.connectorio.addons.binding.askoheat</module>
    <module>org.connectorio.addons.binding.bacnet</module>
    <module>org.connectorio.addons.binding.can</module>
    <module>org.connectorio.addons.binding.canopen</module>
    <module>org.connectorio.addons.binding.canopen.ta</module>
    <module>org.connectorio.addons.binding.fatek</module>
    <module>org.connectorio.addons.binding.mbus</module>
    <module>org.connectorio.addons.binding.ocpp</module>
    <module>org.connectorio.addons.binding.opcua</module>
    <module>org.connectorio.addons.binding.plc4x</module>
    <module>org.connectorio.addons.binding.relayweblog</module>
    <module>org.connectorio.addons.binding.s7</module>
    <module>org.connectorio.addons.binding.smartme</module>
    <module>org.connectorio.addons.binding.test</module>
    <module>org.connectorio.addons.binding.wmbus</module>
    <module>org.connectorio.addons.communication.watchdog</module>
    <module>org.connectorio.addons.config</module>
    <module>org.connectorio.addons.io.proxy.http</module>
    <module>org.connectorio.addons.io.transport.mbus</module>
    <module>org.connectorio.addons.io.transport.serial</module>
    <module>org.connectorio.addons.io.transport.serial.jrxtx</module>
    <module>org.connectorio.addons.io.transport.serial.persistent</module>
    <module>org.connectorio.addons.io.transport.serial.purejavacomm</module>
    <module>org.connectorio.addons.io.transport.serial.shell</module>
    <module>org.connectorio.addons.link</module>
    <module>org.connectorio.addons.managed.item</module>
    <module>org.connectorio.addons.managed.link</module>
    <module>org.connectorio.addons.managed.thing</module>
    <module>org.connectorio.addons.managed.xstream</module>
    <module>org.connectorio.addons.mqtt</module>
    <module>org.connectorio.addons.network</module>
    <module>org.connectorio.addons.network.core</module>
    <module>org.connectorio.addons.network.ip</module>
    <module>org.connectorio.addons.network.jvm</module>
    <module>org.connectorio.addons.network.transmitter</module>
    <module>org.connectorio.addons.network.transmitter.ip</module>
    <module>org.connectorio.addons.norule</module>
    <module>org.connectorio.addons.norule.shell</module>
    <module>org.connectorio.addons.persistence.memory</module>
    <module>org.connectorio.addons.persistence.manager</module>
    <module>org.connectorio.addons.persistence.migrator</module>
    <module>org.connectorio.addons.persistence.migrator.shell</module>
    <module>org.connectorio.addons.persistence.shell</module>
    <module>org.connectorio.addons.profile</module>
    <module>org.connectorio.addons.profile.boundary</module>
    <module>org.connectorio.addons.profile.cast</module>
    <module>org.connectorio.addons.profile.counter</module>
    <module>org.connectorio.addons.profile.isg</module>
    <module>org.connectorio.addons.profile.math</module>
    <module>org.connectorio.addons.profile.quantity</module>
    <module>org.connectorio.addons.profile.sma</module>
    <module>org.connectorio.addons.profile.timer</module>
    <module>org.connectorio.addons.startlevel.osgi</module>
    <module>org.connectorio.addons.startlevel.shell</module>
    <module>org.connectorio.addons.temporal</module>
    <module>org.connectorio.addons.temporal.item</module>
    <module>org.connectorio.addons.temporal.openhab</module>
    <module>org.connectorio.addons.temporal.osh</module>
    <module>org.connectorio.addons.test</module>
    <module>org.connectorio.addons.transformation.inverse</module>
    <module>org.connectorio.addons.ui.iconify</module>
    <module>org.connectorio.chrono</module>
    <module>org.connectorio.logtail</module>
    <module>org.connectorio.logtail.web</module>
    <module>org.connectorio.units</module>
    <module>org.connectorio.units.si</module>
  </modules>

  <profiles>
    <profile>
      <id>generate-documentation</id>
      <activation>
        <file>
          <exists>${basedir}/docs/index.adoc</exists>
        </file>
      </activation>

      <build>
        <plugins>
          <plugin>
            <groupId>org.thing4.tools</groupId>
            <artifactId>thing4-maven-plugin</artifactId>
            <executions>
              <execution>
                <id>parse-descriptors</id>
                <goals>
                  <goal>parse-descriptors</goal>
                </goals>
              </execution>
              <execution>
                <id>process-descriptors</id>
                <goals>
                  <goal>process-descriptors</goal>
                </goals>
                <configuration>
                  <outputDirectory>${project.basedir}/docs/${documentation.reference}/descriptors/</outputDirectory>
                  <outputExtension>adoc</outputExtension>
                </configuration>
              </execution>
              <execution>
                <id>parse-openhab-write-yaml</id>
                <goals>
                  <goal>parse-write</goal>
                </goals>
                <configuration>
                  <includes>
                    <include>docs/examples/**/*.things</include>
                  </includes>
                  <parser>openhab</parser>
                  <writer>yaml</writer>
                  <type>org.openhab.core.thing.Thing</type>
                </configuration>
              </execution>
              <execution>
                <id>parse-thing4</id>
                <goals>
                  <goal>parse-write</goal>
                </goals>
                <configuration>
                  <includes>
                    <include>docs/examples/**/*.things</include>
                  </includes>
                  <parser>thing4</parser>
                  <type>org.openhab.core.thing.Thing</type>
                </configuration>
              </execution>
            </executions>
          </plugin>
        </plugins>
      </build>
    </profile>
  </profiles>

</project>
