You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by jd...@apache.org on 2008/01/24 22:29:19 UTC

svn commit: r615004 - in /maven/components/trunk: maven-core/src/main/java/org/apache/maven/execution/ maven-core/src/main/java/org/apache/maven/plugin/ maven-core/src/main/java/org/apache/maven/plugin/loader/ maven-core/src/main/java/org/apache/maven/...

Author: jdcasey
Date: Thu Jan 24 13:29:12 2008
New Revision: 615004

URL: http://svn.apache.org/viewvc?rev=615004&view=rev
Log:
Cleanup use of repositories for resolving plugin dependencies by using a LinkedHashSet to avoid duplicated repository defs (although two defs pointing to the same URL but with different id's will still look like two repos).

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/plugin/DefaultPluginManager.java
    maven/components/trunk/maven-core/src/main/java/org/apache/maven/plugin/MavenPluginCollector.java
    maven/components/trunk/maven-core/src/main/java/org/apache/maven/plugin/loader/DefaultPluginLoader.java
    maven/components/trunk/maven-core/src/main/java/org/apache/maven/plugin/version/DefaultPluginVersionManager.java
    maven/components/trunk/maven-embedder/src/main/java/org/apache/maven/embedder/MavenEmbedder.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=615004&r1=615003&r2=615004&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 Thu Jan 24 13:29:12 2008
@@ -121,6 +121,48 @@
 
     private MavenRealmManager realmManager;
 
+    public DefaultMavenExecutionRequest()
+    {
+        // default constructor.
+    }
+
+    public DefaultMavenExecutionRequest( MavenExecutionRequest original )
+    {
+        localRepository = original.getLocalRepository();
+        localRepositoryPath = original.getLocalRepositoryPath();
+        offline = original.isOffline();
+        interactiveMode = original.isInteractiveMode();
+        proxies = original.getProxies();
+        servers = original.getServers();
+        mirrors = original.getMirrors();
+        profiles = original.getProfiles();
+        pluginGroups = original.getPluginGroups();
+        usePluginUpdateOverride = original.isUsePluginUpdateOverride();
+        isProjectPresent = original.isProjectPresent();
+        userSettingsFile = original.getUserSettingsFile();
+        globalSettingsFile = original.getGlobalSettingsFile();
+        basedir = new File( original.getBaseDirectory() );
+        goals = original.getGoals();
+        useReactor = original.useReactor();
+        recursive = original.isRecursive();
+        pom = original.getPom();
+        reactorFailureBehavior = original.getReactorFailureBehavior();
+        properties = original.getProperties();
+        startTime = original.getStartTime();
+        showErrors = original.isShowErrors();
+        eventMonitors = original.getEventMonitors();
+        activeProfiles = original.getActiveProfiles();
+        inactiveProfiles = original.getInactiveProfiles();
+        transferListener = original.getTransferListener();
+        loggingLevel = original.getLoggingLevel();
+        globalChecksumPolicy = original.getGlobalChecksumPolicy();
+        updateSnapshots = original.isUpdateSnapshots();
+        profileManager = original.getProfileManager();
+        remoteRepositories = original.getRemoteRepositories();
+        noSnapshotUpdates = original.isNoSnapshotUpdates();
+        realmManager = original.getRealmManager();
+    }
+
     public String getBaseDirectory()
     {
         if ( basedir == null )

Modified: maven/components/trunk/maven-core/src/main/java/org/apache/maven/plugin/DefaultPluginManager.java
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-core/src/main/java/org/apache/maven/plugin/DefaultPluginManager.java?rev=615004&r1=615003&r2=615004&view=diff
==============================================================================
--- maven/components/trunk/maven-core/src/main/java/org/apache/maven/plugin/DefaultPluginManager.java (original)
+++ maven/components/trunk/maven-core/src/main/java/org/apache/maven/plugin/DefaultPluginManager.java Thu Jan 24 13:29:12 2008
@@ -492,7 +492,7 @@
         // followed by the plugin's default artifact set
         dependencies.addAll( resolutionGroup.getArtifacts() );
 
-        List repositories = new ArrayList();
+        LinkedHashSet repositories = new LinkedHashSet();
 
         repositories.addAll( resolutionGroup.getResolutionRepositories() );
 
@@ -503,7 +503,10 @@
                                                                                 pluginArtifact,
                                                                                 Collections.EMPTY_MAP,
                                                                                 localRepository,
-                                                                                repositories,
+                                                                                repositories.isEmpty()
+                                                                                                ? Collections.EMPTY_LIST
+                                                                                                : new ArrayList(
+                                                                                                                 repositories ),
                                                                                 artifactMetadataSource,
                                                                                 coreArtifactFilterManager.getArtifactFilter() );
 

Modified: maven/components/trunk/maven-core/src/main/java/org/apache/maven/plugin/MavenPluginCollector.java
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-core/src/main/java/org/apache/maven/plugin/MavenPluginCollector.java?rev=615004&r1=615003&r2=615004&view=diff
==============================================================================
--- maven/components/trunk/maven-core/src/main/java/org/apache/maven/plugin/MavenPluginCollector.java (original)
+++ maven/components/trunk/maven-core/src/main/java/org/apache/maven/plugin/MavenPluginCollector.java Thu Jan 24 13:29:12 2008
@@ -19,11 +19,15 @@
  * under the License.
  */
 
+import org.apache.maven.artifact.ArtifactUtils;
 import org.apache.maven.model.Plugin;
 import org.apache.maven.plugin.descriptor.PluginDescriptor;
 import org.codehaus.plexus.component.discovery.ComponentDiscoveryEvent;
 import org.codehaus.plexus.component.discovery.ComponentDiscoveryListener;
 import org.codehaus.plexus.component.repository.ComponentSetDescriptor;
+import org.codehaus.plexus.logging.LogEnabled;
+import org.codehaus.plexus.logging.Logger;
+import org.codehaus.plexus.logging.console.ConsoleLogger;
 
 import java.util.HashMap;
 import java.util.HashSet;
@@ -32,7 +36,7 @@
 import java.util.Set;
 
 public class MavenPluginCollector
-    implements ComponentDiscoveryListener
+    implements ComponentDiscoveryListener, LogEnabled
 {
     private Set pluginsInProcess = new HashSet();
 
@@ -40,6 +44,8 @@
 
     private Map pluginIdsByPrefix = new HashMap();
 
+    private Logger logger;
+
     // ----------------------------------------------------------------------
     // Mojo discovery
     // ----------------------------------------------------------------------
@@ -75,12 +81,14 @@
 
     private String constructPluginKey( Plugin plugin )
     {
-        return plugin.getGroupId() + ":" + plugin.getArtifactId() + ":" + plugin.getVersion();
+        String version = ArtifactUtils.toSnapshotVersion( plugin.getVersion() );
+        return plugin.getGroupId() + ":" + plugin.getArtifactId() + ":" + version;
     }
 
     private String constructPluginKey( PluginDescriptor pluginDescriptor )
     {
-        return pluginDescriptor.getGroupId() + ":" + pluginDescriptor.getArtifactId() + ":" + pluginDescriptor.getVersion();
+        String version = ArtifactUtils.toSnapshotVersion( pluginDescriptor.getVersion() );
+        return pluginDescriptor.getGroupId() + ":" + pluginDescriptor.getArtifactId() + ":" + version;
     }
 
     public boolean isPluginInstalled( Plugin plugin )
@@ -102,6 +110,21 @@
         }
 
         return result;
+    }
+
+    protected Logger getLogger()
+    {
+        if ( logger == null )
+        {
+            logger = new ConsoleLogger( Logger.LEVEL_INFO, "internal" );
+        }
+
+        return logger;
+    }
+
+    public void enableLogging( Logger logger )
+    {
+        this.logger = logger;
     }
 
 }

