Recent commits have allowed us to create extensions with code and dependencies that can be included conditionally. This will allow MiNiFi C++ consumers to select the features that they desire, help us build a cohesive API within libminifi, and support patches/upgrades with shared objects. The next first step is to move functional components into this paradigm.
The first component to move will be processors. There has always been a small selection of base processors within MiNiFi. Moving these to a separate extension will allow consumers to include processors conditionally. The design of this extension will be specialized to allow processors/or controller services to be selected in groups or individually. Further, these selected components will be built within the executable and as a shared object that can be versioned as a deliverable to MiNiFi agents. This will be integral to the update framework that will be discussed shortly.
...