[ http://jira.codehaus.org/browse/MNGECLIPSE-182?page=comments#action_72833 ] Eugene Kuleshov commented on MNGECLIPSE-182: --------------------------------------------
Patch applied. Removed redundant jobs, moved init code from plugin to ModelManager and added some logging There is an issue with with refreshing dependent projects when maven container is updated. I opened issue on JDT. https://bugs.eclipse.org/bugs/show_bug.cgi?id=154479 > Initialization of the artifact map, and initialization after cleaning. > ---------------------------------------------------------------------- > > Key: MNGECLIPSE-182 > URL: http://jira.codehaus.org/browse/MNGECLIPSE-182 > Project: Maven 2.x Extension for Eclipse > Issue Type: Sub-task > Components: Dependency Resolver > Reporter: Scott Cytacki > Assigned To: Eugene Kuleshov > Attachments: model-mananger-init-20060818-0.patch > > > I started on the initialization of the artifact map in the MaveModelManager. > But it is getting a bit more complicated than I thought, and it seems > different than what Euguene suggested. So I wanted to describe it before I > go too much further. > Here is the current design: > MavenModelManager has an initialize() method that: > * checks if it has been initialized before, if so it does nothing > * traverses the projects in the workspace and a calls updateMavenModel for > each pom it finds. > the Job created in Maven2ClassContainerInitializer initialize() method calls > initialize on the mavenModelManager > Additionally there is the issue of when the workspace is cleaned. Here is > the case: > - project A depends on groupB:artifactB > - the workspace becomes inconsistant, or the automatic building is turned off > - project B is added to the workspace and its maven key is groupB:artifactB > - now the workspace is cleaned > The building process appears to decide the order of processing projects based > on the dependency graph between the projects. In this case project A doesn't > know it depends on B yet, so the builder might build project A first. In > this case the poms in B won't be in the artifact map yet. So A won't add the > project B as a dependency. I'm curious again how the PDE handles cases like > this. > Perhaps the best is to listen for the clean event and re-create the artifact > map in the modelManager. -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://jira.codehaus.org/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira