This is an automated email from the ASF dual-hosted git repository.

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


The following commit(s) were added to refs/heads/main by this push:
     new 0e503d6  MINIFICPP-1452 Parameterize Docker image build
0e503d6 is described below

commit 0e503d62f381a00f150ecd630eff27552b898123
Author: Gabor Gyimesi <[email protected]>
AuthorDate: Thu Jan 21 11:48:20 2021 +0100

    MINIFICPP-1452 Parameterize Docker image build
    
    Pass through CMake options to Docker builds
    
    Parameterize Docker base Alpine image
    
    Signed-off-by: Arpad Boda <[email protected]>
    
    This closes #977
---
 .github/workflows/ci.yml |   2 +-
 CMakeLists.txt           |   3 +
 cmake/DockerConfig.cmake |  95 ++++++++++++++++++++++++--
 docker/DockerBuild.sh    | 173 ++++++++++++++++++++++++++++++++++++++++++-----
 docker/Dockerfile        |  46 ++++++++++++-
 5 files changed, 292 insertions(+), 27 deletions(-)

diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index 69e8717..ac4b741 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -270,7 +270,7 @@ jobs:
       - id: checkout
         uses: actions/checkout@v2
       - id: build
-        run: ./bootstrap.sh -e -t && cd build  && cmake -DUSE_SHARED_LIBS= 
-DSTRICT_GSL_CHECKS=AUDIT -DENABLE_JNI=OFF .. && make docker
+        run: ./bootstrap.sh -e -t && cd build  && cmake -DUSE_SHARED_LIBS= 
-DSTRICT_GSL_CHECKS=AUDIT -DENABLE_JNI=OFF -DDISABLE_JEMALLOC=ON 
-DENABLE_AWS=ON -DENABLE_LIBRDKAFKA=ON .. && make docker
       - id: install_deps
         run: sudo apt install -y python3-virtualenv
       - id: test
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 61eec6d..d6f81d3 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -29,6 +29,9 @@ set(PROJECT_VERSION_PATCH 0)
 # Optional build number for linux distribution targets' tar.gz output
 set(BUILD_NUMBER "" CACHE STRING "Build number")
 
+# Base Alpine image to be used in the Docker build instead of the default 
Alpine image
+set(DOCKER_BASE_IMAGE "" CACHE STRING "Docker build Alpine base image")
+
 include(CMakeDependentOption)
 include(CheckIncludeFile)
 include(FeatureSummary)
diff --git a/cmake/DockerConfig.cmake b/cmake/DockerConfig.cmake
index e3fdfd0..8db6c23 100644
--- a/cmake/DockerConfig.cmake
+++ b/cmake/DockerConfig.cmake
@@ -18,38 +18,119 @@
 # Create a custom build target called "docker" that will invoke DockerBuild.sh 
