This is an automated email from the ASF dual-hosted git repository.
cdutz pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/plc4x.git
The following commit(s) were added to refs/heads/develop by this push:
new 9086aa2 Removed the Logstash integration module (Logstash is Category
X in current releases)
9086aa2 is described below
commit 9086aa2fb628dc3329167855f583c18def77006a
Author: cdutz <[email protected]>
AuthorDate: Tue May 25 10:32:17 2021 +0200
Removed the Logstash integration module (Logstash is Category X in current
releases)
---
Dockerfile | 4 +-
Jenkinsfile | 24 +-
README.md | 2 +-
build-reproducible.sh | 2 +-
plc4j/integrations/logstash-plugin/README.md | 70 -----
plc4j/integrations/logstash-plugin/pom.xml | 302 ---------------------
.../src/gem/lib/logstash-input-plc4x_jars.rb | 22 --
.../src/gem/lib/logstash/inputs/plc4x.rb | 29 --
.../src/gem/logstash-input-plc4x.gemspec | 42 ---
.../main/java/org/apache/plc4x/logstash/Plc4x.java | 171 ------------
.../org/apache/plc4x/logstash/Plc4xInputTest.java | 75 -----
plc4j/integrations/pom.xml | 9 -
pom.xml | 1 -
src/main/script/prerequisiteCheck.groovy | 9 -
src/site/asciidoc/developers/building.adoc | 5 +-
src/site/asciidoc/developers/preparing/index.adoc | 13 +-
src/site/asciidoc/developers/release/release.adoc | 18 +-
src/site/asciidoc/index.adoc | 14 -
src/site/asciidoc/users/index.adoc | 14 -
.../users/integrations/elastic-logstash.adoc | 20 --
src/site/site.xml | 1 -
tools/logstash/pom.xml | 110 --------
tools/pom.xml | 6 -
23 files changed, 33 insertions(+), 930 deletions(-)
diff --git a/Dockerfile b/Dockerfile
index 3abe6b5..f65f79d 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -81,10 +81,10 @@ RUN dos2unix .mvn/wrapper/maven-wrapper.properties
# Tell Maven to fetch all needed dependencies first, so they can get cached
# (Tried a patched version of the plugin to allow exclusion of inner artifacts.
# See https://issues.apache.org/jira/browse/MDEP-568 for details)
-RUN ./mvnw -P
with-boost,with-c,with-cpp,with-dotnet,with-go,with-logstash,with-logstash,with-python,with-sandbox
com.offbytwo.maven.plugins:maven-dependency-plugin:3.1.1.MDEP568:go-offline
-DexcludeGroupIds=org.apache.plc4x,org.apache.plc4x.examples,org.apache.plc4x.sandbox
+RUN ./mvnw -P
with-boost,with-c,with-cpp,with-dotnet,with-go,with-logstash,with-python,with-sandbox
com.offbytwo.maven.plugins:maven-dependency-plugin:3.1.1.MDEP568:go-offline
-DexcludeGroupIds=org.apache.plc4x,org.apache.plc4x.examples,org.apache.plc4x.sandbox
# Build everything with all tests
-RUN ./mvnw -P
skip-prerequisite-check,with-boost,with-c,with-cpp,with-dotnet,with-go,with-logstash,with-logstash,with-python,with-sandbox
install
+RUN ./mvnw -P
skip-prerequisite-check,with-boost,with-c,with-cpp,with-dotnet,with-go,with-logstash,with-python,with-sandbox
install
# Get the version of the project and save it in a local file on the container
RUN ./mvnw org.apache.maven.plugins:maven-help-plugin:3.2.0:evaluate
-Dexpression=project.version -DforceStdout -q -pl . > project_version
diff --git a/Jenkinsfile b/Jenkinsfile
index 90e78c7..ea9694d 100644
--- a/Jenkinsfile
+++ b/Jenkinsfile
@@ -93,9 +93,9 @@ pipeline {
}
steps {
echo 'Building'
- //sh 'mvn
-P${JENKINS_PROFILE},skip-prerequisite-check,with-sandbox,with-c,with-cpp,with-boost,with-dotnet,with-python,with-proxies,with-logstash
${MVN_TEST_FAIL_IGNORE} ${MVN_LOCAL_REPO_OPT} clean install'
- //sh 'mvn
-P${JENKINS_PROFILE},skip-prerequisite-check,with-sandbox,with-logstash,with-go
${MVN_TEST_FAIL_IGNORE} ${MVN_LOCAL_REPO_OPT} clean install'
- sh 'mvn
-P${JENKINS_PROFILE},skip-prerequisite-check,with-sandbox,with-logstash,with-go
${MVN_TEST_FAIL_IGNORE} ${MVN_LOCAL_REPO_OPT} clean install'
+ //sh 'mvn
-P${JENKINS_PROFILE},skip-prerequisite-check,with-sandbox,with-c,with-cpp,with-boost,with-dotnet,with-python,with-proxies
${MVN_TEST_FAIL_IGNORE} ${MVN_LOCAL_REPO_OPT} clean install'
+ //sh 'mvn
-P${JENKINS_PROFILE},skip-prerequisite-check,with-sandbox,with-go
${MVN_TEST_FAIL_IGNORE} ${MVN_LOCAL_REPO_OPT} clean install'
+ sh 'mvn
-P${JENKINS_PROFILE},skip-prerequisite-check,with-sandbox,with-go
${MVN_TEST_FAIL_IGNORE} ${MVN_LOCAL_REPO_OPT} clean install'
}
post {
always {
@@ -118,9 +118,9 @@ pipeline {
// We'll deploy to a relative directory so we can save
// that and deploy in a later step on a different node
- //sh 'mvn -U
-P${JENKINS_PROFILE},skip-prerequisite-check,development,with-sandbox,with-c,with-cpp,with-boost,with-dotnet,with-python,with-proxies,with-logstash
${MVN_TEST_FAIL_IGNORE} ${JQASSISTANT_NEO4J_VERSION}
-DaltDeploymentRepository=snapshot-repo::default::file:./local-snapshots-dir
clean deploy'
- //sh 'mvn -U
-P${JENKINS_PROFILE},skip-prerequisite-check,development,with-sandbox,with-logstash,with-go
${MVN_TEST_FAIL_IGNORE} ${JQASSISTANT_NEO4J_VERSION}
-DaltDeploymentRepository=snapshot-repo::default::file:./local-snapshots-dir
clean deploy'
- sh 'mvn -U
-P${JENKINS_PROFILE},skip-prerequisite-check,with-sandbox,with-logstash,with-go
${MVN_TEST_FAIL_IGNORE} ${JQASSISTANT_NEO4J_VERSION}
-DaltDeploymentRepository=snapshot-repo::default::file:./local-snapshots-dir
clean deploy'
+ //sh 'mvn -U
-P${JENKINS_PROFILE},skip-prerequisite-check,development,with-sandbox,with-c,with-cpp,with-boost,with-dotnet,with-python,with-proxies
${MVN_TEST_FAIL_IGNORE} ${JQASSISTANT_NEO4J_VERSION}
-DaltDeploymentRepository=snapshot-repo::default::file:./local-snapshots-dir
clean deploy'
+ //sh 'mvn -U
-P${JENKINS_PROFILE},skip-prerequisite-check,development,with-sandbox,with-go
${MVN_TEST_FAIL_IGNORE} ${JQASSISTANT_NEO4J_VERSION}
-DaltDeploymentRepository=snapshot-repo::default::file:./local-snapshots-dir
clean deploy'
+ sh 'mvn -U
-P${JENKINS_PROFILE},skip-prerequisite-check,with-sandbox,with-go
${MVN_TEST_FAIL_IGNORE} ${JQASSISTANT_NEO4J_VERSION}
-DaltDeploymentRepository=snapshot-repo::default::file:./local-snapshots-dir
clean deploy'
// Stash the build results so we can deploy them on another
node
stash name: 'plc4x-build-snapshots', includes:
'local-snapshots-dir/**'
@@ -140,8 +140,8 @@ pipeline {
steps {
echo 'Checking Code Quality on SonarCloud'
withCredentials([string(credentialsId:
'chris-sonarcloud-token', variable: 'SONAR_TOKEN')]) {
- //sh 'mvn
-P${JENKINS_PROFILE},skip-prerequisite-check,with-python,with-proxies,with-sandbox,with-logstash
sonar:sonar ${SONARCLOUD_PARAMS} -Dsonar.login=${SONAR_TOKEN}'
- sh 'mvn
-P${JENKINS_PROFILE},skip-prerequisite-check,with-sandbox,with-logstash
sonar:sonar ${SONARCLOUD_PARAMS} -Dsonar.login=${SONAR_TOKEN}'
+ //sh 'mvn
-P${JENKINS_PROFILE},skip-prerequisite-check,with-python,with-proxies,with-sandbox
sonar:sonar ${SONARCLOUD_PARAMS} -Dsonar.login=${SONAR_TOKEN}'
+ sh 'mvn
-P${JENKINS_PROFILE},skip-prerequisite-check,with-sandbox sonar:sonar
${SONARCLOUD_PARAMS} -Dsonar.login=${SONAR_TOKEN}'
}
}
}
@@ -184,8 +184,8 @@ pipeline {
}
steps {
echo 'Building Site'
- //sh 'mvn
-P${JENKINS_PROFILE},skip-prerequisite-check,with-proxies,with-logstash site'
- sh 'mvn -Djava.version=1.8
-P${JENKINS_PROFILE},skip-prerequisite-check,with-logstash site -X -pl .'
+ //sh 'mvn
-P${JENKINS_PROFILE},skip-prerequisite-check,with-proxies site'
+ sh 'mvn -Djava.version=1.8
-P${JENKINS_PROFILE},skip-prerequisite-check site -X -pl .'
}
}
@@ -196,8 +196,8 @@ pipeline {
steps {
echo 'Staging Site'
// Build a directory containing the aggregated website.
- //sh 'mvn
-P${JENKINS_PROFILE},skip-prerequisite-check,with-proxies,with-logstash
site:stage'
- sh 'mvn
-P${JENKINS_PROFILE},skip-prerequisite-check,with-logstash site:stage -pl .'
+ //sh 'mvn
-P${JENKINS_PROFILE},skip-prerequisite-check,with-proxies site:stage'
+ sh 'mvn -P${JENKINS_PROFILE},skip-prerequisite-check
site:stage -pl .'
// Make sure the script is executable.
sh 'chmod +x tools/clean-site.sh'
// Remove some redundant resources, which shouldn't be
required.
diff --git a/README.md b/README.md
index d376ec1..a533cf1 100644
--- a/README.md
+++ b/README.md
@@ -250,7 +250,7 @@ mvn -P with-sandbox,with-python,with-proxies install # add
-DskipTests to omit
In order to build everything the following command should work:
```
-mvn -P
with-go,with-boost,with-dotnet,with-logstash,with-proxies,with-python,with-sandbox
install
+mvn -P with-go,with-boost,with-dotnet,with-proxies,with-python,with-sandbox
install
```
## Community
diff --git a/build-reproducible.sh b/build-reproducible.sh
index 885dbf5..f03096b 100755
--- a/build-reproducible.sh
+++ b/build-reproducible.sh
@@ -21,7 +21,7 @@
# Run a standard build
function build() {
echo "Building ..."
- mvn -U -P
apache-release,with-boost,with-dotnet,with-cpp,with-python,with-proxies,with-sandbox,with-logstash
-DaltDeploymentRepository=snapshot-repo::default::file:./local-snapshots-dir
clean deploy
+ mvn -U -P
apache-release,with-boost,with-dotnet,with-cpp,with-python,with-proxies,with-sandbox
-DaltDeploymentRepository=snapshot-repo::default::file:./local-snapshots-dir
clean deploy
echo "Done"
}
diff --git a/plc4j/integrations/logstash-plugin/README.md
b/plc4j/integrations/logstash-plugin/README.md
deleted file mode 100644
index 2eed1ea..0000000
--- a/plc4j/integrations/logstash-plugin/README.md
+++ /dev/null
@@ -1,70 +0,0 @@
-<!--
-
- 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.
-
--->
-
-# Logstash Java Plugin
-
-[](https://travis-ci.org/logstash-plugins/logstash-filter-java_filter_example)
-
-This is a Java plugin for [Logstash](https://github.com/elastic/logstash).
-
-It is fully free and fully open source. The license is Apache 2.0, meaning you
are free to use it however you want.
-
-The documentation for Logstash Java plugins is available
[here](https://www.elastic.co/guide/en/logstash/6.7/contributing-java-plugin.html).
-
-Example input pipeline for logstash:
-```
-## logstash pipeline config - input
-input {
- ## use plc4x plugin (logstash-input-plc4x)
- plc4x {
- ## define sources (opc-ua examples)
- sources => {
- source1 => "opcua:tcp://opcua-server:4840/"
- source2 => "opcua:tcp://opcua-server1:4840/"
- }
- ## define jobs
- jobs => {
- job1 => {
- # pull rate in milliseconds
- rate => 1000
- # sources queried by job1
- sources => ["source1"]
- # defined queries [logstash_internal_fieldname
=> "IIoT query"]
- queries => {
- PreStage => "ns=2;i=3"
- MidStage => "ns=2;i=4"
- PostStage => "ns=2;i=5"
- Motor => "ns=2;i=6"
- ConvoyerBeltTimestamp => "ns=2;i=7"
- RobotArmTimestamp => "ns=2;i=8"
- }
- }
- }
- }
-}
-```
-
-# Build the plugin:
-
- ./mvnw clean package -P with-logstash
-
-# To install the plugin:
-1) Copy the build plugin *logstash-input-plc4x-0.6.0.gem* from your target/gem
directory to the Logstash plugin directory *logstash/plugin*
-2) Follow installation instructions from Logstash documentation:
https://www.elastic.co/guide/en/logstash/current/working-with-plugins.html
-3) Create pipeline file (see example pipeline above)
\ No newline at end of file
diff --git a/plc4j/integrations/logstash-plugin/pom.xml
b/plc4j/integrations/logstash-plugin/pom.xml
deleted file mode 100644
index 7e69960..0000000
--- a/plc4j/integrations/logstash-plugin/pom.xml
+++ /dev/null
@@ -1,302 +0,0 @@
-<?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-integrations</artifactId>
- <version>0.9.0-SNAPSHOT</version>
- </parent>
-
- <artifactId>plc4j-logstash-plugin</artifactId>
-
- <name>PLC4J: Integrations: Logstash plugin</name>
- <description>Integration module for integrating PLC4X into Elastic
Logstash.</description>
-
- <properties>
- <jruby.version>9.2.8.0</jruby.version>
- </properties>
-
- <build>
- <plugins>
- <!--
- As ruby and gem seem to have problems with Maven SNAPSHOT versions,
- calculate how the version would be without the "SNAPSHOT" prefix and
- make this available in the property "current-full-version".
- -->
- <plugin>
- <groupId>org.codehaus.gmaven</groupId>
- <artifactId>groovy-maven-plugin</artifactId>
- <executions>
- <execution>
- <id>provide-custom-properties</id>
- <phase>validate</phase>
- <goals>
- <goal>execute</goal>
- </goals>
- <configuration>
- <source>
- // Calculate some version related stuff
- def currentVersion = project.version as String
- def match = (currentVersion =~
/(\d+)\.(\d+)\.(\d+)(-SNAPSHOT)?/)
- print "\nCurrent version: " + currentVersion
- if (match.count >= 1) {
- def majorVersion = match[0][1] as Integer
- def minorVersion = match[0][2] as Integer
- def bugfixVersion = match[0][3] as Integer
-
- def currentFullVersion = majorVersion + "." + minorVersion +
"." + bugfixVersion
-
- print "\nCurrent full version: " +
currentFullVersion + " (current-full-version)"
- project.properties['current-full-version'] =
currentFullVersion
- }
- print "\n"
- </source>
- </configuration>
- </execution>
- </executions>
- </plugin>
- <!-- Download and unpack JRuby -->
- <plugin>
- <groupId>com.googlecode.maven-download-plugin</groupId>
- <artifactId>download-maven-plugin</artifactId>
- <executions>
- <execution>
- <id>get-jruby</id>
- <!-- Only execute this for the parent module -->
- <inherited>false</inherited>
- <phase>generate-resources</phase>
- <goals>
- <goal>wget</goal>
- </goals>
- <configuration>
- <url>
-
https://repo1.maven.org/maven2/org/jruby/jruby-dist/${jruby.version}/jruby-dist-${jruby.version}-bin.tar.gz
- </url>
- <unpack>true</unpack>
-
<outputDirectory>${project.build.directory}/jruby</outputDirectory>
- </configuration>
- </execution>
- </executions>
- </plugin>
- <!-- Prepare all the resources the gem build needs -->
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-resources-plugin</artifactId>
- <executions>
- <execution>
- <id>generate-gem-resources</id>
- <phase>generate-resources</phase>
- <goals>
- <goal>resources</goal>
- </goals>
- <configuration>
- <resources>
- <resource>
- <directory>src/gem</directory>
- <filtering>true</filtering>
- <targetPath>${project.build.directory}/gem</targetPath>
- </resource>
- </resources>
- </configuration>
- </execution>
- </executions>
- </plugin>
- <!-- Build a fat jar containing all dependencies -->
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-shade-plugin</artifactId>
- <executions>
- <execution>
- <phase>package</phase>
- <goals>
- <goal>shade</goal>
- </goals>
- <configuration>
- <!-- Ignore the error ... this variable is calculated in the
"validate" phase -->
- <outputFile>
-
${project.build.directory}/gem/vendor/jar-dependencies/org/apache/plc4x/logstash-input-plc4x/${current-full-version}/logstash-input-plc4x-${current-full-version}.jar
- </outputFile>
- <!-- The output is just an intermediate file, so make sure it's
not installed or deployed -->
- <shadedArtifactAttached>false</shadedArtifactAttached>
- </configuration>
- </execution>
- </executions>
- </plugin>
- <!-- Execute the Gem build using JRuby -->
- <plugin>
- <groupId>org.codehaus.mojo</groupId>
- <artifactId>exec-maven-plugin</artifactId>
- <executions>
- <execution>
- <id>run-gem-build</id>
- <phase>package</phase>
- <goals>
- <goal>exec</goal>
- </goals>
- <configuration>
-
<executable>../jruby/jruby-${jruby.version}/bin/jruby</executable>
- <arguments>
- <argument>-S</argument>
- <argument>../jruby/jruby-${jruby.version}/bin/gem</argument>
- <argument>build</argument>
- <argument>logstash-input-plc4x.gemspec</argument>
- </arguments>
-
<workingDirectory>${project.build.directory}/gem</workingDirectory>
- </configuration>
- </execution>
- </executions>
- </plugin>
- <!-- Manually tell maven to add the gem artifact built by JRuby and Gem
-->
- <plugin>
- <groupId>org.codehaus.mojo</groupId>
- <artifactId>build-helper-maven-plugin</artifactId>
- <executions>
- <execution>
- <id>attach-gem</id>
- <phase>package</phase>
- <goals>
- <goal>attach-artifact</goal>
- </goals>
- <configuration>
- <artifacts>
- <artifact>
- <!-- Ignore the error ... this variable is calculated in the
"validate" phase -->
-
<file>${project.build.directory}/gem/logstash-input-plc4x-${current-full-version}.gem</file>
- <type>gem</type>
- </artifact>
- </artifacts>
- </configuration>
- </execution>
- </executions>
- </plugin>
- <!--
- We are referencing libraries that are not directly used, we have to
tell the dependency
- plugin that they are used and it shouldn't complain and break the
build.
- -->
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-dependency-plugin</artifactId>
- <configuration>
- <usedDependencies combine.children="append">
-
<usedDependency>org.apache.plc4x:plc4j-driver-ab-eth</usedDependency>
- <usedDependency>org.apache.plc4x:plc4j-driver-ads</usedDependency>
-
<usedDependency>org.apache.plc4x:plc4j-driver-canopen</usedDependency>
- <usedDependency>org.apache.plc4x:plc4j-driver-eip</usedDependency>
-
<usedDependency>org.apache.plc4x:plc4j-driver-firmata</usedDependency>
-
<usedDependency>org.apache.plc4x:plc4j-driver-knxnetip</usedDependency>
-
<usedDependency>org.apache.plc4x:plc4j-driver-modbus</usedDependency>
-
<usedDependency>org.apache.plc4x:plc4j-driver-opcua</usedDependency>
- <usedDependency>org.apache.plc4x:plc4j-driver-s7</usedDependency>
-
<usedDependency>org.apache.plc4x:plc4j-driver-simulated</usedDependency>
- </usedDependencies>
- </configuration>
- </plugin>
- </plugins>
- </build>
-
- <dependencies>
- <dependency>
- <groupId>org.apache.plc4x</groupId>
- <artifactId>plc4j-api</artifactId>
- <version>0.9.0-SNAPSHOT</version>
- </dependency>
- <dependency>
- <groupId>org.apache.plc4x</groupId>
- <artifactId>plc4j-connection-pool</artifactId>
- <version>0.9.0-SNAPSHOT</version>
- </dependency>
- <dependency>
- <groupId>org.apache.plc4x</groupId>
- <artifactId>plc4j-scraper</artifactId>
- <version>0.9.0-SNAPSHOT</version>
- </dependency>
- <dependency>
- <groupId>org.apache.plc4x</groupId>
- <artifactId>plc4x-tools-logstash-core</artifactId>
- <version>0.9.0-SNAPSHOT</version>
- <classifier>${logstash.version}</classifier>
- </dependency>
-
- <!-- Include all drivers -->
- <dependency>
- <groupId>org.apache.plc4x</groupId>
- <artifactId>plc4j-driver-ab-eth</artifactId>
- <version>0.9.0-SNAPSHOT</version>
- <scope>runtime</scope>
- </dependency>
- <dependency>
- <groupId>org.apache.plc4x</groupId>
- <artifactId>plc4j-driver-ads</artifactId>
- <version>0.9.0-SNAPSHOT</version>
- <scope>runtime</scope>
- </dependency>
- <dependency>
- <groupId>org.apache.plc4x</groupId>
- <artifactId>plc4j-driver-canopen</artifactId>
- <version>0.9.0-SNAPSHOT</version>
- <scope>runtime</scope>
- </dependency>
- <dependency>
- <groupId>org.apache.plc4x</groupId>
- <artifactId>plc4j-driver-eip</artifactId>
- <version>0.9.0-SNAPSHOT</version>
- <scope>runtime</scope>
- </dependency>
- <dependency>
- <groupId>org.apache.plc4x</groupId>
- <artifactId>plc4j-driver-firmata</artifactId>
- <version>0.9.0-SNAPSHOT</version>
- <scope>runtime</scope>
- </dependency>
- <dependency>
- <groupId>org.apache.plc4x</groupId>
- <artifactId>plc4j-driver-knxnetip</artifactId>
- <version>0.9.0-SNAPSHOT</version>
- <scope>runtime</scope>
- </dependency>
- <dependency>
- <groupId>org.apache.plc4x</groupId>
- <artifactId>plc4j-driver-modbus</artifactId>
- <version>0.9.0-SNAPSHOT</version>
- <scope>runtime</scope>
- </dependency>
- <dependency>
- <groupId>org.apache.plc4x</groupId>
- <artifactId>plc4j-driver-opcua</artifactId>
- <version>0.9.0-SNAPSHOT</version>
- <scope>runtime</scope>
- </dependency>
- <dependency>
- <groupId>org.apache.plc4x</groupId>
- <artifactId>plc4j-driver-s7</artifactId>
- <version>0.9.0-SNAPSHOT</version>
- <scope>runtime</scope>
- </dependency>
- <dependency>
- <groupId>org.apache.plc4x</groupId>
- <artifactId>plc4j-driver-simulated</artifactId>
- <version>0.9.0-SNAPSHOT</version>
- <scope>runtime</scope>
- </dependency>
- </dependencies>
-
-</project>
diff --git
a/plc4j/integrations/logstash-plugin/src/gem/lib/logstash-input-plc4x_jars.rb
b/plc4j/integrations/logstash-plugin/src/gem/lib/logstash-input-plc4x_jars.rb
deleted file mode 100644
index 7b53290..0000000
---
a/plc4j/integrations/logstash-plugin/src/gem/lib/logstash-input-plc4x_jars.rb
+++ /dev/null
@@ -1,22 +0,0 @@
-# ----------------------------------------------------------------------------
-# 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.
-# ----------------------------------------------------------------------------
-
-require 'jar_dependencies'
-# TODO replace 0.6.0 with version
-require_jar('${project.groupId}', 'logstash-input-plc4x',
'${current-full-version}')
\ No newline at end of file
diff --git
a/plc4j/integrations/logstash-plugin/src/gem/lib/logstash/inputs/plc4x.rb
b/plc4j/integrations/logstash-plugin/src/gem/lib/logstash/inputs/plc4x.rb
deleted file mode 100644
index 8787aee..0000000
--- a/plc4j/integrations/logstash-plugin/src/gem/lib/logstash/inputs/plc4x.rb
+++ /dev/null
@@ -1,29 +0,0 @@
-# ----------------------------------------------------------------------------
-# 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.
-# ----------------------------------------------------------------------------
-
-require 'logstash/inputs/base'
-require 'logstash/namespace'
-require 'logstash-input-plc4x_jars'
-require 'java'
-
-class LogStash::Inputs::Plc4jLogstashPlugin < LogStash::Inputs::Base
- config_name 'plc4x'
-
- def self.javaClass() Java::org.apache.plc4x.logstash.Plc4x.java_class; end
-end
diff --git
a/plc4j/integrations/logstash-plugin/src/gem/logstash-input-plc4x.gemspec
b/plc4j/integrations/logstash-plugin/src/gem/logstash-input-plc4x.gemspec
deleted file mode 100644
index a16567e..0000000
--- a/plc4j/integrations/logstash-plugin/src/gem/logstash-input-plc4x.gemspec
+++ /dev/null
@@ -1,42 +0,0 @@
-# ----------------------------------------------------------------------------
-# 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.
-# ----------------------------------------------------------------------------
-
-Gem::Specification.new do |s|
- s.name = 'logstash-input-plc4x'
- s.version = '${current-full-version}'
- s.licenses = ['Apache-2.0']
- s.summary = '${project.name}'
- s.description = '${project.description}'
- s.authors = ['Apache Software Foundation']
- s.email = ['[email protected]']
- s.homepage = 'http://plc4x.apache.org/index.html'
- s.require_paths = ['lib', 'vendor/jar-dependencies']
-
- # Files
- s.files =
Dir["lib/**/*","*.gemspec","*.md","CONTRIBUTORS","Gemfile","LICENSE","NOTICE.TXT",
"vendor/jar-dependencies/**/*.jar", "vendor/jar-dependencies/**/*.rb",
"VERSION", "docs/**/*"]
-
- # Special flag to let us know this is actually a logstash plugin
- s.metadata = { 'logstash_plugin' => 'true', 'logstash_group' => 'input',
'java_plugin' => 'true'}
-
- # Gem dependencies
-
- s.add_runtime_dependency 'logstash-core-plugin-api', '>= 1.60', '<= 2.99'
- s.add_runtime_dependency 'jar-dependencies', '~> 0'
- s.add_development_dependency 'logstash-devutils', '~> 0'
-end
\ No newline at end of file
diff --git
a/plc4j/integrations/logstash-plugin/src/main/java/org/apache/plc4x/logstash/Plc4x.java
b/plc4j/integrations/logstash-plugin/src/main/java/org/apache/plc4x/logstash/Plc4x.java
deleted file mode 100644
index cb9eb53..0000000
---
a/plc4j/integrations/logstash-plugin/src/main/java/org/apache/plc4x/logstash/Plc4x.java
+++ /dev/null
@@ -1,171 +0,0 @@
-/*
-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.
-*/
-package org.apache.plc4x.logstash;
-
-import co.elastic.logstash.api.*;
-import org.apache.plc4x.java.PlcDriverManager;
-import
org.apache.plc4x.java.scraper.config.triggeredscraper.JobConfigurationTriggeredImplBuilder;
-import
org.apache.plc4x.java.scraper.config.triggeredscraper.ScraperConfigurationTriggeredImpl;
-import
org.apache.plc4x.java.scraper.config.triggeredscraper.ScraperConfigurationTriggeredImplBuilder;
-import org.apache.plc4x.java.scraper.exception.ScraperException;
-import org.apache.plc4x.java.scraper.triggeredscraper.TriggeredScraperImpl;
-import
org.apache.plc4x.java.scraper.triggeredscraper.triggerhandler.collector.TriggerCollector;
-import
org.apache.plc4x.java.scraper.triggeredscraper.triggerhandler.collector.TriggerCollectorImpl;
-import org.apache.plc4x.java.utils.connectionpool.PooledPlcDriverManager;
-
-import java.util.*;
-import java.util.concurrent.CountDownLatch;
-import java.util.function.Consumer;
-import java.util.logging.Level;
-import java.util.logging.Logger;
-
-// class name must match plugin name
-@LogstashPlugin(name="plc4x")
-public class Plc4x implements Input {
- static Logger logger = Logger.getLogger(Plc4x.class.getName());
-
- public static final PluginConfigSpec<Map<String, Object>> JOB_CONFIG =
- PluginConfigSpec.hashSetting("jobs");
-
- public static final PluginConfigSpec<Map<String, Object>> SOURCE_CONFIG =
- PluginConfigSpec.hashSetting("sources");
- private final Map<String, Object> sources;
- private final Map<String, Object> jobs;
-
- private String id;
- private PlcDriverManager plcDriverManager;
- private TriggerCollector triggerCollector;
- private TriggeredScraperImpl scraper;
-
- private final CountDownLatch done = new CountDownLatch(1);
-
- // all plugins must provide a constructor that accepts id, Configuration,
and Context
- public Plc4x(String id, Configuration config, Context context) {
- // constructors should validate configuration options
- this.id = id;
- jobs = config.get(JOB_CONFIG);
- sources = config.get(SOURCE_CONFIG);
- }
-
- @Override
- public void start(Consumer<Map<String, Object>> consumer) {
-
- // The start method should push Map<String, Object> instances to the
supplied QueueWriter
- // instance. Those will be converted to Event instances later in the
Logstash event
- // processing pipeline.
- //
- // Inputs that operate on unbounded streams of data or that poll
indefinitely for new
- // events should loop indefinitely until they receive a stop request.
Inputs that produce
- // a finite sequence of events should loop until that sequence is
exhausted or until they
- // receive a stop request, whichever comes first.
- // Establish a connection to the plc using the url provided as first
argument
- ScraperConfigurationTriggeredImplBuilder builder = new
ScraperConfigurationTriggeredImplBuilder();
-
- for (String sourceName : sources.keySet()) {
- Object o = sources.get(sourceName);
- if(o instanceof String) {
- String source = (String)o;
- builder.addSource(sourceName, source);
- } else {
- logger.severe("URL of source " + sourceName + "has the wrong
typ!");
- }
- }
-
- for (String jobName : jobs.keySet()) {
- Object o = jobs.get(jobName);
- if (o instanceof Map) {
- Map job = (Map<String, Object>) o;
- JobConfigurationTriggeredImplBuilder jobBuilder = builder.job(
- jobName, String.format("(SCHEDULED,%s)", job.get("rate")));
- for (String source : ((List<String>) job.get("sources"))) {
- jobBuilder.source(source);
- }
- Map<String, Object> queries = (Map<String, Object>)
job.get("queries");
- for (String queryName : queries.keySet()) {
-
- String fieldAlias = queryName;
- String fieldAddress = (String) queries.get(queryName);
- jobBuilder.field(fieldAlias, fieldAddress);
- }
- jobBuilder.build();
- } else {
- logger.severe("Jobs of wrong Type!");
- }
- }
-
- ScraperConfigurationTriggeredImpl scraperConfig = builder.build();
- try {
- plcDriverManager = new PooledPlcDriverManager();
- triggerCollector = new TriggerCollectorImpl(plcDriverManager);
- scraper = new TriggeredScraperImpl(scraperConfig, (jobName,
sourceName, results) -> {
- HashMap<String, Object> resultMap = new HashMap<String,
Object>();
- resultMap.put("jobName", jobName);
- resultMap.put("sourceName", sourceName);
- resultMap.put("values", results);
-
- if (logger.getLevel().equals(Level.FINEST)) {
- for (Map.Entry<String, Object> result :
results.entrySet()) {
- // Get field-name and -value from the results.
- String fieldName = result.getKey();
- Object fieldValue = result.getValue();
- logger.finest("fieldName: " + fieldName);
- logger.finest("fieldValue: " + fieldValue);
- }
- }
- consumer.accept(resultMap);
- }, triggerCollector);
- scraper.start();
- triggerCollector.start();
- } catch (ScraperException e) {
- logger.severe("Error starting the scraper: "+ e);
- }
- // TODO discuss with stefan and chris
- while(scraper.isRunning()) {
- try {
- Thread.sleep(1000);
- // or maybe just yield(); ?
- } catch (InterruptedException e) {
- Thread.currentThread().interrupt();
- logger.severe("Error thead sleep plc4x plugin: "+ e);
- }
- }
- }
-
- @Override
- public void stop() {
- triggerCollector.stop();
- scraper.stop();
- }
-
- @Override
- public void awaitStop() throws InterruptedException {
- done.await(); // blocks until input has stopped
- }
-
- @Override
- public Collection<PluginConfigSpec<?>> configSchema() {
- // should return a list of all configuration options for this plugin
- return Arrays.asList(JOB_CONFIG, SOURCE_CONFIG);
- }
-
- @Override
- public String getId() {
- return this.id;
- }
-}
diff --git
a/plc4j/integrations/logstash-plugin/src/test/java/org/apache/plc4x/logstash/Plc4xInputTest.java
b/plc4j/integrations/logstash-plugin/src/test/java/org/apache/plc4x/logstash/Plc4xInputTest.java
deleted file mode 100644
index 4e92980..0000000
---
a/plc4j/integrations/logstash-plugin/src/test/java/org/apache/plc4x/logstash/Plc4xInputTest.java
+++ /dev/null
@@ -1,75 +0,0 @@
-/*
-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.
-*/
-package org.apache.plc4x.logstash;
-
-import co.elastic.logstash.api.Configuration;
-import org.assertj.core.util.Maps;
-import org.junit.jupiter.api.Disabled;
-import org.junit.jupiter.api.Test;
-import org.logstash.plugins.ConfigurationImpl;
-
-import java.util.*;
-import java.util.function.Consumer;
-
-public class Plc4xInputTest {
-
- @Test
- @Disabled("This test only works with a running instance of the freeopcua
server running on the same machine")
- public void testPlc4xInput() {
- Map<String, Object> configValues = new HashMap<>();
- Map<String, Object> jobValues = new HashMap<>();
-
- Map<String,Object> queries = new HashMap<>();
- queries.put("testfield", "ns=2;i=4");
- List<String> sources = Collections.singletonList("TestConnection");
-
- jobValues.put("rate", 300);
- jobValues.put("queries", queries);
- jobValues.put("sources", sources);
-
- configValues.put(Plc4x.SOURCE_CONFIG.name(),
Maps.newHashMap("TestConnection",
"opcua:tcp://localhost:4840/freeopcua/server/"));
- configValues.put(Plc4x.JOB_CONFIG.name(), Maps.newHashMap("job1",
jobValues));
-
-
- Configuration config = new ConfigurationImpl(configValues);
- Plc4x input = new Plc4x("test-id", config, null);
- TestConsumer testConsumer = new TestConsumer();
- input.start(testConsumer);
-
-
- List<Map<String, Object>> events = testConsumer.getEvents();
- System.out.println("events size: " + events.size());
- }
-
- private static class TestConsumer implements Consumer<Map<String, Object>>
{
-
- private List<Map<String, Object>> events = new ArrayList<>();
-
- @Override
- public void accept(Map<String, Object> event) {
- synchronized (this) {
- events.add(event);
- }
- }
-
- public List<Map<String, Object>> getEvents() {
- return events;
- }
- }
-}
diff --git a/plc4j/integrations/pom.xml b/plc4j/integrations/pom.xml
index 1a0e473..085e381 100644
--- a/plc4j/integrations/pom.xml
+++ b/plc4j/integrations/pom.xml
@@ -41,13 +41,4 @@
<module>opcua-server</module>
</modules>
- <profiles>
- <profile>
- <id>with-logstash</id>
- <modules>
- <module>logstash-plugin</module>
- </modules>
- </profile>
- </profiles>
-
</project>
diff --git a/pom.xml b/pom.xml
index 26a15ff..33f1b55 100644
--- a/pom.xml
+++ b/pom.xml
@@ -148,7 +148,6 @@
<junit.platform.version>1.7.0</junit.platform.version>
<log4j.version>2.11.1</log4j.version>
<logback.version>1.2.3</logback.version>
- <logstash.version>7.10.0</logstash.version>
<milo.version>0.5.4</milo.version>
<mockito.version>3.6.28</mockito.version>
<netty.version>4.1.54.Final</netty.version>
diff --git a/src/main/script/prerequisiteCheck.groovy
b/src/main/script/prerequisiteCheck.groovy
index 145097a..81b6bbf 100644
--- a/src/main/script/prerequisiteCheck.groovy
+++ b/src/main/script/prerequisiteCheck.groovy
@@ -423,7 +423,6 @@ def cppEnabled = false
def dockerEnabled = false
def dotnetEnabled = false
def javaEnabled = true
-def logstashEnabled = false
def pythonEnabled = false
def sandboxEnabled = false
def apacheReleaseEnabled = false
@@ -444,9 +443,6 @@ for (def activeProfile : activeProfiles) {
} else if (activeProfile == "with-dotnet") {
dotnetEnabled = true
println "dotnet"
- } else if (activeProfile == "with-logstash") {
- logstashEnabled = true
- println "logstash"
} else if (activeProfile == "with-python") {
pythonEnabled = true
println "python"
@@ -481,11 +477,6 @@ if (dotnetEnabled) {
checkDotnet()
}
-if (logstashEnabled) {
- // Logstash doesn't compile with java versions above 11 (currently)
- checkJavaVersion(null, "11")
-}
-
if (cppEnabled) {
checkClang()
// The cmake-maven-plugin requires at least java 11
diff --git a/src/site/asciidoc/developers/building.adoc
b/src/site/asciidoc/developers/building.adoc
index b49795d..6fb1b05 100644
--- a/src/site/asciidoc/developers/building.adoc
+++ b/src/site/asciidoc/developers/building.adoc
@@ -82,7 +82,6 @@ WARNING: Currently when enabling the `with-python` module,
you are required to a
There are 3 more profiles that allow you to activate additional modules or
functionality:
- `with-docker` : Some modules also provide the means to build `Docker`
images. By enabling this profile these images are automatically built too
-- `with-logstash` : Builds the `Elastic Logstash` integration. Unfortunately
Elasic has never released the core libraries publicly so we need to then also
build `Logstash` locally. As soon as these core libraries are officially
released in `Maven-Central`, this profile will be removed again.
- `with-boost` : Builds a `C`/`C++` Library used by both the `Apache Thrift`
build as well as the `C++` drivers. Unfortunately this is an extremely intense
build so we have setup the PLC4X build to only require this profile to be
activated once. If the resulting artifacts are installed in your
`Maven-Local-Repo`, these will be re-used.
The minimum Apache PLC4X build will build only the `Java` modules without any
experimental modules:
@@ -95,13 +94,13 @@ If you want to skip the running of tests (even if this is
not encouraged) you ca
All Apache PLC4X modules are built by executing the following command:
- mvn -P
with-boost,with-cpp,with-docker,with-dotnet,with-logstash,with-sandbox,with-logstash,with-proxies,with-python,with-sandbox
install
+ mvn -P
with-boost,with-cpp,with-docker,with-dotnet,with-sandbox,with-logstash,with-proxies,with-python,with-sandbox
install
This not only builds the artifacts and creates the jar files, but also runs
all unit- and integration-tests.
If you want to skip the running of tests (even if this is not encouraged) you
can skip them all together.
- mvn -P
with-boost,with-cpp,with-docker,with-dotnet,with-logstash,with-sandbox,with-logstash,with-proxies,with-python,with-sandbox
install -DskipTests
+ mvn -P
with-boost,with-cpp,with-docker,with-dotnet,with-sandbox,with-logstash,with-proxies,with-python,with-sandbox
install -DskipTests
This will not skip the compilation of tests however.
diff --git a/src/site/asciidoc/developers/preparing/index.adoc
b/src/site/asciidoc/developers/preparing/index.adoc
index 3e4df82..ac00c41 100644
--- a/src/site/asciidoc/developers/preparing/index.adoc
+++ b/src/site/asciidoc/developers/preparing/index.adoc
@@ -19,23 +19,22 @@
Building a project like Apache PLC4X on multiple target operating-systems is
quite a challenge, but I think we managed to make it as simple as possible.
-However when building PLC4X there are some requirements the build is expecting
you to have provided.
-However this greatly depends on which parts you want to build.
+However, when building PLC4X there are some requirements the build is
expecting you to have provided.
+However, this greatly depends on which parts you want to build.
The `Java` modules hereby probably have the least demanding requirements.
In order to build most Java parts of `PLC4X` you are required to have at least
`Java 8` installed on your machine.
Some integration modules and some other languages however may add some
additional constraints to this.
-For example if you are using the `with-logstash` module to build the Logstash
integration, you are required to use `Java 8` to `Java 11`, below and above
doesn't work.
-On the other side as soon as you're building with the `with-c`, `with-cpp` or
`with-proxies` you need to use at least `Java 11` as the `cmake-maven-plugin`
requires at least this version.
+As soon as you're building with the `with-c`, `with-cpp` or `with-proxies` you
need to use at least `Java 11` as the `cmake-maven-plugin` requires at least
this version.
-TIP: Currently Java 11 is the sweet-spot for being able to build all parts of
PLC4X.
+TIP: Currently, Java 11 is the sweet-spot for being able to build all parts of
PLC4X.
TIP: We have tested the build with Java 8 up to Java 14 (Latest version at the
time of writing this document).
If a new version comes out, please give us a little time to verify and handle
any related issues.
We'll probably fix them as soon as possible.
-However in the past with Oracle's new release strategy, there have been a few
bumps on the road.
+However, in the past with Oracle's new release strategy, there have been a few
bumps on the road.
Also will PLC4X build with any Maven version starting with `Maven 3.3.0`
however the `with-c`, `with-cpp` and `with-proxies` profiles require at least
`Maven 3.6` as the `cmake-maven-plugin` requires this.
@@ -65,5 +64,5 @@ TIP: Currently Maven 3.6 and above is required for being able
to build all parts
The following pages will describe how to provide these requirements for your
operating system.
* link:linux.html[Linux]
-* link:macos.html[Mac OS]
+* link:macos.html[MacOS]
* link:windows.html[Windows]
diff --git a/src/site/asciidoc/developers/release/release.adoc
b/src/site/asciidoc/developers/release/release.adoc
index ec09614..b378090 100644
--- a/src/site/asciidoc/developers/release/release.adoc
+++ b/src/site/asciidoc/developers/release/release.adoc
@@ -29,20 +29,20 @@ IMPORTANT: Please be sure to execute the release with a
Java version between 1.8
* [ ] Create release branch:
[subs="verbatim,attributes"]
----
- mvn release:branch -P
with-boost,with-c,with-docker,with-dotnet,with-go,with-logstash,with-python,with-sandbox
-DbranchName=rel/{current-short-version}
+ mvn release:branch -P
with-boost,with-c,with-docker,with-dotnet,with-go,with-python,with-sandbox
-DbranchName=rel/{current-short-version}
----
[%interactive]
* [ ] Add a new section to the `RELEASE_NOTES` on `develop`
* [ ] Prepare the release:
[subs="verbatim,attributes"]
----
- mvn release:prepare -P
with-boost,with-c,with-docker,with-dotnet,with-go,with-logstash,with-python,with-sandbox
+ mvn release:prepare -P
with-boost,with-c,with-docker,with-dotnet,with-go,with-python,with-sandbox
----
[%interactive]
* [ ] Perform the release:
[subs="verbatim,attributes"]
----
- mvn release:perform -DreleaseProfiles=apache-release,with-logstash
+ mvn release:perform -DreleaseProfiles=apache-release
----
[%interactive]
* [ ] Close the staging repo on `Nexus`
@@ -152,14 +152,14 @@ This is the version the `develop` branch will be changed
to.
In contrast to normal builds, it is important to enable all profiles when
creating the branch as only this way will all modules versions be updated.
Otherwise, the non-default modules on develop will reference the old version
which will cause problems when building.
- mvn release:branch -P
with-boost,with-c,with-cpp,with-docker,with-dotnet,with-go,with-logstash,with-python,with-sandbox
-DbranchName=rel/{minor-version}
+ mvn release:branch -P
with-boost,with-c,with-cpp,with-docker,with-dotnet,with-go,with-python,with-sandbox
-DbranchName=rel/{minor-version}
Per default the plugin suggests the next bugfix version as working version,
however we want it to use the next minor version.
So in case of preparing the release branch for
`{current-full-version}-SNAPSHOT` the command would be the following:
[subs="verbatim,attributes"]
----
- mvn release:branch -P
with-boost,with-c,with-cpp,with-docker,with-dotnet,with-go,with-logstash,with-python,with-sandbox
-DbranchName=rel/{current-short-version}
+ mvn release:branch -P
with-boost,with-c,with-cpp,with-docker,with-dotnet,with-go,with-python,with-sandbox
-DbranchName=rel/{current-short-version}
----
The plugin will then aks for the version:
@@ -224,9 +224,9 @@ In order to prepare a release-candidate, the first step is
switching to the corr
After that, the following command will to all preparation steps for the
release:
- mvn release:prepare -P
with-boost,with-c,with-docker,with-dotnet,with-go,with-logstash,with-python,with-sandbox
+ mvn release:prepare -P
with-boost,with-c,with-docker,with-dotnet,with-go,with-python,with-sandbox
-(The `-P
with-boost,with-c,with-docker,with-dotnet,with-go,with-logstash,with-python,with-sandbox`
tells maven to activate the all profiles that partition the build and makes
sure the versions of all modules are updated as part of the release)
+(The `-P
with-boost,with-c,with-docker,with-dotnet,with-go,with-python,with-sandbox`
tells maven to activate the all profiles that partition the build and makes
sure the versions of all modules are updated as part of the release)
In general the plugin will now ask you 3 questions:
1. The version we want to release as (It will suggest the version you get by
omitting the `-SNAPSHOT` suffix)
@@ -284,14 +284,14 @@ However, it will not delete the tag in GIT (locally and
remotely). So you have t
This is done by executing another goal of the `maven-release-plugin`:
- mvn release:perform -DreleaseProfiles=apache-release,with-logstash
+ mvn release:perform -DreleaseProfiles=apache-release
This executes automatically as all information it requires is located in the
`release.properties` file the `prepare`-goal prepared.
The first step is that the `perform`-goal checks out the previously tagged
revision into the root modules `target/checkout` directory.
Here it automatically executes a maven build (You don't have to do this, it's
just that you know what's happening):
- mvn clean deploy -P apache-release,with-logstash
+ mvn clean deploy -P apache-release
As the `apache-release` profile is also activated, this builds and tests the
project as well as creates the JavaDocs, Source packages and signs each of
these with your PGP key.
diff --git a/src/site/asciidoc/index.adoc b/src/site/asciidoc/index.adoc
index 1124dc9..52754b4 100644
--- a/src/site/asciidoc/index.adoc
+++ b/src/site/asciidoc/index.adoc
@@ -179,20 +179,6 @@
</div>
</div>
</div>
- <div class="carousel-item">
- <div class="col-md-12 col-lg-4">
- <div class="card h-100 p-5
justify-content-center"
-
onclick="location.href='https://www.elastic.co/products/logstash';"
- style="cursor:pointer;">
- <div class="d-flex
align-items-center justify-content-center h-100">
- <img
src="images/integrations/elastic_logstash_logo.png" alt="Card image cap">
- </div>
- <div class="card-body">
- <h5
class="card-title"><b>Elastic Logstash</b></h5>
- </div>
- </div>
- </div>
- </div>
</div>
<a class="carousel-control-prev"
href="#integrationCarousel" role="button" data-slide="prev">
<span class="carousel-control-prev-icon"
aria-hidden="true"></span>
diff --git a/src/site/asciidoc/users/index.adoc
b/src/site/asciidoc/users/index.adoc
index 3dcdb91..8b6922c 100644
--- a/src/site/asciidoc/users/index.adoc
+++ b/src/site/asciidoc/users/index.adoc
@@ -331,20 +331,6 @@ Besides providing access to devices using one of above
protocols, Apache PLC4X a
</div>
</div>
</div>
- <div class="carousel-item">
- <div class="col-md-12 col-lg-4">
- <div class="card h-100 p-5
justify-content-center"
-
onclick="location.href='integrations/elastic-logstash.html';"
- style="cursor:pointer;">
- <div class="d-flex align-items-center
justify-content-center h-100">
- <img
src="../images/integrations/elastic_logstash_logo.png" alt="Card image cap">
- </div>
- <div class="card-body">
- <h5 class="card-title"><b>Elastic
Logstashâ„¢</b></h5>
- </div>
- </div>
- </div>
- </div>
</div>
<a class="carousel-control-prev"
href="#integrationCarousel" role="button" data-slide="prev">
<span class="carousel-control-prev-icon"
aria-hidden="true"></span>
diff --git a/src/site/asciidoc/users/integrations/elastic-logstash.adoc
b/src/site/asciidoc/users/integrations/elastic-logstash.adoc
deleted file mode 100644
index 352cbb2..0000000
--- a/src/site/asciidoc/users/integrations/elastic-logstash.adoc
+++ /dev/null
@@ -1,20 +0,0 @@
-//
-// 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.
-//
-:imagesdir: ../../images/
-:icons: font
-
-== Elastic Logstash
diff --git a/src/site/site.xml b/src/site/site.xml
index f1fc295..f0427c8 100644
--- a/src/site/site.xml
+++ b/src/site/site.xml
@@ -92,7 +92,6 @@
<item name="Apache StreamPipes"
href="users/integrations/apache-streampipes.html"/>
<item name="Eclipse Ditto"
href="users/integrations/eclipse-ditto.html"/>
<item name="Eclipse Milo OPC UA Server"
href="users/integrations/eclipse-milo.html"/>
- <item name="Elastic Logstash "
href="users/integrations/elastic-logstash.html"/>
</item>
<item name="Tools" href="users/tools/index.html">
<item name="Capture Replay" href="users/tools/capture-replay.html"/>
diff --git a/tools/logstash/pom.xml b/tools/logstash/pom.xml
deleted file mode 100644
index 814b62c..0000000
--- a/tools/logstash/pom.xml
+++ /dev/null
@@ -1,110 +0,0 @@
-<?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>plc4x-tools</artifactId>
- <version>0.9.0-SNAPSHOT</version>
- </parent>
-
- <artifactId>plc4x-tools-logstash-core</artifactId>
- <packaging>pom</packaging>
-
- <name>Tools: Logstash-Core</name>
- <description>Building of the Logstash-Core library.</description>
-
- <build>
- <plugins>
- <plugin>
- <groupId>com.googlecode.maven-download-plugin</groupId>
- <artifactId>download-maven-plugin</artifactId>
- <executions>
- <execution>
- <id>get-logstash</id>
- <phase>generate-sources</phase>
- <goals>
- <goal>wget</goal>
- </goals>
- <configuration>
-
<url>https://github.com/elastic/logstash/archive/v${logstash.version}.tar.gz</url>
- <unpack>true</unpack>
- <outputDirectory>${project.build.directory}</outputDirectory>
- </configuration>
- </execution>
- </executions>
- </plugin>
-
- <plugin>
- <groupId>org.codehaus.mojo</groupId>
- <artifactId>exec-maven-plugin</artifactId>
- <executions>
- <execution>
- <id>compile-logstash-core</id>
- <phase>process-sources</phase>
- <goals>
- <goal>exec</goal>
- </goals>
- <configuration>
- <executable>${gradlew.executable}</executable>
- <!--
- Make sure Gradle is using the same Java version the current
build is using.
- Without this setting it would use the java executable located
in the Path.
- -->
- <environmentVariables>
- <JAVA_HOME>${java.home}</JAVA_HOME>
- </environmentVariables>
- <arguments>
- <argument>:logstash-core:jar</argument>
- </arguments>
-
<workingDirectory>${project.build.directory}/logstash-${logstash.version}</workingDirectory>
- </configuration>
- </execution>
- </executions>
- </plugin>
-
- <plugin>
- <groupId>org.codehaus.mojo</groupId>
- <artifactId>build-helper-maven-plugin</artifactId>
- <executions>
- <execution>
- <id>attach-jars</id>
- <phase>package</phase>
- <goals>
- <goal>attach-artifact</goal>
- </goals>
- <configuration>
- <artifacts>
- <artifact>
-
<file>${project.build.directory}/logstash-${logstash.version}/logstash-core/build/libs/logstash-core-${logstash.version}.jar</file>
- <type>jar</type>
- <classifier>${logstash.version}</classifier>
- </artifact>
- </artifacts>
- </configuration>
- </execution>
- </executions>
- </plugin>
- </plugins>
- </build>
-
-</project>
\ No newline at end of file
diff --git a/tools/pom.xml b/tools/pom.xml
index 254db93..0ef00fa 100644
--- a/tools/pom.xml
+++ b/tools/pom.xml
@@ -39,12 +39,6 @@
<module>boost</module>
</modules>
</profile>
- <profile>
- <id>with-logstash</id>
- <modules>
- <module>logstash</module>
- </modules>
- </profile>
</profiles>
</project>
\ No newline at end of file