[
https://issues.apache.org/jira/browse/MNG-6575?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16751577#comment-16751577
]
Robert Scholte commented on MNG-6575:
-------------------------------------
Is this about immutable or unique+cached? A dependency instance is quite
complex, has a lot of elements, so uniqueness might be hard. On the other hand,
an Artifact should be easier to cache, particularly from Artifact Resolver. The
interface
[org.apache.maven.artifact.Artifact|https://maven.apache.org/ref/3.6.0/maven-artifact/apidocs/org/apache/maven/artifact/Artifact.html]
has a lot of methods, but most of them should be marked as deprecated in you
take a look at the [revisited
definitions|https://maven.apache.org/shared/maven-artifact-transfer/comparison.html]
> 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
>
> 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)