Folks, We need to come to a conclusion on what we'll do about the build process specifically as it relates to the source structure - if anything. The longer we wait the more disruptive and confusing it will be especially for potential new contributors.
Background / Components / Points of tension: - The 'Nifi API': This is a very small library which defines the interfaces and some very basic abstract implementations or highly common functions. The API is critical to building extensions and critical to the function of the core application. Frequency of change: Should be rare - The core application: This is the implementation of the data flow engine, the web services, class loading, Frequency of change: Routine. - Utilities: Things used by both the core and the extensions Frequency of change: Routine - Extensions: Processors, Prioritizers, Custom UIs, Reporting Tasks, Controller tasks, etc... . These are the things we want folks to be able to build - the intentional points of extension. Frequency of change: Constant As I think through these different concerns and how maven works it isn't clear to me what a better model would be. Having not yet gone through the challenges of an official apache release I don''t appreciate yet what pain points that brings either. Our current model requires someone to know a lot of ordering for the build. But if we put a CI server behind it that would be less of an issue except for those few folks that want to build the whole thing by hand. For that perhaps the build-order is sufficient. So - we leaving it as is or is there a good proposal? Thanks Joe
