/** * {@inheritDoc} */ public void restoreDynamicState( MavenProject project, ProjectBuilderConfiguration config ) throws ModelInterpolationException { restoreDynamicStateInternal( project, config, true, new HashSet() ); }
/** * {@inheritDoc} */ public void restoreDynamicState( MavenProject project, ProjectBuilderConfiguration config, boolean processProjectReferences ) throws ModelInterpolationException { restoreDynamicStateInternal( project, config, processProjectReferences, ( processProjectReferences ? new HashSet() : null ) ); }
private void restoreDynamicProjectReferences( MavenProject project, ProjectBuilderConfiguration config, Set processedProjects ) throws ModelInterpolationException { Map projectRefs = project.getProjectReferences(); if ( projectRefs != null ) { for ( Iterator it = projectRefs.values().iterator(); it.hasNext(); ) { MavenProject projectRef = (MavenProject) it.next(); if ( !processedProjects.contains( projectRef.getId() ) ) { restoreDynamicStateInternal( projectRef, config, true, processedProjects ); } } } }
private void restoreDynamicStateInternal( MavenProject project, ProjectBuilderConfiguration config, boolean processProjectReferences, Set processedProjects ) throws ModelInterpolationException { if ( processProjectReferences ) { processedProjects.add( project.getId() ); } if ( project.isConcrete() && projectWasChanged( project ) ) { if ( project.getParent() != null ) { restoreDynamicStateInternal( project.getParent(), config, processProjectReferences, processedProjects ); } restoreBuildRoots( project, config, getLogger().isDebugEnabled() ); restoreModelBuildSection( project, config, getLogger().isDebugEnabled() ); if ( project.getExecutionProject() != null ) { restoreDynamicStateInternal( project.getExecutionProject(), config, processProjectReferences, processedProjects ); } project.setConcrete( false ); } if ( processProjectReferences ) { restoreDynamicProjectReferences( project, config, processedProjects ); } }
restoreDynamicStateInternal( project, config, processProjectReferences, processProjectReferences ? new HashSet( processedProjects ) : null );