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)