Author: jdcasey
Date: Mon Nov 12 14:02:44 2007
New Revision: 594313
URL: http://svn.apache.org/viewvc?rev=594313&view=rev
Log:
Add code to clean the build context after each embedder function that uses it.
Modified:
maven/components/trunk/maven-embedder/src/main/java/org/apache/maven/embedder/MavenEmbedder.java
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=594313&r1=594312&r2=594313&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
Mon Nov 12 14:02:44 2007
@@ -30,6 +30,7 @@
import org.apache.maven.artifact.resolver.ArtifactNotFoundException;
import org.apache.maven.artifact.resolver.ArtifactResolutionException;
import org.apache.maven.artifact.resolver.ArtifactResolver;
+import org.apache.maven.context.BuildContextManager;
import org.apache.maven.embedder.execution.MavenExecutionRequestPopulator;
import org.apache.maven.execution.DefaultMavenExecutionRequest;
import org.apache.maven.execution.DefaultMavenExecutionResult;
@@ -145,6 +146,8 @@
private ArtifactHandlerManager artifactHandlerManager;
+ private BuildContextManager buildContextManager;
+
private Maven maven;
private MavenExecutionRequestPopulator populator;
@@ -336,6 +339,7 @@
}
finally
{
+ buildContextManager.clearBuildContext();
request.getRealmManager().clear();
}
}
@@ -451,6 +455,7 @@
}
finally
{
+ buildContextManager.clearBuildContext();
request.getRealmManager().clear();
}
}
@@ -482,7 +487,14 @@
ArtifactRepository localRepository )
throws ArtifactResolutionException, ArtifactNotFoundException
{
- artifactResolver.resolve( artifact, remoteRepositories,
localRepository );
+ try
+ {
+ artifactResolver.resolve( artifact, remoteRepositories,
localRepository );
+ }
+ finally
+ {
+ buildContextManager.clearBuildContext();
+ }
}
public ArtifactHandler getArtifactHandler( Artifact artifact )
@@ -630,6 +642,8 @@
artifactHandlerManager = (ArtifactHandlerManager)
container.lookup( ArtifactHandlerManager.ROLE );
+ buildContextManager = (BuildContextManager) container.lookup(
BuildContextManager.ROLE );
+
// This is temporary as we can probably cache a single request and
use it for default values and
// simply cascade values in from requests used for individual
executions.
request = new DefaultMavenExecutionRequest();
@@ -688,6 +702,8 @@
public void stop()
throws MavenEmbedderException
{
+ buildContextManager.clearBuildContext();
+
container.dispose();
}
@@ -815,6 +831,8 @@
finally
{
loggerManager.setThresholds( oldThreshold );
+
+ buildContextManager.clearBuildContext();
request.getRealmManager().clear();
}
}