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

Guillaume Nodet updated MNG-8120:
---------------------------------
    Description: 
The project builder uses multiple caches in the 
{{DefaultProjectBuilder.BuildSession}}:
* the {{modelPool}}
* the {{parentCache}}
* the {{transformerContextBuilder}} 
* the {{modelCache}}

The responsabilities are not clear, and the project builder needs to pass 
objects to the model builder without a clear API.  A {{ModelSession}} interface 
should be provided by the {{ModelBuilder}} so that requests can be grouped and 
data cached correctly.  
This {{ModelSession}} becoming a public API, it could be stored and made 
available through the {{Project}} object, thereby becoming available to the 
{{DefaultConsumerPomBuilder}} which needs to re-load models _inside a given 
model session_ (so as to access cached parents for example).

The {{transformerContextBuilder}} which is used for raw/build POM 
transformation, needs to access already loaded models and eventually load new 
models.

  was:
The project builder uses multiple caches in the 
{{DefaultProjectBuilder.BuildSession}}:
* the {{modelPool}}
* the {{parentCache}}
* the {{transformerContextBuilder}} 
* the {{modelCache}}

The responsabilities are not clear, and the project builder needs to pass 
objects to the model builder without a clear API.  A {{ModelSession}} interface 
should be provided by the {{ModelBuilder}} so that requests can be grouped and 
data cached correctly.  
This {{ModelSession}} becoming a public API, it could be stored and made 
available through the {{Project}} object, thereby becoming available to the 
{{DefaultConsumerPomBuilder}} which needs to re-load models _inside a given 
model session_ (so as to access cached parents for example).


> ProjectBuilder api and ModelBuilder enhancements
> ------------------------------------------------
>
>                 Key: MNG-8120
>                 URL: https://issues.apache.org/jira/browse/MNG-8120
>             Project: Maven
>          Issue Type: Improvement
>            Reporter: Guillaume Nodet
>            Assignee: Guillaume Nodet
>            Priority: Major
>             Fix For: 4.0.0-beta-3
>
>
> The project builder uses multiple caches in the 
> {{DefaultProjectBuilder.BuildSession}}:
> * the {{modelPool}}
> * the {{parentCache}}
> * the {{transformerContextBuilder}} 
> * the {{modelCache}}
> The responsabilities are not clear, and the project builder needs to pass 
> objects to the model builder without a clear API.  A {{ModelSession}} 
> interface should be provided by the {{ModelBuilder}} so that requests can be 
> grouped and data cached correctly.  
> This {{ModelSession}} becoming a public API, it could be stored and made 
> available through the {{Project}} object, thereby becoming available to the 
> {{DefaultConsumerPomBuilder}} which needs to re-load models _inside a given 
> model session_ (so as to access cached parents for example).
> The {{transformerContextBuilder}} which is used for raw/build POM 
> transformation, needs to access already loaded models and eventually load new 
> models.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to