<?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.sandbox</groupId>
    <artifactId>plc4x-sandbox</artifactId>
    <version>0.6.0</version>
  </parent>

  <artifactId>test-streampipes-plc4x-processors</artifactId>
  <name>Sandbox: StreamPipes Processors</name>

  <properties>
    <streampipes.version>0.65.0</streampipes.version>
  </properties>

  <build>
    <plugins>
      <!-- Repackage the project as SpringBoot application -->
      <plugin>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-maven-plugin</artifactId>
        <executions>
          <execution>
            <goals>
              <goal>repackage</goal>
            </goals>
          </execution>
        </executions>
      </plugin>
    </plugins>
  </build>

  <dependencies>
    <dependency>
      <groupId>org.apache.plc4x</groupId>
      <artifactId>plc4j-protocol-driver-base</artifactId>
      <version>0.6.0</version>
    </dependency>
    <dependency>
      <groupId>org.apache.plc4x</groupId>
      <artifactId>plc4j-protocol-driver-base-tcp</artifactId>
      <version>0.6.0</version>
    </dependency>
    <dependency>
      <groupId>org.apache.plc4x.sandbox</groupId>
      <artifactId>test-java-knxnetip-driver</artifactId>
      <version>0.6.0</version>
    </dependency>
    <dependency>
      <groupId>org.apache.plc4x.sandbox</groupId>
      <artifactId>test-java-knxnetip-shared</artifactId>
      <version>0.6.0</version>
    </dependency>

    <dependency>
      <groupId>org.streampipes</groupId>
      <artifactId>streampipes-wrapper</artifactId>
      <version>${streampipes.version}</version>
      <exclusions>
        <exclusion>
          <groupId>com.google.code.findbugs</groupId>
          <artifactId>jsr305</artifactId>
        </exclusion>
        <exclusion>
          <artifactId>aopalliance</artifactId>
          <groupId>aopalliance</groupId>
        </exclusion>
        <exclusion>
          <artifactId>ow2-jpa-1.0-spec</artifactId>
          <groupId>org.ow2.spec.ee</groupId>
        </exclusion>
        <exclusion>
          <artifactId>javax.ws.rs-api</artifactId>
          <groupId>javax.ws.rs</groupId>
        </exclusion>
      </exclusions>
    </dependency>
    <dependency>
      <groupId>org.streampipes</groupId>
      <artifactId>streampipes-wrapper-standalone</artifactId>
      <version>${streampipes.version}</version>
      <exclusions>
        <exclusion>
          <groupId>com.google.code.findbugs</groupId>
          <artifactId>jsr305</artifactId>
        </exclusion>
      </exclusions>
    </dependency>
    <dependency>
      <groupId>org.streampipes</groupId>
      <artifactId>streampipes-sdk</artifactId>
      <version>${streampipes.version}</version>
      <exclusions>
        <exclusion>
          <artifactId>aopalliance</artifactId>
          <groupId>aopalliance</groupId>
        </exclusion>
        <exclusion>
          <artifactId>ow2-jpa-1.0-spec</artifactId>
          <groupId>org.ow2.spec.ee</groupId>
        </exclusion>
        <exclusion>
          <artifactId>javax.inject</artifactId>
          <groupId>javax.inject</groupId>
        </exclusion>
      </exclusions>
    </dependency>
    <dependency>
      <groupId>org.streampipes</groupId>
      <artifactId>streampipes-config</artifactId>
      <version>${streampipes.version}</version>
      <exclusions>
        <exclusion>
          <artifactId>jsr305</artifactId>
          <groupId>com.google.code.findbugs</groupId>
        </exclusion>
      </exclusions>
    </dependency>
    <dependency>
      <groupId>org.streampipes</groupId>
      <artifactId>streampipes-messaging-kafka</artifactId>
      <version>${streampipes.version}</version>
    </dependency>
    <dependency>
      <groupId>org.streampipes</groupId>
      <artifactId>streampipes-dataformat-cbor</artifactId>
      <version>${streampipes.version}</version>
    </dependency>
    <dependency>
      <groupId>org.streampipes</groupId>
      <artifactId>streampipes-dataformat-fst</artifactId>
      <version>${streampipes.version}</version>
    </dependency>
    <dependency>
      <groupId>org.streampipes</groupId>
      <artifactId>streampipes-dataformat-smile</artifactId>
      <version>${streampipes.version}</version>
    </dependency>
    <dependency>
      <groupId>org.streampipes</groupId>
      <artifactId>streampipes-dataformat-json</artifactId>
      <version>${streampipes.version}</version>
    </dependency>
    <dependency>
      <groupId>org.streampipes</groupId>
      <artifactId>streampipes-container-standalone</artifactId>
      <version>${streampipes.version}</version>
      <exclusions>
        <exclusion>
          <artifactId>aopalliance-repackaged</artifactId>
          <groupId>org.glassfish.hk2.external</groupId>
        </exclusion>
        <exclusion>
          <artifactId>tomcat-embed-el</artifactId>
          <groupId>org.apache.tomcat.embed</groupId>
        </exclusion>
        <exclusion>
          <artifactId>jboss-annotations-api_1.2_spec</artifactId>
          <groupId>org.jboss.spec.javax.annotation</groupId>
        </exclusion>
      </exclusions>
    </dependency>
    <dependency>
      <groupId>org.apache.plc4x.sandbox</groupId>
      <artifactId>test-streampipes-plc4x-shared</artifactId>
      <version>0.6.0</version>
    </dependency>
    <dependency>
      <groupId>ch.qos.logback</groupId>
      <artifactId>logback-classic</artifactId>
      <scope>compile</scope>
    </dependency>
    <dependency>
      <groupId>ch.qos.logback</groupId>
      <artifactId>logback-core</artifactId>
      <scope>compile</scope>
    </dependency>

    <dependency>
      <groupId>commons-logging</groupId>
      <artifactId>commons-logging</artifactId>
      <scope>test</scope>
    </dependency>
  </dependencies>

  <dependencyManagement>
    <dependencies>
      <dependency>
        <groupId>com.fasterxml.jackson.datatype</groupId>
        <artifactId>jackson-datatype-jdk8</artifactId>
        <version>2.10.0</version>
      </dependency>
      <dependency>
        <groupId>com.squareup.okhttp3</groupId>
        <artifactId>okhttp</artifactId>
        <version>3.14.3</version>
      </dependency>
      <dependency>
        <groupId>org.javassist</groupId>
        <artifactId>javassist</artifactId>
        <version>3.25.0-GA</version>
      </dependency>
      <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-aop</artifactId>
        <version>5.2.1.RELEASE</version>
      </dependency>
      <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-beans</artifactId>
        <version>5.2.1.RELEASE</version>
      </dependency>
      <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-context</artifactId>
        <version>5.2.1.RELEASE</version>
      </dependency>
      <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-core</artifactId>
        <version>5.2.1.RELEASE</version>
      </dependency>
      <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-web</artifactId>
        <version>5.2.1.RELEASE</version>
      </dependency>
      <dependency>
        <groupId>org.jboss.logging</groupId>
        <artifactId>jboss-logging</artifactId>
        <version>3.4.1.Final</version>
      </dependency>
    </dependencies>
  </dependencyManagement>

  <profiles>
    <profile>
      <id>with-docker</id>
      <build>
        <plugins>
          <!-- Build the Docker image -->
          <plugin>
            <groupId>com.spotify</groupId>
            <artifactId>dockerfile-maven-plugin</artifactId>
            <version>1.4.13</version>
            <executions>
              <execution>
                <id>default</id>
                <goals>
                  <goal>build</goal>
                  <goal>push</goal>
                </goals>
              </execution>
            </executions>
            <configuration>
              <repository>apache/plc4x-streampipes-processors</repository>
              <tag>${project.version}</tag>
              <buildArgs>
                <JAR_FILE>${project.build.finalName}.jar</JAR_FILE>
              </buildArgs>
            </configuration>
          </plugin>
        </plugins>
      </build>
    </profile>
  </profiles>

</project>