Modified: maven/components/trunk/maven-core/src/main/java/org/apache/maven/plugin/loader/DefaultPluginLoader.java
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-core/src/main/java/org/apache/maven/plugin/loader/DefaultPluginLoader.java?rev=615004&r1=615003&r2=615004&view=diff
==============================================================================
--- maven/components/trunk/maven-core/src/main/java/org/apache/maven/plugin/loader/DefaultPluginLoader.java (original)
+++ maven/components/trunk/maven-core/src/main/java/org/apache/maven/plugin/loader/DefaultPluginLoader.java Thu Jan 24 13:29:12 2008
@@ -92,15 +92,18 @@
         Map projectPluginMap = project.getBuild().getPluginsAsMap();
 
         PluginDescriptor pluginDescriptor = null;
-        for ( Iterator it = descriptors.iterator(); it.hasNext(); )
+        if ( descriptors != null )
         {
-            PluginDescriptor pd = (PluginDescriptor) it.next();
-
-            Plugin projectPlugin = (Plugin) projectPluginMap.get( pd.getPluginLookupKey() );
-            if ( ( projectPlugin != null ) && ( projectPlugin.getVersion() != null ) && projectPlugin.getVersion().equals( pd.getVersion() ) )
+            for ( Iterator it = descriptors.iterator(); it.hasNext(); )
             {
-                pluginDescriptor = pd;
-                break;
+                PluginDescriptor pd = (PluginDescriptor) it.next();
+
+                Plugin projectPlugin = (Plugin) projectPluginMap.get( pd.getPluginLookupKey() );
+                if ( ( projectPlugin != null ) && ( projectPlugin.getVersion() != null ) && projectPlugin.getVersion().equals( pd.getVersion() ) )
+                {
+                    pluginDescriptor = pd;
+                    break;
+                }
             }
         }
 

Modified: maven/components/trunk/maven-core/src/main/java/org/apache/maven/plugin/version/DefaultPluginVersionManager.java
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-core/src/main/java/org/apache/maven/plugin/version/DefaultPluginVersionManager.java?rev=615004&r1=615003&r2=615004&view=diff
==============================================================================
--- maven/components/trunk/maven-core/src/main/java/org/apache/maven/plugin/version/DefaultPluginVersionManager.java (original)
+++ maven/components/trunk/maven-core/src/main/java/org/apache/maven/plugin/version/DefaultPluginVersionManager.java Thu Jan 24 13:29:12 2008
@@ -179,6 +179,8 @@
                                        String metaVersionId )
         throws PluginVersionResolutionException, InvalidPluginException
     {
+        getLogger().info( "Attempting to resolve a version for plugin: " + groupId + ":" + artifactId + " using meta-version: " + metaVersionId  );
+
         Artifact artifact = artifactFactory.createProjectArtifact( groupId, artifactId, metaVersionId );
 
         String key = artifact.getDependencyConflictId();

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=615004&r1=615003&r2=615004&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 Thu Jan 24 13:29:12 2008
@@ -181,6 +181,11 @@
         start( embedderConfiguration );
     }
 
+    public MavenExecutionRequest getDefaultRequest()
+    {
+        return request;
+    }
+
     // ----------------------------------------------------------------------
     // Accessors
     // ----------------------------------------------------------------------