You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@nifi.apache.org by "David Handermann (Jira)" <ji...@apache.org> on 2023/10/24 03:04:00 UTC
[jira] [Created] (NIFI-12266) Add Standard Shared NAR for Common Dependencies
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)