In this article we'll discuss how to customize your MiNiFI C++ builds to accommodate your environment. Extensions within MiNiFI C++ allow you to specify, through CMAKE, options. We'll go through the current set and update this how to as extensions are added.
Current Extensions
Extension Name | Description | CMAKE Option |
---|---|---|
GPS | Enables GPS capture capabilities | -DENABLE_GPS=TRUE |
HTTP-CURL | Enables libcURL builds, thus supporting HTTP operations | -DDISABLE_CURL=TRUE |
ROCKSDB | Enables ROCKSDB to build providing provenance, flowfile, and DBContent repositories. *Note that if disabled, only volatile repositories will be allowed | -DDISABLE_ROCKSDB=TRUE |
KAFKA | Enables KAFKA put record support | -DENABLE_LIBRDKAFKA=TRUE |
LIBARCHIVE | Provides archive processors including MergeContent and CompressContent. | -DDISABLE_LIBARCHIVE=TRUE |
SCRIPTING | Enables Execute script with python and LUA | -DDISABLE_SCRIPTING=TRUE |
PCAP | Enables the CapturePacket processor | -DENABLE_PCAP=TRUE |
USB_CAMERA | Enables USB camera support | -DENABLE_USB_CAMERA=TRUE |
TENSORFLOW | Enables base tensor flow support | -DENABLE_TENSORFLOW=TRUE |
Step-by-step guide
When building you may use the following steps
- Create your CMAKE build directory in your root nifi-minifi-cpp source folder. Traditionally, this will be build.
- Change to the build directory ( cd build ) and type CMAKE .. to enable all extensions. To disable any extension, enter the CMAKE option before the parent dir
- e.g. user $ cmake -DDISABLE_CURL=TRUE -DDISABLE_ROCKSDB=TRUE -DDISABLE_LIBARCHIVE=TRUE ..
- Some extensions require that they be enabled, in this case you must specify them as they are above.
A Note about running
Disabling extensions allows us to minimize code and functionality within a binary. This may make it smaller or eliminate code that is not desired on a specific platform. Note that in doing so you change the profile of your executable. If your configuration identifies a component or processor that does not exist within your binary we will exit with a log statement indicating that it cannot be found.
Enabling all extensions
You may enable all extensions that can run on your platform by using -DENABLE_ALL=true in your command line cmake, in lieu of the options above.