<?xml version="1.0" encoding="UTF-8"?>
<!--
  ~ Licensed to the Apache Software Foundation (ASF) under one
  ~ or more contributor license agreements.  See the NOTICE file
  ~ distributed with this work for additional information
  ~ regarding copyright ownership.  The ASF licenses this file
  ~ to you 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.
  -->
<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.apache.plc4x</groupId>
    <artifactId>plc4j-drivers</artifactId>
    <version>0.7.0</version>
  </parent>

  <artifactId>plc4j-driver-firmata</artifactId>
  <name>PLC4J: Driver: Firmata</name>

  <build>
    <plugins>
      <plugin>
        <groupId>org.apache.plc4x.plugins</groupId>
        <artifactId>plc4x-maven-plugin</artifactId>
        <executions>
          <execution>
            <id>test</id>
            <phase>generate-sources</phase>
            <goals>
              <goal>generate-driver</goal>
            </goals>
            <configuration>
              <protocolName>firmata</protocolName>
              <languageName>java</languageName>
              <outputFlavor>read-write</outputFlavor>
            </configuration>
          </execution>
        </executions>
      </plugin>
      <plugin>
        <groupId>org.apache.karaf.tooling</groupId>
        <artifactId>karaf-maven-plugin</artifactId>
        <executions>
          <execution>
            <id>generate-feature-xml</id>
            <phase>compile</phase>
            <goals>
              <!-- Generate the feature.xml -->
              <goal>features-generate-descriptor</goal>
              <!-- Check the feature.xml -->
              <goal>verify</goal>
            </goals>
            <configuration>
              <enableGeneration>true</enableGeneration>
              <aggregateFeatures>true</aggregateFeatures>
            </configuration>
          </execution>
          <execution>
            <id>build-kar</id>
            <phase>package</phase>
            <goals>
              <!--
                Build a kar archive (Jar containing the feature.xml
                as well as the module content and it's dependencies.
              -->
              <goal>kar</goal>
            </goals>
          </execution>
        </executions>
      </plugin>
      <plugin>
        <groupId>org.apache.felix</groupId>
        <artifactId>maven-bundle-plugin</artifactId>
        <extensions>true</extensions>
        <configuration>
          <instructions>
            <Bundle-SymbolicName>${project.groupId}.${project.artifactId}</Bundle-SymbolicName>
            <Bundle-Activator>org.apache.plc4x.java.osgi.DriverActivator</Bundle-Activator>
            <Export-Service>org.apache.plc4x.java.api.PlcDriver,org.apache.plc4x.java.firmata.readwrite.FirmataDriver</Export-Service>
          </instructions>
        </configuration>
      </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-dependency-plugin</artifactId>
        <configuration>
          <usedDependencies combine.children="append">
            <usedDependency>com.github.purejavacomm:purejavacomm</usedDependency>
            <usedDependency>org.apache.plc4x:plc4x-build-utils-language-java</usedDependency>
            <usedDependency>org.apache.plc4x:plc4x-protocols-firmata</usedDependency>
          </usedDependencies>
        </configuration>
      </plugin>
    </plugins>
  </build>

  <dependencies>
    <dependency>
      <groupId>org.apache.plc4x</groupId>
      <artifactId>plc4j-api</artifactId>
      <version>0.7.0</version>
    </dependency>
    <dependency>
      <groupId>org.apache.plc4x</groupId>
      <artifactId>plc4j-spi</artifactId>
      <version>0.7.0</version>
    </dependency>

    <dependency>
      <groupId>org.apache.plc4x</groupId>
      <artifactId>plc4j-transport-serial</artifactId>
      <version>0.7.0</version>
    </dependency>

    <dependency>
      <groupId>io.netty</groupId>
      <artifactId>netty-buffer</artifactId>
    </dependency>
    <dependency>
      <groupId>com.fasterxml.jackson.core</groupId>
      <artifactId>jackson-annotations</artifactId>
    </dependency>

    <dependency>
      <groupId>org.apache.commons</groupId>
      <artifactId>commons-lang3</artifactId>
    </dependency>

    <dependency>
      <groupId>com.github.purejavacomm</groupId>
      <artifactId>purejavacomm</artifactId>
      <version>1.0.2.RELEASE</version>
    </dependency>

    <dependency>
      <groupId>org.apache.plc4x</groupId>
      <artifactId>plc4j-utils-test-utils</artifactId>
      <version>0.7.0</version>
      <scope>test</scope>
    </dependency>

    <dependency>
      <groupId>org.apache.plc4x</groupId>
      <artifactId>plc4x-build-utils-language-java</artifactId>
      <version>0.7.0</version>
      <!-- Scope is 'provided' as this way it's not shipped with the driver -->
      <scope>provided</scope>
    </dependency>
    <dependency>
      <groupId>org.apache.plc4x</groupId>
      <artifactId>plc4x-protocols-firmata</artifactId>
      <version>0.7.0</version>
      <!-- Scope is 'provided' as this way it's not shipped with the driver -->
      <scope>provided</scope>
    </dependency>
  </dependencies>

</project>
