could you please keep the old methods and deprecate them with a comment, if not keeping up with the changes becomes a nightmare
On 10/24/07, [EMAIL PROTECTED] <[EMAIL PROTECTED]> wrote: > Author: jdcasey > Date: Wed Oct 24 22:13:22 2007 > New Revision: 588144 > > URL: http://svn.apache.org/viewvc?rev=588144&view=rev > Log: > Improving the use of project sessions in the embedder, and exporting control > over the project session map to the embedder instead of Maven.execute(). > > Modified: > > maven/components/trunk/maven-core/src/main/java/org/apache/maven/DefaultMaven.java > > maven/components/trunk/maven-core/src/main/java/org/apache/maven/Maven.java > > maven/components/trunk/maven-core/src/main/java/org/apache/maven/execution/MavenSession.java > > maven/components/trunk/maven-core/src/main/java/org/apache/maven/extension/DefaultBuildExtensionScanner.java > > maven/components/trunk/maven-embedder/src/main/java/org/apache/maven/embedder/MavenEmbedder.java > > Modified: > maven/components/trunk/maven-core/src/main/java/org/apache/maven/DefaultMaven.java > URL: > http://svn.apache.org/viewvc/maven/components/trunk/maven-core/src/main/java/org/apache/maven/DefaultMaven.java?rev=588144&r1=588143&r2=588144&view=diff > ============================================================================== > --- > maven/components/trunk/maven-core/src/main/java/org/apache/maven/DefaultMaven.java > (original) > +++ > maven/components/trunk/maven-core/src/main/java/org/apache/maven/DefaultMaven.java > Wed Oct 24 22:13:22 2007 > @@ -63,7 +63,6 @@ > import java.util.ArrayList; > import java.util.Collections; > import java.util.Date; > -import java.util.HashMap; > import java.util.Iterator; > import java.util.List; > import java.util.Map; > @@ -160,14 +159,12 @@ > return reactorManager; > } > > - public MavenExecutionResult execute( MavenExecutionRequest request ) > + public MavenExecutionResult execute( MavenExecutionRequest request, Map > projectSessions ) > { > request.setStartTime( new Date() ); > > MavenExecutionResult result = new DefaultMavenExecutionResult(); > > - Map projectSessions = new HashMap(); > - > ReactorManager reactorManager = createReactorManager( > request, > result, > @@ -192,66 +189,59 @@ > dispatcher, > projectSessions ); > > - try > + for ( Iterator i = request.getGoals().iterator(); i.hasNext(); ) > { > - for ( Iterator i = request.getGoals().iterator(); i.hasNext(); ) > - { > - String goal = (String) i.next(); > - > - TaskValidationResult tvr = lifecycleExecutor.isTaskValid( > goal, session, reactorManager.getTopLevelProject() ); > + String goal = (String) i.next(); > > - if ( !tvr.isTaskValid() ) > - { > - result.addBuildFailureException( new > InvalidTaskException( tvr ) ); > + TaskValidationResult tvr = lifecycleExecutor.isTaskValid( goal, > session, reactorManager.getTopLevelProject() ); > > - return result; > - } > - } > - > - getLogger().info( "Scanning for projects..." ); > - > - if ( reactorManager.hasMultipleProjects() ) > + if ( !tvr.isTaskValid() ) > { > - getLogger().info( "Reactor build order: " ); > - > - for ( Iterator i = > reactorManager.getSortedProjects().iterator(); i.hasNext(); ) > - { > - MavenProject project = (MavenProject) i.next(); > + result.addBuildFailureException( new InvalidTaskException( > tvr ) ); > > - getLogger().info( " " + project.getName() ); > - } > + return result; > } > + } > > - initializeBuildContext( request ); > + getLogger().info( "Scanning for projects..." ); > > - try > - { > - lifecycleExecutor.execute( > - session, > - reactorManager, > - dispatcher ); > - } > - catch ( LifecycleExecutionException e ) > - { > - result.addLifecycleExecutionException( e ); > - return result; > - } > - catch ( BuildFailureException e ) > + if ( reactorManager.hasMultipleProjects() ) > + { > + getLogger().info( "Reactor build order: " ); > + > + for ( Iterator i = > reactorManager.getSortedProjects().iterator(); i.hasNext(); ) > { > - result.addBuildFailureException( e ); > - return result; > - } > + MavenProject project = (MavenProject) i.next(); > > - result.setTopologicallySortedProjects( > reactorManager.getSortedProjects() ); > + getLogger().info( " " + project.getName() ); > + } > + } > > - result.setProject( reactorManager.getTopLevelProject() ); > + initializeBuildContext( request ); > > + try > + { > + lifecycleExecutor.execute( > + session, > + reactorManager, > + dispatcher ); > + } > + catch ( LifecycleExecutionException e ) > + { > + result.addLifecycleExecutionException( e ); > return result; > } > - finally > + catch ( BuildFailureException e ) > { > - session.dispose(); > + result.addBuildFailureException( e ); > + return result; > } > + > + result.setTopologicallySortedProjects( > reactorManager.getSortedProjects() ); > + > + result.setProject( reactorManager.getTopLevelProject() ); > + > + return result; > } > > /** > > Modified: > maven/components/trunk/maven-core/src/main/java/org/apache/maven/Maven.java > URL: > http://svn.apache.org/viewvc/maven/components/trunk/maven-core/src/main/java/org/apache/maven/Maven.java?rev=588144&r1=588143&r2=588144&view=diff > ============================================================================== > --- > maven/components/trunk/maven-core/src/main/java/org/apache/maven/Maven.java > (original) > +++ > maven/components/trunk/maven-core/src/main/java/org/apache/maven/Maven.java > Wed Oct 24 22:13:22 2007 > @@ -53,7 +53,7 @@ > > static final int LOGGING_LEVEL_DISABLE = 5; > > - MavenExecutionResult execute( MavenExecutionRequest request ); > + MavenExecutionResult execute( MavenExecutionRequest request, Map > projectSessions ); > > ReactorManager createReactorManager( MavenExecutionRequest request, > MavenExecutionResult result, Map projectSessions ); > } > > Modified: > maven/components/trunk/maven-core/src/main/java/org/apache/maven/execution/MavenSession.java > URL: > http://svn.apache.org/viewvc/maven/components/trunk/maven-core/src/main/java/org/apache/maven/execution/MavenSession.java?rev=588144&r1=588143&r2=588144&view=diff > ============================================================================== > --- > maven/components/trunk/maven-core/src/main/java/org/apache/maven/execution/MavenSession.java > (original) > +++ > maven/components/trunk/maven-core/src/main/java/org/apache/maven/execution/MavenSession.java > Wed Oct 24 22:13:22 2007 > @@ -30,7 +30,6 @@ > > import java.util.Date; > import java.util.HashMap; > -import java.util.Iterator; > import java.util.LinkedHashMap; > import java.util.List; > import java.util.Map; > @@ -71,15 +70,6 @@ > this.reactorManager = reactorManager; > > this.projectSessions = projectSessions == null ? new HashMap() : > projectSessions; > - } > - > - public void dispose() > - { > - for ( Iterator it = projectSessions.values().iterator(); > it.hasNext(); ) > - { > - MavenProjectSession session = (MavenProjectSession) it.next(); > - session.dispose(); > - } > } > > // TODO: Figure out how/when we can shut down all the realms for > extensions/plugins connected to each project session... > > Modified: > maven/components/trunk/maven-core/src/main/java/org/apache/maven/extension/DefaultBuildExtensionScanner.java > URL: > http://svn.apache.org/viewvc/maven/components/trunk/maven-core/src/main/java/org/apache/maven/extension/DefaultBuildExtensionScanner.java?rev=588144&r1=588143&r2=588144&view=diff > ============================================================================== > --- > maven/components/trunk/maven-core/src/main/java/org/apache/maven/extension/DefaultBuildExtensionScanner.java > (original) > +++ > maven/components/trunk/maven-core/src/main/java/org/apache/maven/extension/DefaultBuildExtensionScanner.java > Wed Oct 24 22:13:22 2007 > @@ -26,6 +26,7 @@ > import org.apache.maven.model.Extension; > import org.apache.maven.model.Model; > import org.apache.maven.model.Parent; > +import org.apache.maven.plugin.loader.PluginLoader; > import org.apache.maven.profiles.ProfileManager; > import org.apache.maven.profiles.activation.CustomActivatorAdvice; > import org.apache.maven.project.MavenProject; > @@ -65,6 +66,8 @@ > private ModelLineageBuilder modelLineageBuilder; > > private ModelInterpolator modelInterpolator; > + > + private PluginLoader pluginLoader; > > public void scanForBuildExtensions( List files, > ArtifactRepository localRepository, > > Modified: > maven/components/trunk/maven-embedder/src/main/java/org/apache/maven/embedder/MavenEmbedder.java > URL: > http://svn.apache.org/viewvc/maven/components/trunk/maven-embedder/src/main/java/org/apache/maven/embedder/MavenEmbedder.java?rev=588144&r1=588143&r2=588144&view=diff > ============================================================================== > --- > maven/components/trunk/maven-embedder/src/main/java/org/apache/maven/embedder/MavenEmbedder.java > (original) > +++ > maven/components/trunk/maven-embedder/src/main/java/org/apache/maven/embedder/MavenEmbedder.java > Wed Oct 24 22:13:22 2007 > @@ -35,6 +35,7 @@ > import org.apache.maven.execution.DefaultMavenExecutionResult; > import org.apache.maven.execution.MavenExecutionRequest; > import org.apache.maven.execution.MavenExecutionResult; > +import org.apache.maven.execution.MavenProjectSession; > import org.apache.maven.execution.MavenSession; > import org.apache.maven.execution.ReactorManager; > import org.apache.maven.extension.BuildExtensionScanner; > @@ -319,16 +320,9 @@ > { > PluginManager pluginManager = (PluginManager) container.lookup( > PluginManager.ROLE ); > > - MavenSession session = new MavenSession( container, request, null, > null, new HashMap() ); > + MavenSession session = new MavenSession( container, request, null, > null, projectSessions ); > > - try > - { > pluginManager.verifyPlugin( plugin, project, session ); > - } > - finally > - { > - session.dispose(); > - } > } > > /** protected for tests only.. */ > @@ -440,7 +434,7 @@ > { > getLogger().info( "Scanning for extensions: " + mavenProject ); > > - extensionScanner.scanForBuildExtensions( mavenProject, > request.getLocalRepository(), request.getProfileManager(), new HashMap() ); > + extensionScanner.scanForBuildExtensions( mavenProject, > request.getLocalRepository(), request.getProfileManager(), projectSessions ); > > getLogger().info( "Building MavenProject instance: " + mavenProject > ); > > @@ -478,7 +472,7 @@ > > Map handlers = findArtifactTypeHandlers( project ); > > - //TODO: ok this is crappy, now there are active collections so > when new artifact handlers > + //TODO: ok this is crappy, now there are active collections so > when new artifact handlers > // enter the system they should be available. > > artifactHandlerManager.addHandlers( handlers ); > @@ -496,7 +490,7 @@ > return result.addExtensionScanningException( e ); > } > > - ReactorManager reactorManager = maven.createReactorManager( request, > result, new HashMap() ); > + ReactorManager reactorManager = maven.createReactorManager( request, > result, projectSessions ); > > if ( result.hasExceptions() ) > { > @@ -624,6 +618,22 @@ > > private MavenExecutionRequest request; > > + private Map projectSessions; > + > + public void clearProjectSessions() > + { > + if ( ( projectSessions != null ) && !projectSessions.isEmpty() ) > + { > + for ( Iterator it = projectSessions.values().iterator(); > it.hasNext(); ) > + { > + MavenProjectSession session = (MavenProjectSession) > it.next(); > + session.dispose(); > + } > + > + projectSessions.clear(); > + } > + } > + > private void start( Configuration configuration ) > throws MavenEmbedderException > { > @@ -631,6 +641,8 @@ > > logger = configuration.getMavenEmbedderLogger(); > > + projectSessions = new HashMap(); > + > // > ---------------------------------------------------------------------------- > // Don't override any existing SecurityManager if one has been > installed. Our > // SecurityManager just checks to make sure > @@ -652,8 +664,8 @@ > > try > { > - ContainerConfiguration cc = new DefaultContainerConfiguration() > - .addComponentDiscoverer( new MavenPluginDiscoverer() ) > + ContainerConfiguration cc = new DefaultContainerConfiguration() > + .addComponentDiscoverer( new MavenPluginDiscoverer() ) > .addComponentDiscoveryListener( new MavenPluginCollector() ) > .setClassWorld( classWorld ).setParentContainer( > configuration.getParentContainer() ).setName( "embedder" ); > > @@ -889,7 +901,7 @@ > return result; > } > > - return maven.execute( request ); > + return maven.execute( request, projectSessions ); > } > finally > { > > > -- I could give you my word as a Spaniard. No good. I've known too many Spaniards. -- The Princess Bride --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]