Igor Fedorenko created MNG-5669: ----------------------------------- Summary: same pom.xml is read multiple times Key: MNG-5669 URL: https://jira.codehaus.org/browse/MNG-5669 Project: Maven Issue Type: Bug Affects Versions: 3.2.3 Reporter: Igor Fedorenko
The same parent pom.xml is read multiple times during single ProjectBuilder#build invocation. This is a performance regression introduced in 3.2.3-SNAPSHOT. I do not know how much this affects real-world build performance. ~~~~~ ProjectBuilder#build(File,ModelSource,...) first constructs project model then initializes MavenProject instance. When project model is constructed, all local and remote parent pom.xml files are read and stored in model cache during ModelBuilder#readParent. The cache uses GAV keys. Only parent models are stored in the cache. The model of the project being being is not cached. When MavenProject instance is initialized, ProjectBuilder#build is called recursively to create parent MavenProject instances. There are appears to be two problems * ModelCache used to create original project Model is not passed to the recursive ProjectBuilder#build invocation. * ProjectBuilder#build does not use ModelCache for the project being built. During recursive invocation, this means the cache is never used to load parent pom.xml models cached during outer ProjectBuilder#build invocation. The solution is to introduce additional short-lived model cached keyed by pom.xml file location (project GAV is not known when ProjectBuilder#build is called). Alternatively, introduce ProjectBuilder#buildParent that will use the model cache. -- This message was sent by Atlassian JIRA (v6.1.6#6162)