Author: bentmann Date: Thu Dec 10 23:54:38 2009 New Revision: 889472 URL: http://svn.apache.org/viewvc?rev=889472&view=rev Log: o Refactored code
Modified: maven/maven-3/trunk/maven-core/src/main/java/org/apache/maven/project/DefaultModelBuildingListener.java maven/maven-3/trunk/maven-core/src/main/java/org/apache/maven/project/DefaultProjectBuildingHelper.java maven/maven-3/trunk/maven-core/src/main/java/org/apache/maven/project/ProjectBuildingHelper.java maven/maven-3/trunk/maven-core/src/test/java/org/apache/maven/project/EmptyProjectBuildingHelper.java Modified: maven/maven-3/trunk/maven-core/src/main/java/org/apache/maven/project/DefaultModelBuildingListener.java URL: http://svn.apache.org/viewvc/maven/maven-3/trunk/maven-core/src/main/java/org/apache/maven/project/DefaultModelBuildingListener.java?rev=889472&r1=889471&r2=889472&view=diff ============================================================================== --- maven/maven-3/trunk/maven-core/src/main/java/org/apache/maven/project/DefaultModelBuildingListener.java (original) +++ maven/maven-3/trunk/maven-core/src/main/java/org/apache/maven/project/DefaultModelBuildingListener.java Thu Dec 10 23:54:38 2009 @@ -118,22 +118,7 @@ event.getProblems().add( Severity.ERROR, "Unresolveable build extension: " + e.getMessage(), e ); } - if ( project.getClassRealm() != 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( project.getClassRealm() ); - } - else - { - /* - * Reset context class loader to core realm. - */ - Thread.currentThread().setContextClassLoader( getClass().getClassLoader() ); - } + projectBuildingHelper.selectProjectRealm( project ); } // build the regular repos after extensions are loaded to allow for custom layouts Modified: maven/maven-3/trunk/maven-core/src/main/java/org/apache/maven/project/DefaultProjectBuildingHelper.java URL: http://svn.apache.org/viewvc/maven/maven-3/trunk/maven-core/src/main/java/org/apache/maven/project/DefaultProjectBuildingHelper.java?rev=889472&r1=889471&r2=889472&view=diff ============================================================================== --- maven/maven-3/trunk/maven-core/src/main/java/org/apache/maven/project/DefaultProjectBuildingHelper.java (original) +++ maven/maven-3/trunk/maven-core/src/main/java/org/apache/maven/project/DefaultProjectBuildingHelper.java Thu Dec 10 23:54:38 2009 @@ -433,4 +433,16 @@ return extensionArtifacts; } + public void selectProjectRealm( MavenProject project ) + { + ClassLoader projectRealm = project.getClassRealm(); + + if ( projectRealm == null ) + { + projectRealm = container.getContainerRealm(); + } + + Thread.currentThread().setContextClassLoader( projectRealm ); + } + } Modified: maven/maven-3/trunk/maven-core/src/main/java/org/apache/maven/project/ProjectBuildingHelper.java URL: http://svn.apache.org/viewvc/maven/maven-3/trunk/maven-core/src/main/java/org/apache/maven/project/ProjectBuildingHelper.java?rev=889472&r1=889471&r2=889472&view=diff ============================================================================== --- maven/maven-3/trunk/maven-core/src/main/java/org/apache/maven/project/ProjectBuildingHelper.java (original) +++ maven/maven-3/trunk/maven-core/src/main/java/org/apache/maven/project/ProjectBuildingHelper.java Thu Dec 10 23:54:38 2009 @@ -23,7 +23,6 @@ import org.apache.maven.artifact.InvalidRepositoryException; import org.apache.maven.artifact.repository.ArtifactRepository; -import org.apache.maven.artifact.repository.RepositoryRequest; import org.apache.maven.model.Model; import org.apache.maven.model.Repository; import org.apache.maven.plugin.PluginResolutionException; @@ -68,4 +67,13 @@ ProjectRealmCache.CacheRecord createProjectRealm( MavenProject project, Model model, ProjectBuildingRequest request ) throws PluginResolutionException, PluginVersionResolutionException; + /** + * Updates 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 is to be reset by + * the project builder when the project is fully assembled. + * + * @param project The project whose class realm should be selected, must not be {...@code null}. + */ + void selectProjectRealm( MavenProject project ); + } Modified: maven/maven-3/trunk/maven-core/src/test/java/org/apache/maven/project/EmptyProjectBuildingHelper.java URL: http://svn.apache.org/viewvc/maven/maven-3/trunk/maven-core/src/test/java/org/apache/maven/project/EmptyProjectBuildingHelper.java?rev=889472&r1=889471&r2=889472&view=diff ============================================================================== --- maven/maven-3/trunk/maven-core/src/test/java/org/apache/maven/project/EmptyProjectBuildingHelper.java (original) +++ maven/maven-3/trunk/maven-core/src/test/java/org/apache/maven/project/EmptyProjectBuildingHelper.java Thu Dec 10 23:54:38 2009 @@ -55,4 +55,8 @@ return new ProjectRealmCache.CacheRecord( null, null ); } + public void selectProjectRealm( MavenProject project ) + { + } + }