and create the NiFi-MiNiFi-CPP Docker image
 add_custom_target(
     docker
-    COMMAND ${CMAKE_SOURCE_DIR}/docker/DockerBuild.sh 1000 1000 
${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR}.${PROJECT_VERSION_PATCH} 
release ${ENABLE_JNI}
+    COMMAND ${CMAKE_SOURCE_DIR}/docker/DockerBuild.sh
+        -u 1000
+        -g 1000
+        -v 
${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR}.${PROJECT_VERSION_PATCH}
+        -c IMAGE_TYPE=release
+        -c ENABLE_ALL=${ENABLE_ALL}
+        -c ENABLE_PYTHON=${ENABLE_PYTHON}
+        -c ENABLE_OPS=${ENABLE_OPS}
+        -c ENABLE_JNI=${ENABLE_JNI}
+        -c ENABLE_OPENCV=${ENABLE_OPENCV}
+        -c ENABLE_OPC=${ENABLE_OPC}
+        -c ENABLE_GPS=${ENABLE_GPS}
+        -c ENABLE_COAP=${ENABLE_COAP}
+        -c ENABLE_WEL=${ENABLE_WEL}
+        -c ENABLE_SQL=${ENABLE_SQL}
+        -c ENABLE_MQTT=${ENABLE_MQTT}
+        -c ENABLE_PCAP=${ENABLE_PCAP}
+        -c ENABLE_LIBRDKAFKA=${ENABLE_LIBRDKAFKA}
+        -c ENABLE_SENSORS=${ENABLE_SENSORS}
+        -c ENABLE_SQLITE=${ENABLE_SQLITE}
+        -c ENABLE_USB_CAMERA=${ENABLE_USB_CAMERA}
+        -c ENABLE_TENSORFLOW=${ENABLE_TENSORFLOW}
+        -c ENABLE_AWS=${ENABLE_AWS}
+        -c ENABLE_BUSTACHE=${ENABLE_BUSTACHE}
+        -c ENABLE_SFTP=${ENABLE_SFTP}
+        -c ENABLE_OPENWSMAN=${ENABLE_OPENWSMAN}
+        -c DISABLE_CURL=${DISABLE_CURL}
+        -c DISABLE_JEMALLOC=${DISABLE_JEMALLOC}
+        -c DISABLE_CIVET=${DISABLE_CIVET}
+        -c DISABLE_EXPRESSION_LANGUAGE=${DISABLE_EXPRESSION_LANGUAGE}
+        -c DISABLE_ROCKSDB=${DISABLE_ROCKSDB}
+        -c DISABLE_LIBARCHIVE=${DISABLE_LIBARCHIVE}
+        -c DISABLE_LZMA=${DISABLE_LZMA}
+        -c DISABLE_BZIP2=${DISABLE_BZIP2}
+        -c DISABLE_SCRIPTING=${DISABLE_SCRIPTING}
+        -c DISABLE_CONTROLLER=${DISABLE_CONTROLLER}
+        -c DOCKER_BASE_IMAGE=${DOCKER_BASE_IMAGE}
     WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/docker/)
 
 # Create minimal docker image
 add_custom_target(
     docker-minimal
-    COMMAND ${CMAKE_SOURCE_DIR}/docker/DockerBuild.sh 1000 1000 
${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR}.${PROJECT_VERSION_PATCH} 
minimal
+    COMMAND ${CMAKE_SOURCE_DIR}/docker/DockerBuild.sh
+        -u 1000
+        -g 1000
+        -v 
${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR}.${PROJECT_VERSION_PATCH}
+        -i minimal
+        -c DOCKER_BASE_IMAGE=${DOCKER_BASE_IMAGE}
     WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/docker/)
 
 add_custom_target(
     centos
-    COMMAND ${CMAKE_SOURCE_DIR}/docker/DockerBuild.sh 1000 1000 
${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR}.${PROJECT_VERSION_PATCH} 
release ${ENABLE_JNI} ${CMAKE_BINARY_DIR} centos ${BUILD_NUMBER}
+    COMMAND ${CMAKE_SOURCE_DIR}/docker/DockerBuild.sh
+        -u 1000
+        -g 1000
+        -v 
${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR}.${PROJECT_VERSION_PATCH}
+        -i release
+        -c ENABLE_JNI=${ENABLE_JNI}
+        -l ${CMAKE_BINARY_DIR}
+        -d centos
+        -c BUILD_NUMBER=${BUILD_NUMBER}
     WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/docker/)
 
 add_custom_target(
     debian
-    COMMAND ${CMAKE_SOURCE_DIR}/docker/DockerBuild.sh 1000 1000 
${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR}.${PROJECT_VERSION_PATCH} 
release ${ENABLE_JNI} ${CMAKE_BINARY_DIR} debian ${BUILD_NUMBER}
+    COMMAND ${CMAKE_SOURCE_DIR}/docker/DockerBuild.sh
+        -u 1000
+        -g 1000
+        -v 
${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR}.${PROJECT_VERSION_PATCH}
+        -i release
+        -c ENABLE_JNI=${ENABLE_JNI}
+        -l ${CMAKE_BINARY_DIR}
+        -d debian
+        -c BUILD_NUMBER=${BUILD_NUMBER}
     WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/docker/)
 
 add_custom_target(
     fedora
-    COMMAND ${CMAKE_SOURCE_DIR}/docker/DockerBuild.sh 1000 1000 
${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR}.${PROJECT_VERSION_PATCH} 
release ${ENABLE_JNI} ${CMAKE_BINARY_DIR} fedora ${BUILD_NUMBER}
+    COMMAND ${CMAKE_SOURCE_DIR}/docker/DockerBuild.sh
+        -u 1000
+        -g 1000
+        -v 
${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR}.${PROJECT_VERSION_PATCH}
+        -i release
+        -c ENABLE_JNI=${ENABLE_JNI}
+        -l ${CMAKE_BINARY_DIR}
+        -d fedora
+        -c BUILD_NUMBER=${BUILD_NUMBER}
     WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/docker/)
 
 add_custom_target(
     u18
-    COMMAND ${CMAKE_SOURCE_DIR}/docker/DockerBuild.sh 1000 1000 
${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR}.${PROJECT_VERSION_PATCH} 
release ${ENABLE_JNI} ${CMAKE_BINARY_DIR} bionic ${BUILD_NUMBER}
+    COMMAND ${CMAKE_SOURCE_DIR}/docker/DockerBuild.sh
+        -u 1000
+        -g 1000
+        -v 
${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR}.${PROJECT_VERSION_PATCH}
+        -i release
+        -c ENABLE_JNI=${ENABLE_JNI}
+        -l ${CMAKE_BINARY_DIR}
+        -d bionic
+        -c BUILD_NUMBER=${BUILD_NUMBER}
     WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/docker/)
 
 add_custom_target(
     u16
-    COMMAND ${CMAKE_SOURCE_DIR}/docker/DockerBuild.sh 1000 1000 
${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR}.${PROJECT_VERSION_PATCH} 
release ${ENABLE_JNI} ${CMAKE_BINARY_DIR} xenial ${BUILD_NUMBER}
+    COMMAND ${CMAKE_SOURCE_DIR}/docker/DockerBuild.sh
+        -u 1000
+        -g 1000
+        -v 
${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR}.${PROJECT_VERSION_PATCH}
+        -i release
+        -c ENABLE_JNI=${ENABLE_JNI}
+        -l ${CMAKE_BINARY_DIR}
+        -d xenial
+        -c BUILD_NUMBER=${BUILD_NUMBER}
     WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/docker/)
 
 add_custom_target(
diff --git a/docker/DockerBuild.sh b/docker/DockerBuild.sh
index 98bfab4..51814cd 100755
--- a/docker/DockerBuild.sh
+++ b/docker/DockerBuild.sh
@@ -21,14 +21,114 @@
 set -euo pipefail
 
 # Set env vars.
-UID_ARG=$1
-GID_ARG=$2
-MINIFI_VERSION=$3
-IMAGE_TYPE=${4:-release}
-ENABLE_JNI=${5:-}
-DUMP_LOCATION=${6:-}
-DISTRO_NAME=${7:-}
-BUILD_NUMBER=${8:-}
+UID_ARG=${UID_ARG:-1000}
+GID_ARG=${GID_ARG:-1000}
+MINIFI_VERSION=${MINIFI_VERSION:-}
+IMAGE_TYPE=${IMAGE_TYPE:-release}
+DUMP_LOCATION=${DUMP_LOCATION:-}
+DISTRO_NAME=${DISTRO_NAME:-}
+BUILD_NUMBER=${BUILD_NUMBER:-}
+ENABLE_ALL=${ENABLE_ALL:-}
+ENABLE_PYTHON=${ENABLE_PYTHON:-}
+ENABLE_OPS=${ENABLE_OPS:-ON}
+ENABLE_JNI=${ENABLE_JNI:-}
+ENABLE_OPENCV=${ENABLE_OPENCV:-}
+ENABLE_OPC=${ENABLE_OPC:-}
+ENABLE_GPS=${ENABLE_GPS:-}
+ENABLE_COAP=${ENABLE_COAP:-}
+ENABLE_WEL=${ENABLE_WEL:-}
+ENABLE_SQL=${ENABLE_SQL:-}
+ENABLE_MQTT=${ENABLE_MQTT:-}
+ENABLE_PCAP=${ENABLE_PCAP:-}
+ENABLE_LIBRDKAFKA=${ENABLE_LIBRDKAFKA:-}
+ENABLE_SENSORS=${ENABLE_SENSORS:-}
+ENABLE_SQLITE=${ENABLE_SQLITE:-}
+ENABLE_USB_CAMERA=${ENABLE_USB_CAMERA:-}
+ENABLE_TENSORFLOW=${ENABLE_TENSORFLOW:-}
+ENABLE_AWS=${ENABLE_AWS:-}
+ENABLE_BUSTACHE=${ENABLE_BUSTACHE:-}
+ENABLE_SFTP=${ENABLE_SFTP:-}
+ENABLE_OPENWSMAN=${ENABLE_OPENWSMAN:-}
+DISABLE_CURL=${DISABLE_CURL:-}
+DISABLE_JEMALLOC=${DISABLE_JEMALLOC:-ON}
+DISABLE_CIVET=${DISABLE_CIVET:-}
+DISABLE_EXPRESSION_LANGUAGE=${DISABLE_EXPRESSION_LANGUAGE:-}
+DISABLE_ROCKSDB=${DISABLE_ROCKSDB:-}
+DISABLE_LIBARCHIVE=${DISABLE_LIBARCHIVE:-}
+DISABLE_LZMA=${DISABLE_LZMA:-}
+DISABLE_BZIP2=${DISABLE_BZIP2:-}
+DISABLE_SCRIPTING=${DISABLE_SCRIPTING:-}
+DISABLE_CONTROLLER=${DISABLE_CONTROLLER:-}
+DOCKER_BASE_IMAGE=${DOCKER_BASE_IMAGE:-}
+
+function usage {
+  echo "Usage: ./DockerBuild.sh -v <MINIFI_VERSION> [additional options]"
+  echo "Options:"
+  echo "-v, --minifi-version  Minifi version number to be used (required)"
+  echo "-i, --image-type      Can be release or minimal (default: release)"
+  echo "-u, --uid             User id to be used in the Docker image (default: 
1000)"
+  echo "-g, --gid             Group id to be used in the Docker image 
(default: 1000)"
+  echo "-d, --distro-name     Linux distribution build to be used for 
alternative builds (xenial|bionic|fedora|debian|centos)"
+  echo "-l  --dump-location   Path where to the output dump to be put"
+  echo "-c  --cmake-param     CMake parameter passed in PARAM=value format"
+  echo "-h  --help            Show this help message"
+  exit 1
+}
+
+while [[ $# -gt 0 ]]; do
+  key="$1"
+  case $key in
+    -u|--uid)
+      UID_ARG="$2"
+      shift
+      shift
+      ;;
+    -g|--gid)
+      GID_ARG="$2"
+      shift
+      shift
+    ;;
+    -v|--minifi-version)
+    MINIFI_VERSION="$2"
+    shift
+    shift
+    ;;
+    -i|--image-type)
+      IMAGE_TYPE="$2"
+      shift
+      shift
+      ;;
+    -d|--distro-name)
+      DISTRO_NAME="$2"
+      shift
+      shift
+      ;;
+    -l|--dump-location)
+      DUMP_LOCATION="$2"
+      shift
+      shift
+      ;;
+    -c|--cmake-param)
+      IFS='=' read -ra ARR <<< "$2"
+      if [[ ${#ARR[@]} -gt 1 ]]; then
+        declare "${ARR[0]}"="${ARR[1]}"
+      fi
+      shift
+      shift
+      ;;
+    -h|--help)
+      usage
+      ;;
+    *)
+      echo "Unknown argument passed: $1"
+      usage
+      ;;
+  esac
+done
+
+if [ -z "${MINIFI_VERSION}" ]; then
+  usage
+fi
 
 echo "NiFi-MiNiFi-CPP Version: ${MINIFI_VERSION}"
 
@@ -57,14 +157,55 @@ if [ -n "${BUILD_NUMBER}" ]; then
   TARGZ_TAG="${TARGZ_TAG}-${BUILD_NUMBER}"
 fi
 
-DOCKER_COMMAND="docker build --build-arg UID=${UID_ARG} \
-                             --build-arg GID=${GID_ARG} \
-                             --build-arg MINIFI_VERSION=${MINIFI_VERSION} \
-                             --build-arg ENABLE_JNI=${ENABLE_JNI} \
-                             --target ${IMAGE_TYPE} \
-                             -f ${DOCKERFILE} \
-                             -t \
-                             apacheminificpp:${TAG} .."
+DOCKER_COMMAND="docker build "
+BUILD_ARGS="--build-arg UID=${UID_ARG} \
+            --build-arg GID=${GID_ARG} \
+            --build-arg MINIFI_VERSION=${MINIFI_VERSION} \
+            --build-arg IMAGE_TYPE=${IMAGE_TYPE} \
+            --build-arg DUMP_LOCATION=${DUMP_LOCATION} \
+            --build-arg DISTRO_NAME=${DISTRO_NAME} \
+            --build-arg ENABLE_ALL=${ENABLE_ALL} \
+            --build-arg ENABLE_PYTHON=${ENABLE_PYTHON} \
+            --build-arg ENABLE_OPS=${ENABLE_OPS} \
+            --build-arg ENABLE_JNI=${ENABLE_JNI} \
+            --build-arg ENABLE_OPENCV=${ENABLE_OPENCV} \
+            --build-arg ENABLE_OPC=${ENABLE_OPC} \
+            --build-arg ENABLE_GPS=${ENABLE_GPS} \
+            --build-arg ENABLE_COAP=${ENABLE_COAP} \
+            --build-arg ENABLE_WEL=${ENABLE_WEL} \
+            --build-arg ENABLE_SQL=${ENABLE_SQL} \
+            --build-arg ENABLE_MQTT=${ENABLE_MQTT} \
+            --build-arg ENABLE_PCAP=${ENABLE_PCAP} \
+            --build-arg ENABLE_LIBRDKAFKA=${ENABLE_LIBRDKAFKA} \
+            --build-arg ENABLE_SENSORS=${ENABLE_SENSORS} \
+            --build-arg ENABLE_SQLITE=${ENABLE_SQLITE} \
+            --build-arg ENABLE_USB_CAMERA=${ENABLE_USB_CAMERA} \
+            --build-arg ENABLE_TENSORFLOW=${ENABLE_TENSORFLOW} \
+            --build-arg ENABLE_AWS=${ENABLE_AWS} \
+            --build-arg ENABLE_BUSTACHE=${ENABLE_BUSTACHE} \
+            --build-arg ENABLE_SFTP=${ENABLE_SFTP} \
+            --build-arg ENABLE_OPENWSMAN=${ENABLE_OPENWSMAN} \
+            --build-arg DISABLE_CURL=${DISABLE_CURL} \
+            --build-arg DISABLE_JEMALLOC=${DISABLE_JEMALLOC} \
+            --build-arg DISABLE_CIVET=${DISABLE_CIVET} \
+            --build-arg 
DISABLE_EXPRESSION_LANGUAGE=${DISABLE_EXPRESSION_LANGUAGE} \
+            --build-arg DISABLE_ROCKSDB=${DISABLE_ROCKSDB} \
+            --build-arg DISABLE_LIBARCHIVE=${DISABLE_LIBARCHIVE} \
+            --build-arg DISABLE_LZMA=${DISABLE_LZMA} \
+            --build-arg DISABLE_BZIP2=${DISABLE_BZIP2} \
+            --build-arg DISABLE_SCRIPTING=${DISABLE_SCRIPTING} \
+            --build-arg DISABLE_CONTROLLER=${DISABLE_CONTROLLER} "
+
+if [ -n "${DOCKER_BASE_IMAGE}" ]; then
+  BUILD_ARGS="${BUILD_ARGS} --build-arg BASE_ALPINE_IMAGE=${DOCKER_BASE_IMAGE}"
+fi
+
+DOCKER_COMMAND="${DOCKER_COMMAND} ${BUILD_ARGS} \
+                --target ${IMAGE_TYPE} \
+                -f ${DOCKERFILE} \
+                -t \
+                apacheminificpp:${TAG} .."
+
 echo "Docker Command: '$DOCKER_COMMAND'"
 DOCKER_BUILDKIT=1 ${DOCKER_COMMAND}
 
diff --git a/docker/Dockerfile b/docker/Dockerfile
index 746b56c..347745a 100644
--- a/docker/Dockerfile
+++ b/docker/Dockerfile
@@ -17,7 +17,8 @@
 #
 
 # First stage: the common build environment dependencies
-FROM alpine:3.12 AS build_deps
+ARG BASE_ALPINE_IMAGE="alpine:3.12"
+FROM ${BASE_ALPINE_IMAGE} AS build_deps
 LABEL maintainer="Apache NiFi <[email protected]>"
 
 ARG MINIFI_VERSION
@@ -83,18 +84,57 @@ RUN cd ${MINIFI_BASE_DIR} \
 
 # Build stage of normal image
 FROM build_deps AS build_release
+ARG ENABLE_ALL
+ARG ENABLE_PYTHON
+ARG ENABLE_OPS
 ARG ENABLE_JNI
+ARG ENABLE_OPENCV
+ARG ENABLE_OPC
+ARG ENABLE_GPS
+ARG ENABLE_COAP
+ARG ENABLE_WEL
+ARG ENABLE_SQL
+ARG ENABLE_MQTT
+ARG ENABLE_PCAP
+ARG ENABLE_LIBRDKAFKA
+ARG ENABLE_SENSORS
+ARG ENABLE_SQLITE
+ARG ENABLE_USB_CAMERA
+ARG ENABLE_TENSORFLOW
+ARG ENABLE_AWS
+ARG ENABLE_BUSTACHE
+ARG ENABLE_SFTP
+ARG ENABLE_OPENWSMAN
+ARG DISABLE_CURL
+ARG DISABLE_JEMALLOC
+ARG DISABLE_CIVET
+ARG DISABLE_EXPRESSION_LANGUAGE
+ARG DISABLE_ROCKSDB
+ARG DISABLE_LIBARCHIVE
+ARG DISABLE_LZMA
+ARG DISABLE_BZIP2
+ARG DISABLE_SCRIPTING
+ARG DISABLE_CONTROLLER
 RUN cd ${MINIFI_BASE_DIR} \
   && mkdir build \
   && cd build \
-  && cmake -DDISABLE_JEMALLOC=ON -DENABLE_AWS=ON -DSTATIC_BUILD= 
-DSKIP_TESTS=true -DENABLE_JNI=${ENABLE_JNI} -DENABLE_LIBRDKAFKA=ON .. \
+  && cmake -DSTATIC_BUILD= -DSKIP_TESTS=true -DENABLE_ALL=${ENABLE_ALL} 
-DENABLE_PYTHON=${ENABLE_PYTHON} -DENABLE_OPS=${ENABLE_OPS} \
+    -DENABLE_JNI=${ENABLE_JNI} -DENABLE_OPENCV=${ENABLE_OPENCV} 
-DENABLE_OPC=${ENABLE_OPC} -DENABLE_GPS=${ENABLE_GPS} 
-DENABLE_COAP=${ENABLE_COAP} \
+    -DENABLE_WEL=${ENABLE_WEL} -DENABLE_SQL=${ENABLE_SQL} 
-DENABLE_MQTT=${ENABLE_MQTT} -DENABLE_PCAP=${ENABLE_PCAP} \
+    -DENABLE_LIBRDKAFKA=${ENABLE_LIBRDKAFKA} 
-DENABLE_SENSORS=${ENABLE_SENSORS} -DENABLE_SQLITE=${ENABLE_SQLITE} \
+    -DENABLE_USB_CAMERA=${ENABLE_USB_CAMERA} 
-DENABLE_TENSORFLOW=${ENABLE_TENSORFLOW} -DENABLE_AWS=${ENABLE_AWS} \
+    -DENABLE_BUSTACHE=${ENABLE_BUSTACHE} -DENABLE_SFTP=${ENABLE_SFTP} 
-DENABLE_OPENWSMAN=${ENABLE_OPENWSMAN} \
+    -DDISABLE_CURL=${DISABLE_CURL} -DDISABLE_JEMALLOC=${DISABLE_JEMALLOC} 
-DDISABLE_CIVET=${DISABLE_CIVET} \
+    -DDISABLE_EXPRESSION_LANGUAGE=${DISABLE_EXPRESSION_LANGUAGE} 
-DDISABLE_ROCKSDB=${DISABLE_ROCKSDB} \
+    -DDISABLE_LIBARCHIVE=${DISABLE_LIBARCHIVE} -DDISABLE_LZMA=${DISABLE_LZMA} 
-DDISABLE_BZIP2=${DISABLE_BZIP2} \
+    -DDISABLE_SCRIPTING=${DISABLE_SCRIPTING} 
-DDISABLE_CONTROLLER=${DISABLE_CONTROLLER} .. \
   && make -j$(nproc) package \
   && tar -xzvf 
${MINIFI_BASE_DIR}/build/nifi-minifi-cpp-${MINIFI_VERSION}-bin.tar.gz -C 
${MINIFI_BASE_DIR}
 
 
 # Common runtime image dependencies
 # Edge required for rocksdb
-FROM alpine:3.12 AS common_runtime_deps
+FROM ${BASE_ALPINE_IMAGE} AS common_runtime_deps
 
 ARG UID=1000
 ARG GID=1000

Reply via email to