maven-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Hudson (JIRA)" <>
Subject [jira] [Commented] (MNG-5661) Make MavenProject instances immutable after initial construction
Date Sat, 23 Feb 2019 11:58:00 GMT


Hudson commented on MNG-5661:

Build failed in Jenkins: Maven TLP » maven » MNG-6597 #2


> Make MavenProject instances immutable after initial construction
> ----------------------------------------------------------------
>                 Key: MNG-5661
>                 URL:
>             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

View raw message