[nifi] branch dependabot/npm_and_yarn/nifi-registry/nifi-registry-core/nifi-registry-web-ui/src/main/engine.io-6.4.2 created (now 5ab257966a)

2023-05-03 Thread github-bot
This is an automated email from the ASF dual-hosted git repository.

github-bot pushed a change to branch 
dependabot/npm_and_yarn/nifi-registry/nifi-registry-core/nifi-registry-web-ui/src/main/engine.io-6.4.2
in repository https://gitbox.apache.org/repos/asf/nifi.git


  at 5ab257966a Bump engine.io

No new revisions were added by this update.



[nifi] branch main updated (436fd91a25 -> 4e9675475c)

2023-05-03 Thread mthomsen
This is an automated email from the ASF dual-hosted git repository.

mthomsen pushed a change to branch main
in repository https://gitbox.apache.org/repos/asf/nifi.git


from 436fd91a25 NIFI-11230 Added Runtime Configuration validation to 
nifi-bootstrap
 new d754d952c2 NIFI-11522 Upgrade cassandra.sdk.version to 3.11.3
 new 4e9675475c NIFI-11523 Refining schema handling for 
ScriptedTransfromRecord

The 2 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 nifi-nar-bundles/nifi-cassandra-bundle/pom.xml |  2 +-
 .../processors/script/ScriptedTransformRecord.java |  5 ++--
 .../script/TestScriptedTransformRecord.java| 30 +++---
 3 files changed, 24 insertions(+), 13 deletions(-)



[nifi] 01/02: NIFI-11522 Upgrade cassandra.sdk.version to 3.11.3

2023-05-03 Thread mthomsen
This is an automated email from the ASF dual-hosted git repository.

mthomsen pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/nifi.git

commit d754d952c2833b6724cc55426fdba2d2a37f7bda
Author: mr1716 
AuthorDate: Wed May 3 08:04:31 2023 -0400

NIFI-11522 Upgrade cassandra.sdk.version to 3.11.3

This closes #7225

Signed-off-by: Mike Thomsen 
---
 nifi-nar-bundles/nifi-cassandra-bundle/pom.xml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/nifi-nar-bundles/nifi-cassandra-bundle/pom.xml 
b/nifi-nar-bundles/nifi-cassandra-bundle/pom.xml
index 80e89ca17c..e5950dfe03 100644
--- a/nifi-nar-bundles/nifi-cassandra-bundle/pom.xml
+++ b/nifi-nar-bundles/nifi-cassandra-bundle/pom.xml
@@ -23,7 +23,7 @@
 
 
 
-3.10.2
+3.11.3
 19.0
 
 



[nifi] 02/02: NIFI-11523 Refining schema handling for ScriptedTransfromRecord

2023-05-03 Thread mthomsen
This is an automated email from the ASF dual-hosted git repository.

mthomsen pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/nifi.git

commit 4e9675475c7bd33df653939fa475a2ca1df9203d
Author: Bence Simon 
AuthorDate: Wed May 3 14:12:59 2023 +0200

NIFI-11523 Refining schema handling for ScriptedTransfromRecord

This closes #7226

Signed-off-by: Mike Thomsen 
---
 .../processors/script/ScriptedTransformRecord.java |  5 ++--
 .../script/TestScriptedTransformRecord.java| 30 +++---
 2 files changed, 23 insertions(+), 12 deletions(-)

diff --git 
a/nifi-nar-bundles/nifi-scripting-bundle/nifi-scripting-processors/src/main/java/org/apache/nifi/processors/script/ScriptedTransformRecord.java
 
