You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@geode.apache.org by "ASF GitHub Bot (Jira)" <ji...@apache.org> on 2020/12/02 19:20:00 UTC
[jira] [Updated] (GEODE-8747) Collect library dependencies into
single dependency
[ 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)