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 23:07:12 UTC

svn commit: r795227 - in /maven/components/trunk: maven-core/src/main/java/org/apache/maven/project/RepositoryModelResolver.java maven-model-builder/src/main/java/org/apache/maven/model/resolution/ModelResolver.java

Author: bentmann
Date: Fri Jul 17 21:07:11 2009
New Revision: 795227

URL: http://svn.apache.org/viewvc?rev=795227&view=rev
Log:
o Added method to clone/fork model resolver which is a prerequisite for importing other POMs/mixins during the model building where the model builder basically recurses and we want the resolution processes for these sub POMs to be isolated

Modified:
    maven/components/trunk/maven-core/src/main/java/org/apache/maven/project/RepositoryModelResolver.java
    maven/components/trunk/maven-model-builder/src/main/java/org/apache/maven/model/resolution/ModelResolver.java

Modified: maven/components/trunk/maven-core/src/main/java/org/apache/maven/project/RepositoryModelResolver.java
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-core/src/main/java/org/apache/maven/project/RepositoryModelResolver.java?rev=795227&r1=795226&r2=795227&view=diff
==============================================================================
--- maven/components/trunk/maven-core/src/main/java/org/apache/maven/project/RepositoryModelResolver.java (original)
+++ maven/components/trunk/maven-core/src/main/java/org/apache/maven/project/RepositoryModelResolver.java Fri Jul 17 21:07:11 2009
@@ -82,6 +82,12 @@
         this.remoteRepositories = new ArrayList<ArtifactRepository>( remoteRepositories );
     }
 
+    public ModelResolver newCopy()
+    {
+        return new RepositoryModelResolver( repositorySystem, resolutionErrorHandler, localRepository,
+                                            remoteRepositories );
+    }
+
     public void addRepository( Repository repository )
         throws InvalidRepositoryException
     {

Modified: maven/components/trunk/maven-model-builder/src/main/java/org/apache/maven/model/resolution/ModelResolver.java
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-model-builder/src/main/java/org/apache/maven/model/resolution/ModelResolver.java?rev=795227&r1=795226&r2=795227&view=diff
==============================================================================
--- maven/components/trunk/maven-model-builder/src/main/java/org/apache/maven/model/resolution/ModelResolver.java (original)
+++ maven/components/trunk/maven-model-builder/src/main/java/org/apache/maven/model/resolution/ModelResolver.java Fri Jul 17 21:07:11 2009
@@ -55,4 +55,13 @@
     void addRepository( Repository repository )
         throws InvalidRepositoryException;
 
+    /**
+     * Clones this resolver for usage in a forked resolution process. In general, implementors need not provide a deep
+     * clone. The only requirement is that invocations of {@link #addRepository(Repository)} on the clone do not affect
+     * the state of the original resolver and vice versa.
+     * 
+     * @return The cloned resolver, never {@code null}.
+     */
+    ModelResolver newCopy();
+
 }