You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@maven.apache.org by "Yann Dameron (JIRA)" <ji...@apache.org> on 2019/02/13 12:24:00 UTC

[jira] [Updated] (MNG-6575) make Dependency immutable

     [ https://issues.apache.org/jira/browse/MNG-6575?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Yann Dameron updated MNG-6575:
------------------------------
    Attachment: dump-with-wrapper-approach.png

> make Dependency immutable
> -------------------------
>
>                 Key: MNG-6575
>                 URL: https://issues.apache.org/jira/browse/MNG-6575
>             Project: Maven
>          Issue Type: Improvement
>          Components: Dependencies, Inheritance and Interpolation
>    Affects Versions: 3.6.0
>            Reporter: Hervé Boutemy
>            Priority: Major
>         Attachments: dump-with-wrapper-approach.png
>
>
> while working on Maven memory consumption issue MNG-6571, once VersionRange is made immutable, memory used was divided by 2: the next big expected win is to make Dependency immutable, which would probably once again divide memory by 2 because the vast majority of time, dependencies (be it in dependencyManagement or base dependencies) are inherited without any modification
> this will require to change [ModelMerger|https://maven.apache.org/ref/3.6.0/maven-model/apidocs/org/apache/maven/model/merge/ModelMerger.html] 's {{mergeDependency(Dependency target, Dependency source, boolean sourceDominant, Map<Object,Object> context)}} signature, since is not really an immutable friendly signature
> and also make [Dependency code|https://maven.apache.org/ref/3.6.0/maven-model/apidocs/org/apache/maven/model/Dependency.html] immutable (generated by Modello)



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)