[
https://issues.apache.org/jira/browse/MNG-5661?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Hervé Boutemy updated MNG-5661:
-------------------------------
Comment: was deleted
(was: Build failed in Jenkins: Maven TLP » maven » MNG-6597 #2
See https://builds.apache.org/job/maven-box/job/maven/job/MNG-6597/2/)
> Make MavenProject instances immutable after initial construction
> ----------------------------------------------------------------
>
> Key: MNG-5661
> URL: https://issues.apache.org/jira/browse/MNG-5661
> Project: Maven
> Issue Type: New Feature
> Reporter: Jason van Zyl
> Assignee: Jason van Zyl
> Priority: Major
> Attachments: Maven-Reactor-Dump.png
>
>
> When a MavenProject is initially constructed it is not immutable and
> requires subsequent mutation to be complete in different circumstance. This
> makes the logic in MavenProject complex and makes MavenProject hard to
> understand. We need to move toward being complete and immutable after
> construction.
> This not being the case has a number of consequences two of which are:
> 1) Components are required in MavenProject in order to lazily construct
> certain values. This complicates MavenProject when it simply should be a
> configuration, or data. The logic to construct anything should be moved to
> the ProjectBuilder, take the small hit in performance, and all construction
> should happen up-front.
> 2) The lifecycle needs to be executed in order for a MavenProject instance to
> be fully populated with respect to source directories and project resources.
> This makes it particularly hard for systems like IDEs to integrate without
> resorting to weird tricks to figure out generated source directories without
> executing Maven itself.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)