[
https://issues.apache.org/jira/browse/NIFI-12266?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
David Handermann updated NIFI-12266:
------------------------------------
Status: Patch Available (was: Open)
> 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
> Priority: Major
> Fix For: 2.latest
>
> Time Spent: 10m
> Remaining Estimate: 0h
>
> 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)