You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by jv...@apache.org on 2009/07/22 19:56:18 UTC

svn commit: r796817 - in /maven/components/trunk: maven-core/src/main/java/org/apache/maven/execution/ maven-embedder/src/main/java/org/apache/maven/embedder/execution/

Author: jvanzyl
Date: Wed Jul 22 17:56:18 2009
New Revision: 796817

URL: http://svn.apache.org/viewvc?rev=796817&view=rev
Log:
o add default plugin artifact repositories in the populator

Modified:
    maven/components/trunk/maven-core/src/main/java/org/apache/maven/execution/DefaultMavenExecutionRequest.java
    maven/components/trunk/maven-core/src/main/java/org/apache/maven/execution/MavenExecutionRequest.java
    maven/components/trunk/maven-embedder/src/main/java/org/apache/maven/embedder/execution/DefaultMavenExecutionRequestPopulator.java

Modified: maven/components/trunk/maven-core/src/main/java/org/apache/maven/execution/DefaultMavenExecutionRequest.java
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-core/src/main/java/org/apache/maven/execution/DefaultMavenExecutionRequest.java?rev=796817&r1=796816&r2=796817&view=diff
==============================================================================
--- maven/components/trunk/maven-core/src/main/java/org/apache/maven/execution/DefaultMavenExecutionRequest.java (original)
+++ maven/components/trunk/maven-core/src/main/java/org/apache/maven/execution/DefaultMavenExecutionRequest.java Wed Jul 22 17:56:18 2009
@@ -837,6 +837,21 @@
         return remoteRepositories;
     }
 
+    public MavenExecutionRequest addPluginArtifactRepository( ArtifactRepository repository )
+    {
+        for ( ArtifactRepository repo : getPluginArtifactRepositories() )
+        {
+            if ( repo.getId() != null && repo.getId().equals( repository.getId() ) )
+            {
+                return this;
+            }
+        }
+
+        getPluginArtifactRepositories().add( repository );
+
+        return this;
+    }
+    
     public List<ArtifactRepository> getPluginArtifactRepositories()
     {
         if ( pluginArtifactRepositories == null )

Modified: maven/components/trunk/maven-core/src/main/java/org/apache/maven/execution/MavenExecutionRequest.java
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-core/src/main/java/org/apache/maven/execution/MavenExecutionRequest.java?rev=796817&r1=796816&r2=796817&view=diff
==============================================================================
--- maven/components/trunk/maven-core/src/main/java/org/apache/maven/execution/MavenExecutionRequest.java (original)
+++ maven/components/trunk/maven-core/src/main/java/org/apache/maven/execution/MavenExecutionRequest.java Wed Jul 22 17:56:18 2009
@@ -207,6 +207,8 @@
     MavenExecutionRequest setGlobalSettingsFile( File globalSettingsFile );
 
     MavenExecutionRequest addRemoteRepository( ArtifactRepository repository );
+    MavenExecutionRequest addPluginArtifactRepository( ArtifactRepository repository );
+    
     /**
      * Set a new list of remote repositories to use the execution request. This is necessary if you perform
      * transformations on the remote repositories being used. For example if you replace existing repositories with

Modified: maven/components/trunk/maven-embedder/src/main/java/org/apache/maven/embedder/execution/DefaultMavenExecutionRequestPopulator.java
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-embedder/src/main/java/org/apache/maven/embedder/execution/DefaultMavenExecutionRequestPopulator.java?rev=796817&r1=796816&r2=796817&view=diff
==============================================================================
--- maven/components/trunk/maven-embedder/src/main/java/org/apache/maven/embedder/execution/DefaultMavenExecutionRequestPopulator.java (original)
+++ maven/components/trunk/maven-embedder/src/main/java/org/apache/maven/embedder/execution/DefaultMavenExecutionRequestPopulator.java Wed Jul 22 17:56:18 2009
@@ -75,13 +75,13 @@
             request.setBaseDirectory( new File( System.getProperty( "user.dir" ) ) );
         }
     }
-        
+
     private void populateDefaultPluginGroups( MavenExecutionRequest request )
     {
         request.addPluginGroup( "org.apache.maven.plugins" );
         request.addPluginGroup( "org.codehaus.mojo" );
     }
-    
+
     // Process plugin groups
     // Get profile models
     // Get active profiles
@@ -89,18 +89,18 @@
         throws MavenEmbedderException
     {
         Settings settings = request.getSettings();
-        
+
         request.addPluginGroups( settings.getPluginGroups() );
 
         populateDefaultPluginGroups( request );
-        
+
         List<org.apache.maven.settings.Profile> settingsProfiles = settings.getProfiles();
 
         // We just need to keep track of what profiles are being activated by the settings. We don't need to process
         // them here. This should be taken care of by the project builder.
         //
-        request.addActiveProfiles( settings.getActiveProfiles() );        
-        
+        request.addActiveProfiles( settings.getActiveProfiles() );
+
         // We only need to take the profiles and make sure they are available when the calculation of the active profiles
         // is determined.
         //
@@ -108,11 +108,13 @@
         {
             for ( org.apache.maven.settings.Profile rawProfile : settings.getProfiles() )
             {
-                request.addProfile( SettingsUtils.convertFromSettingsProfile( rawProfile ) );                
+                request.addProfile( SettingsUtils.convertFromSettingsProfile( rawProfile ) );
             }
         }
-        
+
         injectDefaultRepositories( request );
+        
+        injectDefaultPluginRepositories( request );        
 
         processRepositoriesInSettings( request );
     }
@@ -130,7 +132,7 @@
         }
 
         if ( !definedRepositories.contains( RepositorySystem.DEFAULT_REMOTE_REPO_ID ) )
-        {            
+        {
             try
             {
                 request.addRemoteRepository( repositorySystem.createDefaultRemoteRepository() );
@@ -142,6 +144,31 @@
         }
     }
 
+    private void injectDefaultPluginRepositories( MavenExecutionRequest request )
+        throws MavenEmbedderException
+    {
+        Set<String> definedRepositories = new HashSet<String>();
+        if ( request.getPluginArtifactRepositories() != null )
+        {
+            for ( ArtifactRepository repository : request.getPluginArtifactRepositories() )
+            {
+                definedRepositories.add( repository.getId() );
+            }
+        }
+
+        if ( !definedRepositories.contains( RepositorySystem.DEFAULT_REMOTE_REPO_ID ) )
+        {
+            try
+            {
+                request.addPluginArtifactRepository( repositorySystem.createDefaultRemoteRepository() );
+            }
+            catch ( InvalidRepositoryException e )
+            {
+                throw new MavenEmbedderException( "Cannot create default remote repository.", e );
+            }
+        }
+    }
+
     private void processRepositoriesInSettings( MavenExecutionRequest request )
         throws MavenEmbedderException
     {
@@ -158,7 +185,7 @@
         //      <nonProxyHosts>www.google.com|*.somewhere.com</nonProxyHosts>
         //    </proxy>
         //  </proxies>
-        
+
         /*
         Proxy proxy = settings.getActiveProxy();
 
@@ -302,7 +329,7 @@
         throws MavenEmbedderException
     {
         pom( request );
-        
+
         settings( request );
 
         localRepository( request );
@@ -310,7 +337,7 @@
         toolchains( request );
 
         processSettings( request );
-                
+
         return request;
     }
 }