David Handermann created NIFI-12266:
---------------------------------------

             Summary: Add Standard Shared NAR for Common Dependencies
                 Key: NIFI-12266
                 URL: https://issues.apache.org/jira/browse/NIFI-12266
             Project: Apache NiFi
          Issue Type: Improvement
          Components: Extensions
            Reporter: David Handermann
            Assignee: David Handermann
             Fix For: 2.latest


Numerous extension components share a small number of similar libraries. With 
selective version management in the root Maven configuration, these common 
dependencies have the same version when bundled into various NAR files. The 
current packaging structure has most extension NAR files depending on 
{{{}nifi-standard-services-api-nar{}}}, which is scoped to common service API 
modules that do not have additional dependencies.

Introducing a new intermediate NAR to package common versions of several shared 
dependencies would provide a notable size reduction for binary builds. A new 
standard shared NAR should contain a limited set a dependencies that are 
broadly applicable to extension components, which will allow these components 
to set shared dependencies with the {{provided}} scope, avoiding direct 
inclusion in the extension NAR.

The standard shared NAR should depend on 
{{{}nifi-standard-services-api-nar{}}}, allowing components to opt out of the 
standard shared dependency version if absolutely necessary.

The following libraries are good candidates for inclusion in a standard shared 
NAR based on the number of references and the sizes of the dependencies:
 * Apache Commons libraries such as commons-lang3 and commons-io
 * Jackson JSON
 * Bouncy Castle
 * Netty 4
 * OkHttp with Kotlin



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to