[ https://issues.apache.org/jira/browse/MNG-5661?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15773709#comment-15773709 ]
Hudson commented on MNG-5661: ----------------------------- SUCCESS: Integrated in Jenkins build maven-3.x #1474 (See [https://builds.apache.org/job/maven-3.x/1474/]) [MNG-5661] Make MavenProject instances immutable after initial (schulte: rev c059166753f889736f11da77f93888d67f075619) * (edit) maven-core/src/main/java/org/apache/maven/project/DefaultProjectBuilder.java > 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 > > 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 (v6.3.4#6332)