b/nifi-nar-bundles/nifi-scripting-bundle/nifi-scripting-processors/src/main/java/org/apache/nifi/processors/script/ScriptedTransformRecord.java
index 2a9637ad63..b67431cd6e 100644
--- 
a/nifi-nar-bundles/nifi-scripting-bundle/nifi-scripting-processors/src/main/java/org/apache/nifi/processors/script/ScriptedTransformRecord.java
+++ 
b/nifi-nar-bundles/nifi-scripting-bundle/nifi-scripting-processors/src/main/java/org/apache/nifi/processors/script/ScriptedTransformRecord.java
@@ -137,6 +137,7 @@ public class ScriptedTransformRecord extends 
ScriptedRecordProcessor {
 
 final RecordReaderFactory readerFactory = 
context.getProperty(RECORD_READER).asControllerService(RecordReaderFactory.class);
 final RecordSetWriterFactory writerFactory = 
context.getProperty(RECORD_WRITER).asControllerService(RecordSetWriterFactory.class);
+final Map originalAttributes = 
flowFile.getAttributes();
 
 final RecordCounts counts = new RecordCounts();
 try {
@@ -165,10 +166,8 @@ public class ScriptedTransformRecord extends 
ScriptedRecordProcessor {
 record.incorporateInactiveFields();
 
 if (writer == null) {
-final RecordSchema writerSchema;
-writerSchema = record.getSchema();
-
 try {
+final RecordSchema writerSchema = 
writerFactory.getSchema(originalAttributes, record.getSchema());
 writer = 
writerFactory.createWriter(getLogger(), writerSchema, out, flowFile);
 } catch (SchemaNotFoundException e) {
 throw new IOException(e);
diff --git 
a/nifi-nar-bundles/nifi-scripting-bundle/nifi-scripting-processors/src/test/java/org/apache/nifi/processors/script/TestScriptedTransformRecord.java
 
b/nifi-nar-bundles/nifi-scripting-bundle/nifi-scripting-processors/src/test/java/org/apache/nifi/processors/script/TestScriptedTransformRecord.java
index 6f6e522cd9..82e9751f2a 100644
--- 
a/nifi-nar-bundles/nifi-scripting-bundle/nifi-scripting-processors/src/test/java/org/apache/nifi/processors/script/TestScriptedTransformRecord.java
+++ 
b/nifi-nar-bundles/nifi-scripting-bundle/nifi-scripting-processors/src/test/java/org/apache/nifi/processors/script/TestScriptedTransformRecord.java
@@ -33,6 +33,7 @@ import org.apache.nifi.util.TestRunners;
 import org.junit.jupiter.api.Test;
 
 import java.util.ArrayList;
+import java.util.Arrays;
 import java.util.Collections;
 import java.util.HashMap;
 import java.util.List;
@@ -96,16 +97,17 @@ public class TestScriptedTransformRecord {
 }
 
 @Test
-public void testAddFieldToSchema() throws InitializationException {
-final RecordSchema schema = createSimpleNumberSchema();
-setup(schema);
+public void testAddFieldToSchemaWhenWriterSchemaIsDefined() throws 
InitializationException {
+final RecordSchema readSchema = createSimpleNumberSchema();
+final RecordSchema writeSchema = createSchemaWithAddedValue();
+setupWithDifferentSchemas(readSchema, writeSchema);
 
 testRunner.removeProperty(ScriptingComponentUtils.SCRIPT_BODY);
 testRunner.setProperty(ScriptingComponentUtils.SCRIPT_FILE, 
"src/test/resources/groovy/AddNewField.groovy");
 
-recordReader.addRecord(new MapRecord(schema, new 
HashMap<>(Collections.singletonMap("num", 1;
-recordReader.addRecord(new MapRecord(schema, new 
HashMap<>(Collections.singletonMap("num", 2;
-recordReader.addRecord(new MapRecord(schema, new 
HashMap<>(Collections.singletonMap("num", 3;
+recordReader.addRecord(new MapRecord(readSchema, new 
HashMap<>(Collections.singletonMap("num", 1;
+recordReader.addRecord(new MapRecord(readSchema, new 
HashMap<>(Collections.singletonMap("num", 2;
+recordReader.addRecord(new MapRecord(readSchema, new 
HashMap<>(Collections.singletonMap("num", 3;
 
 testRunner.enqueue(new byte[0]);
 
@@ -127,7 +129,6 @@ public class TestScriptedTransformRecord {
 written.forEach(record -> assertEquals(88, 
record.getAsInt

[nifi] branch support/nifi-1.x updated (9bc05c098c -> 01e72d6b51)

2023-05-03 Thread mthomsen
This is an automated email from the ASF dual-hosted git repository.

mthomsen pushed a change to branch support/nifi-1.x
in repository https://gitbox.apache.org/repos/asf/nifi.git


from 9bc05c098c NIFI-10067: enable use of script when updating documents in 
Elasticsearch via PutElasticsearchJson or PutElasticsearchRecord NIFI-3262: 
enable use of dynamic_templates in Elasticsearch _bulk operations
 new 7570f1c783 NIFI-11522 Upgrade cassandra.sdk.version to 3.11.3
 new 01e72d6b51 NIFI-11523 Refining schema handling for 
ScriptedTransfromRecord

The 2 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 nifi-nar-bundles/nifi-cassandra-bundle/pom.xml |  2 +-
 .../processors/script/ScriptedTransformRecord.java |  5 ++--
 .../script/TestScriptedTransformRecord.java| 30 +++---
 3 files changed, 24 insertions(+), 13 deletions(-)



[nifi] 02/02: NIFI-11523 Refining schema handling for ScriptedTransfromRecord

2023-05-03 Thread mthomsen
This is an automated email from the ASF dual-hosted git repository.

mthomsen pushed a commit to branch support/nifi-1.x
in repository https://gitbox.apache.org/repos/asf/nifi.git

commit 01e72d6b51485f0ac6304448e4dee14b717e0671
Author: Bence Simon 
AuthorDate: Wed May 3 14:12:59 2023 +0200

NIFI-11523 Refining schema handling for ScriptedTransfromRecord

This closes #7226

Signed-off-by: Mike Thomsen 
---
 .../processors/script/ScriptedTransformRecord.java |  5 ++--
 .../script/TestScriptedTransformRecord.java| 30 +++---
 2 files changed, 23 insertions(+), 12 deletions(-)

diff --git 
a/nifi-nar-bundles/nifi-scripting-bundle/nifi-scripting-processors/src/main/java/org/apache/nifi/processors/script/ScriptedTransformRecord.java
 
b/nifi-nar-bundles/nifi-scripting-bundle/nifi-scripting-processors/src/main/java/org/apache/nifi/processors/script/ScriptedTransformRecord.java
index 2a9637ad63..b67431cd6e 100644
--- 
a/nifi-nar-bundles/nifi-scripting-bundle/nifi-scripting-processors/src/main/java/org/apache/nifi/processors/script/ScriptedTransformRecord.java
+++ 
b/nifi-nar-bundles/nifi-scripting-bundle/nifi-scripting-processors/src/main/java/org/apache/nifi/processors/script/ScriptedTransformRecord.java
@@ -137,6 +137,7 @@ public class ScriptedTransformRecord extends 
ScriptedRecordProcessor {
 
 final RecordReaderFactory readerFactory = 
context.getProperty(RECORD_READER).asControllerService(RecordReaderFactory.class);
 final RecordSetWriterFactory writerFactory = 
context.getProperty(RECORD_WRITER).asControllerService(RecordSetWriterFactory.class);
+final Map originalAttributes = 
flowFile.getAttributes();
 
 final RecordCounts counts = new RecordCounts();
 try {
@@ -165,10 +166,8 @@ public class ScriptedTransformRecord extends 
ScriptedRecordProcessor {
 record.incorporateInactiveFields();
 
 if (writer == null) {
-final RecordSchema writerSchema;
-writerSchema = record.getSchema();
-
 try {
+final RecordSchema writerSchema = 
writerFactory.getSchema(originalAttributes, record.getSchema());
 writer = 
writerFactory.createWriter(getLogger(), writerSchema, out, flowFile);
 } catch (SchemaNotFoundException e) {
 throw new IOException(e);
diff --git 
a/nifi-nar-bundles/nifi-scripting-bundle/nifi-scripting-processors/src/test/java/org/apache/nifi/processors/script/TestScriptedTransformRecord.java
 
b/nifi-nar-bundles/nifi-scripting-bundle/nifi-scripting-processors/src/test/java/org/apache/nifi/processors/script/TestScriptedTransformRecord.java
index 6f6e522cd9..82e9751f2a 100644
--- 
a/nifi-nar-bundles/nifi-scripting-bundle/nifi-scripting-processors/src/test/java/org/apache/nifi/processors/script/TestScriptedTransformRecord.java
+++ 
b/nifi-nar-bundles/nifi-scripting-bundle/nifi-scripting-processors/src/test/java/org/apache/nifi/processors/script/TestScriptedTransformRecord.java
@@ -33,6 +33,7 @@ import org.apache.nifi.util.TestRunners;
 import org.junit.jupiter.api.Test;
 
 import java.util.ArrayList;
+import java.util.Arrays;
 import java.util.Collections;
 import java.util.HashMap;
 import java.util.List;
@@ -96,16 +97,17 @@ public class TestScriptedTransformRecord {
 }
 
 @Test
-public void testAddFieldToSchema() throws InitializationException {
-final RecordSchema schema = createSimpleNumberSchema();
-setup(schema);
+public void testAddFieldToSchemaWhenWriterSchemaIsDefined() throws 
InitializationException {
+final RecordSchema readSchema = createSimpleNumberSchema();
+final RecordSchema writeSchema = createSchemaWithAddedValue();
+setupWithDifferentSchemas(readSchema, writeSchema);
 
 testRunner.removeProperty(ScriptingComponentUtils.SCRIPT_BODY);
 testRunner.setProperty(ScriptingComponentUtils.SCRIPT_FILE, 
"src/test/resources/groovy/AddNewField.groovy");
 
-recordReader.addRecord(new MapRecord(schema, new 
HashMap<>(Collections.singletonMap("num", 1;
-recordReader.addRecord(new MapRecord(schema, new 
HashMap<>(Collections.singletonMap("num", 2;
-recordReader.addRecord(new MapRecord(schema, new 
HashMap<>(Collections.singletonMap("num", 3;
+recordReader.addRecord(new MapRecord(readSchema, new 
HashMap<>(Collections.singletonMap("num", 1;
+recordReader.addRecord(new MapRecord(readSchema, new 
HashMap<>(Collections.singletonMap("num", 2;
+recordReader.addRecord(new MapRecord(readSchema, new 
HashMap<>(Collections.singletonMap("num", 3;
 
 testRunner.enqueue(new byte[0]);
 
@@ -127,7 +129,6 @@ public class TestScriptedTransformRecord {
 written.forEach(record -> assertEquals(88, 
rec

[nifi] 01/02: NIFI-11522 Upgrade cassandra.sdk.version to 3.11.3

2023-05-03 Thread mthomsen
This is an automated email from the ASF dual-hosted git repository.

mthomsen pushed a commit to branch support/nifi-1.x
in repository https://gitbox.apache.org/repos/asf/nifi.git

commit 7570f1c78345aeb9898e7e7205df0f7319271e5a
Author: mr1716 
AuthorDate: Wed May 3 08:04:31 2023 -0400

NIFI-11522 Upgrade cassandra.sdk.version to 3.11.3

This closes #7225

Signed-off-by: Mike Thomsen 
---
 nifi-nar-bundles/nifi-cassandra-bundle/pom.xml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/nifi-nar-bundles/nifi-cassandra-bundle/pom.xml 
b/nifi-nar-bundles/nifi-cassandra-bundle/pom.xml
index b46ef8fdff..bba986b35d 100644
--- a/nifi-nar-bundles/nifi-cassandra-bundle/pom.xml
+++ b/nifi-nar-bundles/nifi-cassandra-bundle/pom.xml
@@ -23,7 +23,7 @@
 
 
 
-3.10.2
+3.11.3
 19.0
 
 



[nifi-fds] branch dependabot/npm_and_yarn/engine.io-and-socket.io-6.4.2 created (now 79be8c147)

2023-05-03 Thread github-bot
This is an automated email from the ASF dual-hosted git repository.

github-bot pushed a change to branch 
dependabot/npm_and_yarn/engine.io-and-socket.io-6.4.2
in repository https://gitbox.apache.org/repos/asf/nifi-fds.git


  at 79be8c147 Bump engine.io and socket.io

No new revisions were added by this update.



[nifi] branch main updated: NIFI-11230 Added Runtime Configuration validation to nifi-bootstrap

2023-05-03 Thread exceptionfactory
This is an automated email from the ASF dual-hosted git repository.

exceptionfactory pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/nifi.git


The following commit(s) were added to refs/heads/main by this push:
 new 436fd91a25 NIFI-11230 Added Runtime Configuration validation to 
nifi-bootstrap
436fd91a25 is described below

commit 436fd91a258320c0acf644d16c0f0fa7e16776bb
Author: Emilio Setiadarma 
AuthorDate: Sun Apr 9 20:17:08 2023 -0700

NIFI-11230 Added Runtime Configuration validation to nifi-bootstrap

This closes #7196

Co-authored-by: David Handermann 
Signed-off-by: David Handermann 
---
 .../java/org/apache/nifi/bootstrap/RunNiFi.java|   6 +
 .../process/AbstractFileBasedRuntimeValidator.java | 106 +++
 .../bootstrap/process/AvailableLocalPorts.java |  62 +++
 .../apache/nifi/bootstrap/process/FileHandles.java |  70 +++
 .../nifi/bootstrap/process/ForkedProcesses.java|  68 +++
 .../nifi/bootstrap/process/RuntimeValidator.java   |  28 +++
 .../process/RuntimeValidatorExecutor.java  |  69 +++
 .../bootstrap/process/RuntimeValidatorResult.java  |  77 
 .../bootstrap/process/SocketTimedWaitDuration.java |  82 +
 .../apache/nifi/bootstrap/process/Swappiness.java  |  60 ++
 .../process/RuntimeValidatorExecutorTest.java  | 201 +
 nifi-bootstrap/src/test/resources/limits   |  31 
 .../src/test/resources/limits_not_enough   |  31 
 13 files changed, 891 insertions(+)

diff --git 
a/nifi-bootstrap/src/main/java/org/apache/nifi/bootstrap/RunNiFi.java 
b/nifi-bootstrap/src/main/java/org/apache/nifi/bootstrap/RunNiFi.java
index abea96dcff..637d57e22f 100644
--- a/nifi-bootstrap/src/main/java/org/apache/nifi/bootstrap/RunNiFi.java
+++ b/nifi-bootstrap/src/main/java/org/apache/nifi/bootstrap/RunNiFi.java
@@ -18,6 +18,7 @@ package org.apache.nifi.bootstrap;
 
 import org.apache.commons.lang3.StringUtils;
 import org.apache.nifi.bootstrap.notification.NotificationType;
+import org.apache.nifi.bootstrap.process.RuntimeValidatorExecutor;
 import org.apache.nifi.bootstrap.util.DumpFileValidator;
 import org.apache.nifi.bootstrap.util.SecureNiFiConfigUtil;
 import org.apache.nifi.util.file.FileUtils;
@@ -146,6 +147,7 @@ public class RunNiFi {
 private final Logger defaultLogger = 
LoggerFactory.getLogger(RunNiFi.class);
 
 private final ExecutorService loggingExecutor;
+private final RuntimeValidatorExecutor runtimeValidatorExecutor;
 private volatile Set> loggingFutures = new HashSet<>(2);
 private final NotificationServiceManager serviceManager;
 
@@ -163,6 +165,8 @@ public class RunNiFi {
 });
 
 serviceManager = loadServices();
+
+runtimeValidatorExecutor = new RuntimeValidatorExecutor();
 }
 
 private static void printUsage() {
@@ -1113,6 +1117,8 @@ public class RunNiFi {
 cmdLogger.warn("Failed to delete previous lock file {}; this file 
should be cleaned up manually", prevLockFile);
 }
 
+runtimeValidatorExecutor.execute();
+
 final ProcessBuilder builder = new ProcessBuilder();
 
 if (!bootstrapConfigFile.exists()) {
diff --git 
a/nifi-bootstrap/src/main/java/org/apache/nifi/bootstrap/process/AbstractFileBasedRuntimeValidator.java
 
b/nifi-bootstrap/src/main/java/org/apache/nifi/bootstrap/process/AbstractFileBasedRuntimeValidator.java
new file mode 100644
index 00..de2c123dcf
--- /dev/null
+++ 
b/nifi-bootstrap/src/main/java/org/apache/nifi/bootstrap/process/AbstractFileBasedRuntimeValidator.java
@@ -0,0 +1,106 @@
+/*
+ * 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.nifi.bootstrap.process;
+
+import java.io.File;
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Scanner;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
+
+public abstract class AbstractFileBasedRuntimeValidator implements 
RuntimeValidator {
+private final File configurationFile;
+
+AbstractFileBasedRuntimeValidator(final File configurationFile) {
+this.configurationFile = configurationFile;
+}
+
+@Override
+  

[nifi-minifi-cpp] 02/05: MINIFICPP-2099 Only run tests requiring test processors if they are available

2023-05-03 Thread fgerlits
This is an automated email from the ASF dual-hosted git repository.

fgerlits pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/nifi-minifi-cpp.git

commit 5be21834c1dcd7901f745a758466bd0e3ea5b5a4
Author: Gabor Gyimesi 
AuthorDate: Thu Apr 13 18:16:49 2023 +0200

MINIFICPP-2099 Only run tests requiring test processors if they are 
available

Signed-off-by: Ferenc Gerlits 
This closes #1557
---
 cmake/DockerConfig.cmake | 12 ++--
 docker/DockerVerify.sh   | 16 +++-
 docker/test/integration/environment.py   |  6 +-
 .../test/integration/features/core_functionality.feature |  3 +--
 4 files changed, 27 insertions(+), 10 deletions(-)

diff --git a/cmake/DockerConfig.cmake b/cmake/DockerConfig.cmake
index 7740d2faf..df8ea6431 100644
--- a/cmake/DockerConfig.cmake
+++ b/cmake/DockerConfig.cmake
@@ -127,27 +127,27 @@ if (EXISTS 
${CMAKE_SOURCE_DIR}/docker/test/integration/features)
 
 add_custom_target(
 docker-verify-all
-COMMAND ${CMAKE_SOURCE_DIR}/docker/DockerVerify.sh 
${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR}.${PROJECT_VERSION_PATCH} 
${ALL_BEHAVE_TESTS})
+COMMAND ${CMAKE_SOURCE_DIR}/docker/DockerVerify.sh 
--enable_test_processors ON 
${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR}.${PROJECT_VERSION_PATCH} 
${ALL_BEHAVE_TESTS})
 
 add_custom_target(
 docker-verify
-COMMAND ${CMAKE_SOURCE_DIR}/docker/DockerVerify.sh 
${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR}.${PROJECT_VERSION_PATCH} 
${ENABLED_BEHAVE_TESTS})
+COMMAND ${CMAKE_SOURCE_DIR}/docker/DockerVerify.sh 
--enable_test_processors ${ENABLE_TEST_PROCESSORS} 
${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR}.${PROJECT_VERSION_PATCH} 
${ENABLED_BEHAVE_TESTS})
 
 add_custom_target(
 docker-verify-q1
-COMMAND ${CMAKE_SOURCE_DIR}/docker/DockerVerify.sh 
${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR}.${PROJECT_VERSION_PATCH} 
${ENABLED_BEHAVE_TESTS_FIRST_QUADRANT})
+COMMAND ${CMAKE_SOURCE_DIR}/docker/DockerVerify.sh 
--enable_test_processors ${ENABLE_TEST_PROCESSORS} 
${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR}.${PROJECT_VERSION_PATCH} 
${ENABLED_BEHAVE_TESTS_FIRST_QUADRANT})
 
 add_custom_target(
 docker-verify-q2
-COMMAND ${CMAKE_SOURCE_DIR}/docker/DockerVerify.sh 
${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR}.${PROJECT_VERSION_PATCH} 
${ENABLED_BEHAVE_TESTS_SECOND_QUADRANT})
+COMMAND ${CMAKE_SOURCE_DIR}/docker/DockerVerify.sh 
--enable_test_processors ${ENABLE_TEST_PROCESSORS} 
${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR}.${PROJECT_VERSION_PATCH} 
${ENABLED_BEHAVE_TESTS_SECOND_QUADRANT})
 
 add_custom_target(
 docker-verify-q3
-COMMAND ${CMAKE_SOURCE_DIR}/docker/DockerVerify.sh 
${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR}.${PROJECT_VERSION_PATCH} 
${ENABLED_BEHAVE_TESTS_THIRD_QUADRANT})
+COMMAND ${CMAKE_SOURCE_DIR}/docker/DockerVerify.sh 
--enable_test_processors ${ENABLE_TEST_PROCESSORS} 
${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR}.${PROJECT_VERSION_PATCH} 
${ENABLED_BEHAVE_TESTS_THIRD_QUADRANT})
 
 add_custom_target(
 docker-verify-q4
-COMMAND ${CMAKE_SOURCE_DIR}/docker/DockerVerify.sh 
${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR}.${PROJECT_VERSION_PATCH} 
${ENABLED_BEHAVE_TESTS_LAST_QUADRANT})
+COMMAND ${CMAKE_SOURCE_DIR}/docker/DockerVerify.sh 
--enable_test_processors ${ENABLE_TEST_PROCESSORS} 
${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR}.${PROJECT_VERSION_PATCH} 
${ENABLED_BEHAVE_TESTS_LAST_QUADRANT})
 endif()
 
 include(VerifyPythonCompatibility)
diff --git a/docker/DockerVerify.sh b/docker/DockerVerify.sh
index c1cbd593c..49ea8fd6c 100755
--- a/docker/DockerVerify.sh
+++ b/docker/DockerVerify.sh
@@ -28,12 +28,13 @@ die()
 _positionals=()
 _arg_feature_path=('' )
 _arg_image_tag_prefix=
+_enable_test_processors=OFF
 
 
 print_help()
 {
   printf '%s\n' "Runs the provided behave tests in a containerized environment"
-  printf 'Usage: %s [--image-tag-prefix ] [-h|--help]  
 [] ... [] ...\n' "$0"
+  printf 'Usage: %s [--image-tag-prefix ] [--enable_test_processors 
] [-h|--help]   [] ... 
[] ...\n' "$0"
   printf '\t%s\n' ": the version of minifi"
   printf '\t%s\n' ": feature files to run"
   printf '\t%s\n' "--image-tag-prefix: optional prefix to the docker tag (no 
default)"
@@ -56,6 +57,14 @@ parse_commandline()
   --image-tag-prefix=*)
 _arg_image_tag_prefix="${_key##--image-tag-prefix=}"
 ;;
+  --enable_test_processors)
+test $# -lt 2 && die "Missing value for the optional argument 
'$_key'." 1
+_enable_test_processors="$2"
+shift
+;;
+  --enable_test_processors=*)
+_enable_test_processors="${_key##--enable_test_processors=}"
+;;
   -h|--help)
 print_help
 exit 0
@@ -157,6 +166,11 @@

[nifi-minifi-cpp] 01/05: MINIFICPP-2022 Add valid repository size metrics for all repositories

2023-05-03 Thread fgerlits
This is an automated email from the ASF dual-hosted git repository.

fgerlits pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/nifi-minifi-cpp.git

commit 93ef73a00f8775f0bdcd63554ab10fdabb49652f
Author: Gabor Gyimesi 
AuthorDate: Mon Jan 2 15:08:34 2023 +0100

MINIFICPP-2022 Add valid repository size metrics for all repositories

Signed-off-by: Ferenc Gerlits 
This closes #1490
---
 METRICS.md |  40 ++--
 controller/tests/ControllerTests.cpp   |   4 +-
 .../cluster/checkers/PrometheusChecker.py  |  19 +-
 extensions/coap/tests/CoapIntegrationBase.h|   4 +-
 extensions/http-curl/tests/C2PauseResumeTest.cpp   |   3 +-
 .../tests/PrometheusMetricsPublisherTest.cpp   |   9 +-
 .../rocksdb-repos/DatabaseContentRepository.cpp|  19 ++
 .../rocksdb-repos/DatabaseContentRepository.h  |   3 +
 extensions/rocksdb-repos/FlowFileRepository.cpp|  73 +--
 extensions/rocksdb-repos/FlowFileRepository.h  |  33 +--
 extensions/rocksdb-repos/ProvenanceRepository.cpp  |  94 +++--
 extensions/rocksdb-repos/ProvenanceRepository.h|  25 +--
 extensions/rocksdb-repos/RocksDbRepository.cpp | 112 +++
 extensions/rocksdb-repos/RocksDbRepository.h   |  63 ++
 extensions/rocksdb-repos/database/OpenRocksDb.cpp  |  13 ++
 extensions/rocksdb-repos/database/OpenRocksDb.h|   3 +
 libminifi/include/core/ContentRepository.h |  12 +-
 libminifi/include/core/Repository.h|  30 +--
 libminifi/include/core/RepositoryFactory.h |   5 +-
 libminifi/include/core/RepositoryMetricsSource.h   |  45 +
 .../include/core/repository/FileSystemRepository.h |  14 ++
 .../core/repository/VolatileContentRepository.h|  18 +-
 .../include/core/repository/VolatileRepository.h   |  16 +-
 .../core/repository/VolatileRepositoryData.h   |  18 ++
 .../include/core/state/MetricsPublisherStore.h |   5 +-
 .../include/core/state/nodes/AgentInformation.h|  73 ---
 .../include/core/state/nodes/RepositoryMetrics.h   |  56 --
 .../include/core/state/nodes/ResponseNodeLoader.h  |   8 +-
 libminifi/include/utils/file/FileUtils.h   |  14 ++
 libminifi/src/core/RepositoryFactory.cpp   |   9 +
 .../src/core/repository/VolatileRepository.cpp |   6 +-
 .../src/core/repository/VolatileRepositoryData.cpp |   1 +
 libminifi/src/core/state/MetricsPublisherStore.cpp |   6 +-
 .../src/core/state/nodes/ResponseNodeLoader.cpp|  26 +--
 libminifi/test/flow-tests/TestControllerWithFlow.h |   4 +-
 libminifi/test/integration/IntegrationBase.h   |   5 +-
 .../rocksdb-tests/DBProvenanceRepositoryTests.cpp  |   2 +-
 libminifi/test/rocksdb-tests/RepoTests.cpp | 221 +
 .../unit/ControllerSocketMetricsPublisherTest.cpp  |   2 +-
 libminifi/test/unit/FileUtilsTests.cpp |  39 
 libminifi/test/unit/MetricsTests.cpp   | 140 ++---
 libminifi/test/unit/ProvenanceTestHelper.h |  51 -
 libminifi/test/unit/ResponseNodeLoaderTests.cpp|   2 +-
 minifi_main/MiNiFiMain.cpp |   3 +-
 44 files changed, 931 insertions(+), 417 deletions(-)

diff --git a/METRICS.md b/METRICS.md
index f6c87dbaf..f0cc52d54 100644
--- a/METRICS.md
+++ b/METRICS.md
@@ -100,17 +100,19 @@ QueueMetrics is a system level metric that reports queue 
metrics for every conne
 
 ### RepositoryMetrics
 
-RepositoryMetrics is a system level metric that reports metrics for the 
registered repositories (by default flowfile and provenance repository)
+RepositoryMetrics is a system level metric that reports metrics for the 
registered repositories (by default flowfile, content, and provenance 
repositories)
 
-| Metric name  | Labels  | Description 
  |
-|--|-|---|
-| is_running   | repository_name | Is the repository running (1 or 0)  
  |
-| is_full  | repository_name | Is the repository full (1 or 0) 
  |
-| repository_size  | repository_name | Current size of the repository  
  |
+| Metric name   | Labels  | Description
 |
+|---|-|-|
+| is_running| repository_name | Is the repository running (1 
or 0)  |
+| is_full   | repository_name | Is the repository full (1 or 
0) |
+| repository_size_bytes | repository_name | Current size of the repository 
 |
+| max_repository_size_bytes | repository_name | Maximum size of the repository 
(0 if unlimited) |
+| repository_entry_count| repository_name | Current number of entries in 
the repository |
 
-| Label| Description   
  

[nifi-minifi-cpp] 05/05: MINIFICPP-2110 Fix default CA path for S3 on CentOS

2023-05-03 Thread fgerlits
This is an automated email from the ASF dual-hosted git repository.

fgerlits pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/nifi-minifi-cpp.git

commit 6e0878bb4447fafff7103a81c16c05f0435d0381
Author: Gabor Gyimesi 
AuthorDate: Tue Apr 25 17:02:50 2023 +0200

MINIFICPP-2110 Fix default CA path for S3 on CentOS

Signed-off-by: Ferenc Gerlits 
This closes #1565
---
 extensions/aws/processors/S3Processor.cpp  |  6 +++
 extensions/coap/tests/CoapC2VerifyHeartbeat.cpp|  2 +-
 extensions/coap/tests/CoapIntegrationBase.h|  2 +-
 extensions/http-curl/client/HTTPClient.cpp | 22 +--
 extensions/http-curl/client/HTTPClient.h   |  1 -
 extensions/http-curl/tests/C2NullConfiguration.cpp |  2 +-
 extensions/http-curl/tests/C2PauseResumeTest.cpp   |  2 +-
 .../http-curl/tests/C2VerifyServeResults.cpp   |  2 +-
 extensions/http-curl/tests/HTTPHandlers.h  |  2 +-
 extensions/http-curl/tests/HTTPIntegrationBase.h   |  2 +-
 extensions/http-curl/tests/VerifyInvokeHTTP.h  |  2 +-
 libminifi/include/utils/HTTPUtils.h| 11 --
 libminifi/src/utils/HTTPUtils.cpp  | 43 ++
 libminifi/test/integration/IntegrationBase.h   |  2 +-
 14 files changed, 68 insertions(+), 33 deletions(-)

diff --git a/extensions/aws/processors/S3Processor.cpp 
b/extensions/aws/processors/S3Processor.cpp
index 695bc9a10..7e8e55579 100644
--- a/extensions/aws/processors/S3Processor.cpp
+++ b/extensions/aws/processors/S3Processor.cpp
@@ -26,6 +26,7 @@
 #include "AWSCredentialsService.h"
 #include "properties/Properties.h"
 #include "utils/StringUtils.h"
+#include "utils/HTTPUtils.h"
 
 namespace org::apache::nifi::minifi::aws::processors {
 
@@ -123,6 +124,11 @@ void S3Processor::onSchedule(const 
std::shared_ptr& contex
   } else {
 throw Exception(PROCESS_SCHEDULE_EXCEPTION, "Communications Timeout 
missing or invalid");
   }
+
+  static const auto default_ca_path = minifi::utils::getDefaultCAPath();
+  if (default_ca_path) {
+client_config_->caFile = default_ca_path->string();
+  }
 }
 
 std::optional S3Processor::getCommonELSupportedProperties(
diff --git a/extensions/coap/tests/CoapC2VerifyHeartbeat.cpp 
b/extensions/coap/tests/CoapC2VerifyHeartbeat.cpp
index 23007e233..aba295de2 100644
--- a/extensions/coap/tests/CoapC2VerifyHeartbeat.cpp
+++ b/extensions/coap/tests/CoapC2VerifyHeartbeat.cpp
@@ -104,7 +104,7 @@ class VerifyCoAPServer : public CoapIntegrationBase {
 std::string scheme;
 std::string path;
 
-parse_http_components(url, port, scheme, path);
+minifi::utils::parse_http_components(url, port, scheme, path);
 uint16_t newport = std::stoi(port) + 2;
 auto new_port_str = std::to_string(newport);
 
diff --git a/extensions/coap/tests/CoapIntegrationBase.h 
b/extensions/coap/tests/CoapIntegrationBase.h
index e7fbc1e65..5ded576e6 100644
--- a/extensions/coap/tests/CoapIntegrationBase.h
+++ b/extensions/coap/tests/CoapIntegrationBase.h
@@ -94,7 +94,7 @@ class CoapIntegrationBase : public IntegrationBase {
 
 void CoapIntegrationBase::setUrl(std::string url, CivetHandler *handler) {
   std::string path;
-  parse_http_components(url, port, scheme, path);
+  minifi::utils::parse_http_components(url, port, scheme, path);
   CivetCallbacks callback{};
   if (url.find("localhost") != std::string::npos) {
 if (server != nullptr) {
diff --git a/extensions/http-curl/client/HTTPClient.cpp 
b/extensions/http-curl/client/HTTPClient.cpp
index 21a1d037e..4d2452269 100644
--- a/extensions/http-curl/client/HTTPClient.cpp
+++ b/extensions/http-curl/client/HTTPClient.cpp
@@ -30,6 +30,7 @@
 #include "utils/RegexUtils.h"
 #include "range/v3/algorithm/all_of.hpp"
 #include "range/v3/action/transform.hpp"
+#include "utils/HTTPUtils.h"
 
 using namespace std::literals::chrono_literals;
 
@@ -418,7 +419,7 @@ void HTTPClient::configure_secure_connection() {
 curl_easy_setopt(http_session_.get(), CURLOPT_CAINFO, nullptr);
 curl_easy_setopt(http_session_.get(), CURLOPT_CAPATH, nullptr);
   } else {
-static const auto default_ca_path = getDefaultCAPath();
+static const auto default_ca_path = utils::getDefaultCAPath();
 
 if (default_ca_path)
   logger_->log_debug("Using CA certificate file \"%s\"", 
default_ca_path->string());
@@ -469,25 +470,6 @@ std::string 
HTTPClient::replaceInvalidCharactersInHttpHeaderFieldName(std::strin
   return field_name;
 }
 
-std::optional HTTPClient::getDefaultCAPath() {
-#ifndef WIN32
-  const std::vector possible_ca_paths = {
-  "/etc/ssl/certs/ca-certificates.crt",
-  "/etc/pki/tls/certs/ca-bundle.crt",
-  "/usr/share/ssl/certs/ca-bundle.crt",
-  "/usr/local/share/certs/ca-root-nss.crt",
-  "/etc/ssl/cert.pem"
-  };
-
-  for (const auto& possible_ca_path : possible_ca_paths) {
-if (std::filesystem::exists(possible_ca_path)) {
-  return possible_ca_path;
-}
-  }
-#endif
-  return std::nullo

[nifi-minifi-cpp] branch main updated (72e1c3516 -> 6e0878bb4)

2023-05-03 Thread fgerlits
This is an automated email from the ASF dual-hosted git repository.

fgerlits pushed a change to branch main
in repository https://gitbox.apache.org/repos/asf/nifi-minifi-cpp.git


from 72e1c3516 MINIFICPP-2103 JNI extension compile fix (libc++)
 new 93ef73a00 MINIFICPP-2022 Add valid repository size metrics for all 
repositories
 new 5be21834c MINIFICPP-2099 Only run tests requiring test processors if 
they are available
 new ba60437db MINIFICPP-2100 Add RockyLinux Dockerfile
 new 0488c5498 MINIFICPP-2108 Update version number to 0.15.0
 new 6e0878bb4 MINIFICPP-2110 Fix default CA path for S3 on CentOS

The 5 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 CMakeLists.txt |   2 +-
 METRICS.md |  40 ++--
 README.md  |   4 +-
 cmake/DockerConfig.cmake   |  27 ++-
 controller/tests/ControllerTests.cpp   |   4 +-
 docker/DockerVerify.sh |  16 +-
 docker/{centos => rockylinux}/Dockerfile   |  27 ++-
 .../cluster/checkers/PrometheusChecker.py  |  19 +-
 docker/test/integration/environment.py |   6 +-
 .../features/core_functionality.feature|   3 +-
 extensions/aws/processors/S3Processor.cpp  |   6 +
 extensions/coap/tests/CoapC2VerifyHeartbeat.cpp|   2 +-
 extensions/coap/tests/CoapIntegrationBase.h|   6 +-
 extensions/http-curl/client/HTTPClient.cpp |  22 +-
 extensions/http-curl/client/HTTPClient.h   |   1 -
 extensions/http-curl/tests/C2NullConfiguration.cpp |   2 +-
 extensions/http-curl/tests/C2PauseResumeTest.cpp   |   5 +-
 .../http-curl/tests/C2VerifyServeResults.cpp   |   2 +-
 extensions/http-curl/tests/HTTPHandlers.h  |   2 +-
 extensions/http-curl/tests/HTTPIntegrationBase.h   |   2 +-
 extensions/http-curl/tests/VerifyInvokeHTTP.h  |   2 +-
 .../tests/PrometheusMetricsPublisherTest.cpp   |   9 +-
 .../rocksdb-repos/DatabaseContentRepository.cpp|  19 ++
 .../rocksdb-repos/DatabaseContentRepository.h  |   3 +
 extensions/rocksdb-repos/FlowFileRepository.cpp|  73 +--
 extensions/rocksdb-repos/FlowFileRepository.h  |  33 +--
 extensions/rocksdb-repos/ProvenanceRepository.cpp  |  94 +++--
 extensions/rocksdb-repos/ProvenanceRepository.h|  25 +--
 extensions/rocksdb-repos/RocksDbRepository.cpp | 112 +++
 extensions/rocksdb-repos/RocksDbRepository.h   |  63 ++
 extensions/rocksdb-repos/database/OpenRocksDb.cpp  |  13 ++
 extensions/rocksdb-repos/database/OpenRocksDb.h|   3 +
 libminifi/CMakeLists.txt   |   2 +-
 libminifi/include/core/ContentRepository.h |  12 +-
 libminifi/include/core/Repository.h|  30 +--
 libminifi/include/core/RepositoryFactory.h |   5 +-
 ...izableComponent.h => RepositoryMetricsSource.h} |  27 +--
 .../include/core/repository/FileSystemRepository.h |  14 ++
 .../core/repository/VolatileContentRepository.h|  18 +-
 .../include/core/repository/VolatileRepository.h   |  16 +-
 .../core/repository/VolatileRepositoryData.h   |  18 ++
 .../include/core/state/MetricsPublisherStore.h |   5 +-
 .../include/core/state/nodes/AgentInformation.h|  73 ---
 .../include/core/state/nodes/RepositoryMetrics.h   |  56 --
 .../include/core/state/nodes/ResponseNodeLoader.h  |   8 +-
 libminifi/include/utils/HTTPUtils.h|  11 +-
 libminifi/include/utils/file/FileUtils.h   |  14 ++
 libminifi/src/core/RepositoryFactory.cpp   |   9 +
 .../src/core/repository/VolatileRepository.cpp |   6 +-
 .../src/core/repository/VolatileRepositoryData.cpp |   1 +
 libminifi/src/core/state/MetricsPublisherStore.cpp |   6 +-
 .../src/core/state/nodes/ResponseNodeLoader.cpp|  26 +--
 .../src/utils/{TestUtils.cpp => HTTPUtils.cpp} |  27 ++-
 libminifi/test/flow-tests/TestControllerWithFlow.h |   4 +-
 libminifi/test/integration/IntegrationBase.h   |   7 +-
 .../rocksdb-tests/DBProvenanceRepositoryTests.cpp  |   2 +-
 libminifi/test/rocksdb-tests/RepoTests.cpp | 221 +
 .../unit/ControllerSocketMetricsPublisherTest.cpp  |   2 +-
 libminifi/test/unit/FileUtilsTests.cpp |  39 
 libminifi/test/unit/MetricsTests.cpp   | 140 ++---
 libminifi/test/unit/ProvenanceTestHelper.h |  51 -
 libminifi/test/unit/ResponseNodeLoaderTests.cpp|   2 +-
 minifi_main/MiNiFiMain.cpp |   3 +-
 63 files changed, 1006 insertions(+), 496 deletions(-)
 copy docker/{centos => rockylinux}/Dockerfile (75%)
 create mode 100644 extensions/rocksdb-repos/RocksDbRepository.cpp
 create mode 100644

[nifi-minifi-cpp] 03/05: MINIFICPP-2100 Add RockyLinux Dockerfile

2023-05-03 Thread fgerlits
This is an automated email from the ASF dual-hosted git repository.

fgerlits pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/nifi-minifi-cpp.git

commit ba60437dbfd1007dd611028da881fe315c365535
Author: Gabor Gyimesi 
AuthorDate: Fri Apr 14 11:23:29 2023 +0200

MINIFICPP-2100 Add RockyLinux Dockerfile

Signed-off-by: Ferenc Gerlits 
This closes #1558
---
 cmake/DockerConfig.cmake | 15 ++
 docker/rockylinux/Dockerfile | 68 
 2 files changed, 83 insertions(+)

diff --git a/cmake/DockerConfig.cmake b/cmake/DockerConfig.cmake
index df8ea6431..8721cdd47 100644
--- a/cmake/DockerConfig.cmake
+++ b/cmake/DockerConfig.cmake
@@ -122,6 +122,21 @@ add_custom_target(
 -c CMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE}
 WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/docker/)
 
+add_custom_target(
+rockylinux
+COMMAND ${CMAKE_SOURCE_DIR}/docker/DockerBuild.sh
+-u 1000
+-g 1000
+-v 
${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR}.${PROJECT_VERSION_PATCH}
+-o ${MINIFI_DOCKER_OPTIONS_STR}
+-l ${CMAKE_BINARY_DIR}
+-d rockylinux
+-c BUILD_NUMBER=${BUILD_NUMBER}
+-c DOCKER_CCACHE_DUMP_LOCATION=${DOCKER_CCACHE_DUMP_LOCATION}
+-c DOCKER_SKIP_TESTS=${DOCKER_SKIP_TESTS}
+-c CMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE}
+WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/docker/)
+
 if (EXISTS ${CMAKE_SOURCE_DIR}/docker/test/integration/features)
 add_subdirectory(${CMAKE_SOURCE_DIR}/docker/test/integration/features)
 
diff --git a/docker/rockylinux/Dockerfile b/docker/rockylinux/Dockerfile
new file mode 100644
index 0..5ab695323
--- /dev/null
+++ b/docker/rockylinux/Dockerfile
@@ -0,0 +1,68 @@
+# 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.
+#
+FROM rockylinux:8
+LABEL maintainer="Apache NiFi "
+
+ARG MINIFI_VERSION
+ARG UID=1000
+ARG GID=1000
+
+# MINIFI_OPTIONS will be passed directly to cmake
+# use it to define cmake options (e.g. -DENABLE_AWS=ON -DENABLE_AZURE=ON)
+ARG MINIFI_OPTIONS=""
+ARG CMAKE_BUILD_TYPE=Release
+ARG DOCKER_SKIP_TESTS=ON
+ARG DOCKER_MAKE_TARGET="all"
+
+ENV MINIFI_BASE_DIR /opt/minifi
+ENV MINIFI_HOME $MINIFI_BASE_DIR/nifi-minifi-cpp-$MINIFI_VERSION
+ENV USER minificpp
+
+RUN mkdir -p $MINIFI_BASE_DIR
+COPY . ${MINIFI_BASE_DIR}
+
+# Install the system dependencies needed for a build
+# gpsd-devel and ccache are in EPEL
+RUN dnf -y install epel-release && dnf -y install sudo git which make 
libarchive ccache ca-certificates cmake && \
+if echo "$MINIFI_OPTIONS" | grep -q "ENABLE_GPS=ON"; then dnf -y install 
gpsd-devel; fi && \
+if echo "$MINIFI_OPTIONS" | grep -q "ENABLE_JNI=ON"; then dnf -y install 
java-1.8.0-openjdk maven; fi && \
+if echo "$MINIFI_OPTIONS" | grep -q "ENABLE_PCAP=ON"; then dnf -y install 
libpcap-devel; fi && \
+if echo "$MINIFI_OPTIONS" | grep -q "ENABLE_USB_CAMERA=ON"; then dnf -y 
install libpng-devel libusbx-devel; fi && \
+if echo "$MINIFI_OPTIONS" | grep -q "ENABLE_OPENCV=ON" || echo 
"$MINIFI_OPTIONS" | grep -q "ENABLE_BUSTACHE=ON"; then dnf -y install 
boost-devel; fi && \
+if echo "$MINIFI_OPTIONS" | grep -q "ENABLE_LUA_SCRIPTING=ON"; then dnf -y 
--enablerepo=powertools install lua-devel; fi && \
+if echo "$MINIFI_OPTIONS" | grep -q "ENABLE_PYTHON_SCRIPTING=ON"; then dnf 
-y install python3-devel; fi && \
+if echo "$MINIFI_OPTIONS" | grep -q "ENABLE_SFTP=ON" && [ 
"${DOCKER_SKIP_TESTS}" == "OFF" ]; then dnf -y install java-1.8.0-openjdk 
maven; fi
+
+RUN cd $MINIFI_BASE_DIR && \
+./bootstrap.sh -t && \
+ln -s /usr/bin/ccache /usr/lib64/ccache/c++
+
+# Setup minificpp user
+RUN groupadd -g ${GID} ${USER} && useradd -g ${GID} ${USER} && \
+chown -R ${USER}:${USER} ${MINIFI_BASE_DIR}
+
+USER ${USER}
+
+# Perform the build
+RUN cd $MINIFI_BASE_DIR && \
+cd build && \
+source /opt/rh/gcc-toolset-12/enable && \
+export PATH=/usr/lib64/ccache${PATH:+:${PATH}} && \
+export CCACHE_DIR=${MINIFI_BASE_DIR}/.ccache && \
+cmake3 -DSTATIC_BUILD= -DSKIP_TESTS=${DOCKER_SKIP_TESTS} ${MINIFI_OPTIONS} 
-DAWS_ENABLE_UNITY_BUILD=OFF -DCMAKE_BUILD_TYPE="${CMAKE_BUILD_TYPE}" .. && \
+make -j "$(nproc)" ${DOCKER_MAKE_TAR

[nifi-minifi-cpp] 04/05: MINIFICPP-2108 Update version number to 0.15.0

2023-05-03 Thread fgerlits
This is an automated email from the ASF dual-hosted git repository.

fgerlits pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/nifi-minifi-cpp.git

commit 0488c5498833a899f2a4a43c6b6e401014235ebd
Author: Gabor Gyimesi 
AuthorDate: Thu Apr 20 15:51:18 2023 +0200

MINIFICPP-2108 Update version number to 0.15.0

Signed-off-by: Ferenc Gerlits 
This closes #1563
---
 CMakeLists.txt   | 2 +-
 README.md| 4 ++--
 libminifi/CMakeLists.txt | 2 +-
 3 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/CMakeLists.txt b/CMakeLists.txt
index 1bc7f382c..ce9589bfa 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -24,7 +24,7 @@ if (CMAKE_VERSION VERSION_GREATER_EQUAL 3.24)
 cmake_policy(SET CMP0135 NEW) # policy to set the timestamps of extracted 
contents to the time of extraction
 endif()
 
-project(nifi-minifi-cpp VERSION 0.14.0)
+project(nifi-minifi-cpp VERSION 0.15.0)
 set(PROJECT_NAME "nifi-minifi-cpp")
 
 # Optional build number for linux distribution targets' tar.gz output
diff --git a/README.md b/README.md
index 33dde804a..ebc3d6713 100644
--- a/README.md
+++ b/README.md
@@ -433,7 +433,7 @@ advanced features.
   CPack: Install projects
   CPack: - Install directory: ~/Development/code/apache/nifi-minifi-cpp
   CPack: Create package
-  CPack: - package: 
~/Development/code/apache/nifi-minifi-cpp/build/nifi-minifi-cpp-0.12.0.tar.gz 
generated.
+  CPack: - package: 
~/Development/code/apache/nifi-minifi-cpp/build/nifi-minifi-cpp-0.15.0.tar.gz 
generated.
   ```
 
 - Create a source assembly located in your build directory with suffix 
-source.tar.gz
@@ -445,7 +445,7 @@ advanced features.
   CPack: Install projects
   CPack: - Install directory: ~/Development/code/apache/nifi-minifi-cpp
   CPack: Create package
-  CPack: - package: 
~/Development/code/apache/nifi-minifi-cpp/build/nifi-minifi-cpp-0.12.0-source.tar.gz
 generated.
+  CPack: - package: 
~/Development/code/apache/nifi-minifi-cpp/build/nifi-minifi-cpp-0.15.0-source.tar.gz
 generated.
   ```
 
 ### Building a docker image
diff --git a/libminifi/CMakeLists.txt b/libminifi/CMakeLists.txt
index 883948c39..31d9c1ce5 100644
--- a/libminifi/CMakeLists.txt
+++ b/libminifi/CMakeLists.txt
@@ -22,7 +22,7 @@ cmake_policy(SET CMP0096 NEW) # policy to preserve the 
leading zeros in PROJECT_
 if (CMAKE_VERSION VERSION_GREATER_EQUAL 3.24)
 cmake_policy(SET CMP0135 NEW) # policy to set the timestamps of extracted 
contents to the time of extraction
 endif()
-project(nifi-libcore-minifi VERSION 0.14.0)
+project(nifi-libcore-minifi VERSION 0.15.0)
 set(PROJECT_NAME "nifi-libcore-minifi")
 
 if (WIN32)