You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by be...@apache.org on 2009/07/17 21:48:57 UTC
svn commit: r795206 - in
/maven/components/trunk/maven-core/src/main/java/org/apache/maven/project:
DefaultModelBuildingListener.java DefaultProjectBuilder.java
DefaultProjectBuildingHelper.java ProjectBuildingHelper.java
Author: bentmann
Date: Fri Jul 17 19:48:57 2009
New Revision: 795206
URL: http://svn.apache.org/viewvc?rev=795206&view=rev
Log:
o Fixed project realm handling to be more embedder friendly
Modified:
maven/components/trunk/maven-core/src/main/java/org/apache/maven/project/DefaultModelBuildingListener.java
maven/components/trunk/maven-core/src/main/java/org/apache/maven/project/DefaultProjectBuilder.java
maven/components/trunk/maven-core/src/main/java/org/apache/maven/project/DefaultProjectBuildingHelper.java
maven/components/trunk/maven-core/src/main/java/org/apache/maven/project/ProjectBuildingHelper.java
Modified: maven/components/trunk/maven-core/src/main/java/org/apache/maven/project/DefaultModelBuildingListener.java
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-core/src/main/java/org/apache/maven/project/DefaultModelBuildingListener.java?rev=795206&r1=795205&r2=795206&view=diff
==============================================================================
--- maven/components/trunk/maven-core/src/main/java/org/apache/maven/project/DefaultModelBuildingListener.java (original)
+++ maven/components/trunk/maven-core/src/main/java/org/apache/maven/project/DefaultModelBuildingListener.java Fri Jul 17 19:48:57 2009
@@ -97,12 +97,15 @@
projectBuildingHelper.createProjectRealm( model, projectBuildingRequest.getLocalRepository(),
pluginRepositories );
- /*
- * Update the context class loader so that the container will search the project realm when the model
- * builder injects the lifecycle bindings from the packaging next. The class loader is reset by the project
- * builder when the project is fully assembled.
- */
- Thread.currentThread().setContextClassLoader( projectRealm );
+ if ( projectRealm != null )
+ {
+ /*
+ * Update the context class loader such that the container will search the project realm when the model
+ * builder injects the lifecycle bindings from the packaging in the next step. The context class loader
+ * will be reset by the project builder when the project is fully assembled.
+ */
+ Thread.currentThread().setContextClassLoader( projectRealm );
+ }
}
}
Modified: maven/components/trunk/maven-core/src/main/java/org/apache/maven/project/DefaultProjectBuilder.java
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-core/src/main/java/org/apache/maven/project/DefaultProjectBuilder.java?rev=795206&r1=795205&r2=795206&view=diff
==============================================================================
--- maven/components/trunk/maven-core/src/main/java/org/apache/maven/project/DefaultProjectBuilder.java (original)
+++ maven/components/trunk/maven-core/src/main/java/org/apache/maven/project/DefaultProjectBuilder.java Fri Jul 17 19:48:57 2009
@@ -302,7 +302,23 @@
.setRemoteRepostories( project.getRemoteArtifactRepositories() )
.setManagedVersionMap( project.getManagedVersionMap() );
- ArtifactResolutionResult result = repositorySystem.resolve( artifactRequest );
+ ArtifactResolutionResult result;
+
+ ClassLoader oldContextClassLoader = Thread.currentThread().getContextClassLoader();
+
+ try
+ {
+ if ( project.getClassRealm() != null )
+ {
+ Thread.currentThread().setContextClassLoader( project.getClassRealm() );
+ }
+
+ result = repositorySystem.resolve( artifactRequest );
+ }
+ finally
+ {
+ Thread.currentThread().setContextClassLoader( oldContextClassLoader );
+ }
if ( result.hasExceptions() )
{
Modified: maven/components/trunk/maven-core/src/main/java/org/apache/maven/project/DefaultProjectBuildingHelper.java
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-core/src/main/java/org/apache/maven/project/DefaultProjectBuildingHelper.java?rev=795206&r1=795205&r2=795206&view=diff
==============================================================================
--- maven/components/trunk/maven-core/src/main/java/org/apache/maven/project/DefaultProjectBuildingHelper.java (original)
+++ maven/components/trunk/maven-core/src/main/java/org/apache/maven/project/DefaultProjectBuildingHelper.java Fri Jul 17 19:48:57 2009
@@ -98,7 +98,7 @@
List<ArtifactRepository> remoteRepositories )
throws ArtifactResolutionException
{
- ClassRealm projectRealm = container.getContainerRealm();
+ ClassRealm projectRealm = null;
Build build = model.getBuild();
Modified: maven/components/trunk/maven-core/src/main/java/org/apache/maven/project/ProjectBuildingHelper.java
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-core/src/main/java/org/apache/maven/project/ProjectBuildingHelper.java?rev=795206&r1=795205&r2=795206&view=diff
==============================================================================
--- maven/components/trunk/maven-core/src/main/java/org/apache/maven/project/ProjectBuildingHelper.java (original)
+++ maven/components/trunk/maven-core/src/main/java/org/apache/maven/project/ProjectBuildingHelper.java Fri Jul 17 19:48:57 2009
@@ -55,7 +55,7 @@
* @param model The model to create the project realm for, must not be {@code null}
* @param localRepository The local repository to use for artifact resolution, must not be {@code null}.
* @param remoteRepositories The remote repositories to use for artifact resolution, must not be {@code null}.
- * @return The project realm, never {@code null}.
+ * @return The project realm or {@code null} if the project uses no extensions.
* @throws ArtifactResolutionException If any build extension could not be resolved.
*/
ClassRealm createProjectRealm( Model model, ArtifactRepository localRepository,