[ 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)