You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@streampipes.apache.org by ri...@apache.org on 2022/06/29 13:23:40 UTC
[incubator-streampipes] branch dev updated: [STREAMPIPES-549] Add extensions service for IIoT pipeline elements
This is an automated email from the ASF dual-hosted git repository.
riemer pushed a commit to branch dev
in repository https://gitbox.apache.org/repos/asf/incubator-streampipes.git
The following commit(s) were added to refs/heads/dev by this push:
new 1711b577a [STREAMPIPES-549] Add extensions service for IIoT pipeline elements
1711b577a is described below
commit 1711b577a48df051ffff51242e9148b153a7bc3f
Author: Dominik Riemer <do...@gmail.com>
AuthorDate: Wed Jun 29 15:23:23 2022 +0200
[STREAMPIPES-549] Add extensions service for IIoT pipeline elements
---
.github/workflows/build.yml | 10 +-
streampipes-extensions/pom.xml | 48 ++++----
.../streampipes-extensions-all-iiot/pom.xml | 131 +++++++++++++++++++++
.../extensions/all/iiot/AllExtensionsIIoTInit.java | 56 +++++++++
4 files changed, 223 insertions(+), 22 deletions(-)
diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index af9fb3793..1d7c431a8 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -114,6 +114,14 @@ jobs:
push: true
tags: ${{ env.DOCKERHUB_APACHE_REPO }}/pipeline-elements-all-flink:${{ env.MVN_VERSION }}
+ - name: Build and Push Docker Image extensions-all-iiot
+ uses: docker/build-push-action@v2
+ with:
+ context: ./streampipes-extensions/streampipes-extensions-all-iiot
+ platforms: linux/amd64,linux/arm64/v8,linux/arm/v7
+ push: true
+ tags: ${{ env.DOCKERHUB_APACHE_REPO }}/extensions-all-iiot:${{ env.MVN_VERSION }}
+
- name: Build and Push Docker Image pipeline-elements-all-jvm
uses: docker/build-push-action@v2
with:
@@ -128,4 +136,4 @@ jobs:
context: ./streampipes-extensions/streampipes-sinks-internal-jvm
platforms: linux/amd64,linux/arm64/v8,linux/arm/v7
push: true
- tags: ${{ env.DOCKERHUB_APACHE_REPO }}/sinks-internal-jvm:${{ env.MVN_VERSION }}
\ No newline at end of file
+ tags: ${{ env.DOCKERHUB_APACHE_REPO }}/sinks-internal-jvm:${{ env.MVN_VERSION }}
diff --git a/streampipes-extensions/pom.xml b/streampipes-extensions/pom.xml
index 0588278ec..37eebb9e3 100644
--- a/streampipes-extensions/pom.xml
+++ b/streampipes-extensions/pom.xml
@@ -31,35 +31,41 @@
<packaging>pom</packaging>
<modules>
- <module>streampipes-sinks-databases-jvm</module>
- <module>streampipes-sinks-internal-jvm</module>
- <module>streampipes-sinks-brokers-jvm</module>
- <module>streampipes-processors-filters-jvm</module>
- <module>streampipes-sinks-databases-flink</module>
+ <module>streampipes-connect-adapters</module>
+ <module>streampipes-connect-adapters-iiot</module>
+
+ <module>streampipes-extensions-all-iiot</module>
+ <module>streampipes-extensions-all-jvm</module>
+
+ <module>streampipes-pipeline-elements-all-jvm</module>
+ <module>streampipes-pipeline-elements-all-flink</module>
+ <module>streampipes-pipeline-elements-data-simulator</module>
+ <module>streampipes-pipeline-elements-shared</module>
+
<module>streampipes-processors-aggregation-flink</module>
- <module>streampipes-processors-pattern-detection-flink</module>
+ <module>streampipes-processors-change-detection-jvm</module>
<module>streampipes-processors-enricher-flink</module>
<module>streampipes-processors-enricher-jvm</module>
- <module>streampipes-sources-watertank-simulator</module>
- <module>streampipes-sources-vehicle-simulator</module>
- <module>streampipes-processors-transformation-flink</module>
+ <module>streampipes-processors-filters-jvm</module>
+ <module>streampipes-processors-filters-siddhi</module>
+ <module>streampipes-processors-geo-flink</module>
<module>streampipes-processors-geo-jvm</module>
+ <module>streampipes-processors-image-processing-jvm</module>
+ <module>streampipes-processors-pattern-detection-flink</module>
<module>streampipes-processors-statistics-flink</module>
- <module>streampipes-processors-filters-siddhi</module>
+ <module>streampipes-processors-transformation-flink</module>
<module>streampipes-processors-text-mining-flink</module>
<module>streampipes-processors-text-mining-jvm</module>
- <module>streampipes-sinks-notifications-jvm</module>
- <module>streampipes-pipeline-elements-shared</module>
- <module>streampipes-processors-geo-flink</module>
- <module>streampipes-processors-image-processing-jvm</module>
<module>streampipes-processors-transformation-jvm</module>
- <module>streampipes-pipeline-elements-all-jvm</module>
- <module>streampipes-pipeline-elements-data-simulator</module>
- <module>streampipes-connect-adapters</module>
- <module>streampipes-pipeline-elements-all-flink</module>
- <module>streampipes-processors-change-detection-jvm</module>
- <module>streampipes-extensions-all-jvm</module>
- <module>streampipes-connect-adapters-iiot</module>
+
+ <module>streampipes-sinks-brokers-jvm</module>
+ <module>streampipes-sinks-databases-jvm</module>
+ <module>streampipes-sinks-internal-jvm</module>
+ <module>streampipes-sinks-databases-flink</module>
+ <module>streampipes-sinks-notifications-jvm</module>
+
+ <module>streampipes-sources-watertank-simulator</module>
+ <module>streampipes-sources-vehicle-simulator</module>
</modules>
<properties>
diff --git a/streampipes-extensions/streampipes-extensions-all-iiot/pom.xml b/streampipes-extensions/streampipes-extensions-all-iiot/pom.xml
new file mode 100644
index 000000000..ed7bf2d18
--- /dev/null
+++ b/streampipes-extensions/streampipes-extensions-all-iiot/pom.xml
@@ -0,0 +1,131 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<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">
+ <parent>
+ <artifactId>streampipes-extensions</artifactId>
+ <groupId>org.apache.streampipes</groupId>
+ <version>0.70.0-SNAPSHOT</version>
+ <relativePath>../pom.xml</relativePath>
+ </parent>
+ <modelVersion>4.0.0</modelVersion>
+
+ <artifactId>streampipes-extensions-all-iiot</artifactId>
+
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.streampipes</groupId>
+ <artifactId>streampipes-container-extensions</artifactId>
+ <version>0.70.0-SNAPSHOT</version>
+ <exclusions>
+ <exclusion>
+ <groupId>org.graalvm.nativeimage</groupId>
+ <artifactId>svm</artifactId>
+ </exclusion>
+ </exclusions>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.streampipes</groupId>
+ <artifactId>streampipes-processors-filters-jvm</artifactId>
+ <version>0.70.0-SNAPSHOT</version>
+ <classifier>embed</classifier>
+ <exclusions>
+ <exclusion>
+ <groupId>org.graalvm.nativeimage</groupId>
+ <artifactId>svm</artifactId>
+ </exclusion>
+ </exclusions>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.streampipes</groupId>
+ <artifactId>streampipes-processors-filters-siddhi</artifactId>
+ <version>0.70.0-SNAPSHOT</version>
+ <classifier>embed</classifier>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.streampipes</groupId>
+ <artifactId>streampipes-processors-transformation-jvm</artifactId>
+ <version>0.70.0-SNAPSHOT</version>
+ <classifier>embed</classifier>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.streampipes</groupId>
+ <artifactId>streampipes-sinks-brokers-jvm</artifactId>
+ <version>0.70.0-SNAPSHOT</version>
+ <classifier>embed</classifier>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.streampipes</groupId>
+ <artifactId>streampipes-sinks-databases-jvm</artifactId>
+ <version>0.70.0-SNAPSHOT</version>
+ <classifier>embed</classifier>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.streampipes</groupId>
+ <artifactId>streampipes-sinks-internal-jvm</artifactId>
+ <version>0.70.0-SNAPSHOT</version>
+ <classifier>embed</classifier>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.streampipes</groupId>
+ <artifactId>streampipes-sinks-notifications-jvm</artifactId>
+ <version>0.70.0-SNAPSHOT</version>
+ <classifier>embed</classifier>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.streampipes</groupId>
+ <artifactId>streampipes-processors-enricher-jvm</artifactId>
+ <version>0.70.0-SNAPSHOT</version>
+ <classifier>embed</classifier>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.streampipes</groupId>
+ <artifactId>streampipes-processors-change-detection-jvm</artifactId>
+ <version>0.70.0-SNAPSHOT</version>
+ <classifier>embed</classifier>
+ </dependency>
+
+ <!-- 3rd party dependencies to avoid convergence errors -->
+ <dependency>
+ <groupId>io.dropwizard.metrics</groupId>
+ <artifactId>metrics-core</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>io.netty</groupId>
+ <artifactId>netty-handler</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.atteo.classindex</groupId>
+ <artifactId>classindex</artifactId>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.streampipes</groupId>
+ <artifactId>streampipes-connect-adapters-iiot</artifactId>
+ <version>0.70.0-SNAPSHOT</version>
+ <classifier>embed</classifier>
+ </dependency>
+ </dependencies>
+
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.springframework.boot</groupId>
+ <artifactId>spring-boot-maven-plugin</artifactId>
+ <executions>
+ <execution>
+ <goals>
+ <goal>repackage</goal>
+ </goals>
+ <configuration>
+ <mainClass>org.apache.streampipes.extensions.all.iiot.AllExtensionsIIoTInit</mainClass>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ <finalName>streampipes-extensions-all-iiot</finalName>
+ </build>
+
+</project>
diff --git a/streampipes-extensions/streampipes-extensions-all-iiot/src/main/java/org/apache/streampipes/extensions/all/iiot/AllExtensionsIIoTInit.java b/streampipes-extensions/streampipes-extensions-all-iiot/src/main/java/org/apache/streampipes/extensions/all/iiot/AllExtensionsIIoTInit.java
new file mode 100644
index 000000000..65fde4eda
--- /dev/null
+++ b/streampipes-extensions/streampipes-extensions-all-iiot/src/main/java/org/apache/streampipes/extensions/all/iiot/AllExtensionsIIoTInit.java
@@ -0,0 +1,56 @@
+package org.apache.streampipes.extensions.all.iiot;
+
+import org.apache.streampipes.connect.iiot.ConnectAdapterIiotInit;
+import org.apache.streampipes.container.extensions.ExtensionsModelSubmitter;
+import org.apache.streampipes.container.model.SpServiceDefinition;
+import org.apache.streampipes.container.model.SpServiceDefinitionBuilder;
+import org.apache.streampipes.dataformat.cbor.CborDataFormatFactory;
+import org.apache.streampipes.dataformat.fst.FstDataFormatFactory;
+import org.apache.streampipes.dataformat.json.JsonDataFormatFactory;
+import org.apache.streampipes.dataformat.smile.SmileDataFormatFactory;
+import org.apache.streampipes.messaging.jms.SpJmsProtocolFactory;
+import org.apache.streampipes.messaging.kafka.SpKafkaProtocolFactory;
+import org.apache.streampipes.messaging.mqtt.SpMqttProtocolFactory;
+import org.apache.streampipes.processors.changedetection.jvm.ChangeDetectionJvmInit;
+import org.apache.streampipes.processors.enricher.jvm.EnricherJvmInit;
+import org.apache.streampipes.processors.filters.jvm.FiltersJvmInit;
+import org.apache.streampipes.processors.siddhi.FiltersSiddhiInit;
+import org.apache.streampipes.processors.transformation.jvm.TransformationJvmInit;
+import org.apache.streampipes.sinks.brokers.jvm.BrokersJvmInit;
+import org.apache.streampipes.sinks.databases.jvm.DatabasesJvmInit;
+import org.apache.streampipes.sinks.internal.jvm.SinksInternalJvmInit;
+import org.apache.streampipes.sinks.notifications.jvm.SinksNotificationsJvmInit;
+
+public class AllExtensionsIIoTInit extends ExtensionsModelSubmitter {
+
+ public static void main (String[] args) {
+ new AllExtensionsIIoTInit().init();
+ }
+
+ @Override
+ public SpServiceDefinition provideServiceDefinition() {
+ return SpServiceDefinitionBuilder.create("org.apache.streampipes.extensions.all.iiot",
+ "StreamPipes Extensions (IIoT only)",
+ "", 8090)
+ .merge(new ConnectAdapterIiotInit().provideServiceDefinition())
+ .merge(new SinksInternalJvmInit().provideServiceDefinition())
+ .merge(new FiltersJvmInit().provideServiceDefinition())
+ .merge(new ChangeDetectionJvmInit().provideServiceDefinition())
+ .merge(new EnricherJvmInit().provideServiceDefinition())
+ .merge(new FiltersSiddhiInit().provideServiceDefinition())
+ .merge(new TransformationJvmInit().provideServiceDefinition())
+ .merge(new BrokersJvmInit().provideServiceDefinition())
+ .merge(new DatabasesJvmInit().provideServiceDefinition())
+ .merge(new SinksNotificationsJvmInit().provideServiceDefinition())
+ .registerMessagingFormats(
+ new JsonDataFormatFactory(),
+ new CborDataFormatFactory(),
+ new SmileDataFormatFactory(),
+ new FstDataFormatFactory())
+ .registerMessagingProtocols(
+ new SpKafkaProtocolFactory(),
+ new SpJmsProtocolFactory(),
+ new SpMqttProtocolFactory())
+ .build();
+ }
+}