All, In a previous thread there was a plan discussed to restructure some of the repositories in order to address several different issues, such as build time, reusability of code, and eventually separating how the framework and extensions are released [1][2].
The overall plan requires many steps to get there, so I'd like to propose starting with a small actionable step - the creation of a new sub-project called NiFi Standard Libraries (formerly referred to as nifi-commons). Project Name: Apache NiFi Standard Libraries Git Repository: nifi-standard-libraries JIRA: NIFILIBS Description: A collection of standard implementations used across the NiFi ecosystem. Candidate Libraries: In general, each library may consist of multiple Maven modules, and should be independent from the rest of the ecosystem, and from other libraries within NiFi Standard Libraries. In addition, each library may make it's own decision about whether it is considered a public facing extension point/API, or an internal library that may be changed at any time. This should be documented in a README at the root of each library, such as nifi-standard-libraries/nifi-xyz/README. An initial library that has been discussed was referred to as 'nifi-security' and would centralize much of the security related code shared by NiFi and NiFi Registry, such as shared security APIs, and implementations for various providers, such as LDAP/Kerberos/etc. A second candidate library would be an optimistic-locking library based on NiFi's revision concept. Currently this has been created inside nifi-registry for now [3], but could be moved as soon as nifi-standard-libraries exists. (This list does not have to be final in order to decide if we are creating NiFi Standard Libraries or not) Integration & Usage: Once NiFi Standard Libraries is created, the community can start creating and/or moving code there and perform releases as necessary. A release will consist of the standard Apache source release, plus artifacts released to Maven central. The community can then decide when it is appropriate to integrate these released libraries into one of our downstream projects. For example, if we create a nifi-security library in nifi-standard-libraries, we can release that whenever we decide, but we may not integrate it into NiFi or NiFi Registry until it makes sense for a given release of those projects. This vote will be open for 48 hours, please vote: [ ] +1 Create NiFi Standard Libraries [ ] +0 no opinion [ ] -1 Do not create NiFi Standard Libraries because... [1] http://apache-nifi.1125220.n5.nabble.com/discuss-Splitting-NiFi-framework-and-extension-repos-and-releases-td27499.html [2] https://cwiki.apache.org/confluence/display/NIFIREG/NiFi+Project+and+Repository+Restructuring [3] https://github.com/apache/nifi-registry/tree/master/nifi-registry-core/nifi-registry-revision