[
https://issues.apache.org/jira/browse/GEODE-8747?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
ASF GitHub Bot updated GEODE-8747:
----------------------------------
Labels: pull-request-available (was: )
> Collect library dependencies into single dependency
> ---------------------------------------------------
>
> Key: GEODE-8747
> URL: https://issues.apache.org/jira/browse/GEODE-8747
> Project: Geode
> Issue Type: New Feature
> Components: build
> Reporter: Udo Kohlmeyer
> Assignee: Patrick Johnson
> Priority: Major
> Labels: pull-request-available
>
> Library dependencies like Spring, Jackson, Spring Security, etc. usually have
> many dependencies. Which if used within a module, require the listing each of
> these dependencies.
> With the addition of ClassLoader Isolation a need arose, where these
> libraries where loaded into a single ClassLoader, instead of being loaded by
> the ClassLoaders of each of the modules that depended on these libraries.
> This feature is to replace the following:
> {code:groovy}
> implementation('org.springframework:spring-core')
> implementation('org.springframework:spring-beans')
> implementation('org.springframework:spring-context')
> implementation('org.springframework:spring-jcl')
> implementation('org.springframework:spring-web')
> implementation('org.springframework.shell:spring-shell')
> {code}
> with a single entry:
> {code:groovy}
> implementation(project(':frameworks:springframework'))
> {code}
> What this new construct allows for is a pattern closer to "using a framework"
> without having to explicitly define all the library dependencies. In this
> approach, we "use" a framework library, rather than knowing all of the
> internal dependencies.
> With this change, the ClassLoader isolation work, will only load each
> dependency once.
> Currently identified dependencies that require to be loaded only once are:
> Spring and Jackson
--
This message was sent by Atlassian Jira
(v8.3.4#803005)