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 2007/07/28 06:57:38 UTC

svn commit: r560496 - in /maven/components/trunk: ./ maven-core/src/main/java/org/apache/maven/extension/ maven-embedder/ maven-embedder/src/main/assembly/ maven-embedder/src/test/java/org/apache/maven/embedder/

Author: jvanzyl
Date: Fri Jul 27 21:57:37 2007
New Revision: 560496

URL: http://svn.apache.org/viewvc?view=rev&rev=560496
Log:
o updating to the new version of plexus which is the unified JAR once again. I can now move on
  to doxia and attempt to use the same container for the trunk and branch.


Modified:
    maven/components/trunk/build.properties
    maven/components/trunk/build.xml
    maven/components/trunk/maven-core/src/main/java/org/apache/maven/extension/DefaultExtensionManager.java
    maven/components/trunk/maven-embedder/pom.xml
    maven/components/trunk/maven-embedder/src/main/assembly/bin.xml
    maven/components/trunk/maven-embedder/src/test/java/org/apache/maven/embedder/AbstractEmbedderTestCase.java
    maven/components/trunk/maven-embedder/src/test/java/org/apache/maven/embedder/MavenEmbedderBehaviorTest.java
    maven/components/trunk/pom.xml

Modified: maven/components/trunk/build.properties
URL: http://svn.apache.org/viewvc/maven/components/trunk/build.properties?view=diff&rev=560496&r1=560495&r2=560496
==============================================================================
--- maven/components/trunk/build.properties (original)
+++ maven/components/trunk/build.properties Fri Jul 27 21:57:37 2007
@@ -17,11 +17,11 @@
 
 classworlds.version=1.2-alpha-7
 plexus-active-collections.version=1.0-beta-1
-plexus.version=1.0-alpha-24
-plexus-utils.version=1.4.3-SNAPSHOT
+plexus.version=1.0-alpha-29
+plexus-utils.version=1.4.3
 commons-cli.version=1.0
 wagon.version=1.0-beta-2
 doxia.version=1.0-alpha-9-SNAPSHOT
-modello.version=1.0-alpha-13
+modello.version=1.0-alpha-16
 junit.version=3.8.1
 jdom.version=1.0

Modified: maven/components/trunk/build.xml
URL: http://svn.apache.org/viewvc/maven/components/trunk/build.xml?view=diff&rev=560496&r1=560495&r2=560496
==============================================================================
--- maven/components/trunk/build.xml (original)
+++ maven/components/trunk/build.xml Fri Jul 27 21:57:37 2007
@@ -119,7 +119,6 @@
     <pull orgpath="org/codehaus/plexus/plexus-active-collections" version="${plexus-active-collections.version}" name="plexus-active-collections" repository="codehaus"/>
     <pull orgpath="org/codehaus/plexus/plexus-utils" version="${plexus-utils.version}" name="plexus-utils" repository="codehaus"/>
     <pull orgpath="org/codehaus/plexus/plexus-container-default" version="${plexus.version}" name="plexus-container-default" repository="codehaus"/>
-    <pull orgpath="org/codehaus/plexus/plexus-component-api" version="${plexus.version}" name="plexus-component-api" repository="codehaus"/>    
     <pull orgpath="org/codehaus/plexus/plexus-classworlds" version="${classworlds.version}" name="plexus-classworlds" repository="codehaus"/>
     <pull orgpath="org/apache/maven/maven-parent" version="4" name="maven-parent" type="pom"/>
     <pull orgpath="org/apache/maven/plugins/maven-plugins" version="4-SNAPSHOT" name="maven-plugins" type="pom"/>
@@ -148,7 +147,6 @@
       <pathelement location="${maven.repo.local}/org/codehaus/plexus/plexus-active-collections/${plexus-active-collections.version}/plexus-active-collections-${plexus-active-collections.version}.jar"/>
       <pathelement location="${maven.repo.local}/org/codehaus/plexus/plexus-utils/${plexus-utils.version}/plexus-utils-${plexus-utils.version}.jar"/>
       <pathelement location="${maven.repo.local}/org/codehaus/plexus/plexus-container-default/${plexus.version}/plexus-container-default-${plexus.version}.jar"/>
-      <pathelement location="${maven.repo.local}/org/codehaus/plexus/plexus-component-api/${plexus.version}/plexus-component-api-${plexus.version}.jar"/>
       <pathelement location="${maven.repo.local}/org/codehaus/plexus/plexus-classworlds/${classworlds.version}/plexus-classworlds-${classworlds.version}.jar"/>
       <pathelement location="${maven.repo.local}/org/codehaus/plexus/plexus-interactivity-api/${plexus-interactivity-api.version}/plexus-interactivity-api-${plexus-interactivity-api.version}.jar"/>
       <pathelement location="${maven.repo.local}/org/apache/maven/wagon/wagon-manager/${wagon.version}/wagon-manager-${wagon.version}.jar"/>

Modified: maven/components/trunk/maven-core/src/main/java/org/apache/maven/extension/DefaultExtensionManager.java
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-core/src/main/java/org/apache/maven/extension/DefaultExtensionManager.java?view=diff&rev=560496&r1=560495&r2=560496
==============================================================================
--- maven/components/trunk/maven-core/src/main/java/org/apache/maven/extension/DefaultExtensionManager.java (original)
+++ maven/components/trunk/maven-core/src/main/java/org/apache/maven/extension/DefaultExtensionManager.java Fri Jul 27 21:57:37 2007
@@ -20,11 +20,17 @@
  */
 
 import org.apache.maven.ArtifactFilterManager;
+import org.apache.maven.plugin.DefaultPluginManager;
 import org.apache.maven.artifact.Artifact;
 import org.apache.maven.artifact.ArtifactUtils;
+import org.apache.maven.artifact.versioning.VersionRange;
+import org.apache.maven.artifact.versioning.InvalidVersionSpecificationException;
+import org.apache.maven.artifact.versioning.DefaultArtifactVersion;
 import org.apache.maven.artifact.factory.ArtifactFactory;
 import org.apache.maven.artifact.manager.WagonManager;
 import org.apache.maven.artifact.metadata.ArtifactMetadataSource;
+import org.apache.maven.artifact.metadata.ResolutionGroup;
+import org.apache.maven.artifact.metadata.ArtifactMetadataRetrievalException;
 import org.apache.maven.artifact.repository.ArtifactRepository;
 import org.apache.maven.artifact.resolver.ArtifactNotFoundException;
 import org.apache.maven.artifact.resolver.ArtifactResolutionException;
@@ -46,6 +52,8 @@
 import java.util.Collections;
 import java.util.Iterator;
 import java.util.List;
+import java.util.Set;
+import java.util.HashSet;
 
 /**
  * Used to locate extensions.
@@ -130,9 +138,30 @@
             ArtifactFilter filter =
                 new ProjectArtifactExceptionFilter( artifactFilterManager.getArtifactFilter(), projectArtifact );
 
+
+            ResolutionGroup resolutionGroup;
+
+            try
+            {
+                resolutionGroup = artifactMetadataSource.retrieve( extensionArtifact, localRepository, remoteRepositories );
+            }
+            catch ( ArtifactMetadataRetrievalException e )
+            {
+                throw new ArtifactResolutionException( "Unable to download metadata from repository for plugin '" +
+                    extensionArtifact.getId() + "': " + e.getMessage(), extensionArtifact, e );
+            }
+
+            // We use the same hack here to make sure that plexus 1.1 is available for extensions that do
+            // not declare plexus-utils but need it. MNG-2900
+            DefaultPluginManager.checkPlexusUtils( resolutionGroup, artifactFactory );
+
+            Set dependencies = new HashSet( resolutionGroup.getArtifacts() );
+
+            dependencies.add( extensionArtifact );
+
             // TODO: Make this work with managed dependencies, or an analogous management section in the POM.
             ArtifactResolutionResult result =
-                artifactResolver.resolveTransitively( Collections.singleton( extensionArtifact ), projectArtifact,
+                artifactResolver.resolveTransitively( dependencies, projectArtifact,
                                                       Collections.EMPTY_MAP, localRepository, remoteRepositories,
                                                       artifactMetadataSource, filter );
 
@@ -202,4 +231,53 @@
         }
     }
 
+    public static void checkPlexusUtils( ResolutionGroup resolutionGroup, ArtifactFactory artifactFactory )
+    {
+        // ----------------------------------------------------------------------------
+        // If the plugin already declares a dependency on plexus-utils then we're all
+        // set as the plugin author is aware of its use. If we don't have a dependency
+        // on plexus-utils then we must protect users from stupid plugin authors who
+        // did not declare a direct dependency on plexus-utils because the version
+        // Maven uses is hidden from downstream use. We will also bump up any
+        // anything below 1.1 to 1.1 as this mimics the behaviour in 2.0.5 where
+        // plexus-utils 1.1 was being forced into use.
+        // ----------------------------------------------------------------------------
+
+        VersionRange vr = null;
+
+        try
+        {
+            vr = VersionRange.createFromVersionSpec( "[1.1,)" );
+        }
+        catch ( InvalidVersionSpecificationException e )
+        {
+            // Won't happen
+        }
+
+        boolean plexusUtilsPresent = false;
+
+        for ( Iterator i = resolutionGroup.getArtifacts().iterator(); i.hasNext(); )
+        {
+            Artifact a = (Artifact) i.next();
+
+            if ( a.getArtifactId().equals( "plexus-utils" ) &&
+                vr.containsVersion( new DefaultArtifactVersion( a.getVersion() ) ) )
+            {
+                plexusUtilsPresent = true;
+
+                break;
+            }
+        }
+
+        if ( !plexusUtilsPresent )
+        {
+            // We will add plexus-utils as every plugin was getting this anyway from Maven itself. We will set the
+            // version to the latest version we know that works as of the 2.0.6 release. We set the scope to runtime
+            // as this is what's implicitly happening in 2.0.6.
+
+            resolutionGroup.getArtifacts().add( artifactFactory.createArtifact( "org.codehaus.plexus",
+                                                                                "plexus-utils", "1.1",
+                                                                                Artifact.SCOPE_RUNTIME, "jar" ) );
+        }
+    }    
 }

Modified: maven/components/trunk/maven-embedder/pom.xml
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-embedder/pom.xml?view=diff&rev=560496&r1=560495&r2=560496
==============================================================================
--- maven/components/trunk/maven-embedder/pom.xml (original)
+++ maven/components/trunk/maven-embedder/pom.xml Fri Jul 27 21:57:37 2007
@@ -43,7 +43,7 @@
       <plugin>
         <artifactId>shade-maven-plugin</artifactId>
         <groupId>org.codehaus.mojo</groupId>
-        <version>1.0-alpha-4</version>
+        <version>1.0-alpha-8-SNAPSHOT</version>
         <executions>
           <execution>
             <phase>package</phase>
@@ -51,8 +51,12 @@
               <goal>shade</goal>
             </goals>
             <configuration>
+              <transformers>
+               <transformer implementation="org.codehaus.mojo.shade.resource.ComponentsXmlResourceTransformer"/>
+              </transformers>
               <artifactSet>
                 <excludes>
+                  <exclude>org.codehaus.plexus:plexus-component-api</exclude>                
                   <exclude>classworlds:classworlds</exclude>
                   <exclude>junit:junit</exclude>
                   <exclude>jmock:jmock</exclude>

Modified: maven/components/trunk/maven-embedder/src/main/assembly/bin.xml
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-embedder/src/main/assembly/bin.xml?view=diff&rev=560496&r1=560495&r2=560496
==============================================================================
--- maven/components/trunk/maven-embedder/src/main/assembly/bin.xml (original)
+++ maven/components/trunk/maven-embedder/src/main/assembly/bin.xml Fri Jul 27 21:57:37 2007
@@ -61,7 +61,7 @@
       <directory>target</directory>
       <outputDirectory>lib</outputDirectory>
       <includes>
-        <include>maven-embedder-*uber.jar</include>
+        <include>maven-embedder-*.jar</include>
       </includes>
     </fileSet>
   </fileSets>

Modified: maven/components/trunk/maven-embedder/src/test/java/org/apache/maven/embedder/AbstractEmbedderTestCase.java
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-embedder/src/test/java/org/apache/maven/embedder/AbstractEmbedderTestCase.java?view=diff&rev=560496&r1=560495&r2=560496
==============================================================================
--- maven/components/trunk/maven-embedder/src/test/java/org/apache/maven/embedder/AbstractEmbedderTestCase.java (original)
+++ maven/components/trunk/maven-embedder/src/test/java/org/apache/maven/embedder/AbstractEmbedderTestCase.java Fri Jul 27 21:57:37 2007
@@ -40,6 +40,8 @@
     {
         super.setUp();
 
+        System.out.println( ">>> " + getBasedir() );
+        
         ClassLoader classLoader = Thread.currentThread().getContextClassLoader();
 
         Configuration configuration = new DefaultConfiguration()

Modified: maven/components/trunk/maven-embedder/src/test/java/org/apache/maven/embedder/MavenEmbedderBehaviorTest.java
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-embedder/src/test/java/org/apache/maven/embedder/MavenEmbedderBehaviorTest.java?view=diff&rev=560496&r1=560495&r2=560496
==============================================================================
--- maven/components/trunk/maven-embedder/src/test/java/org/apache/maven/embedder/MavenEmbedderBehaviorTest.java (original)
+++ maven/components/trunk/maven-embedder/src/test/java/org/apache/maven/embedder/MavenEmbedderBehaviorTest.java Fri Jul 27 21:57:37 2007
@@ -25,7 +25,7 @@
 
 /** @author Jason van Zyl */
 public class MavenEmbedderBehaviorTest
-    extends PlexusTestCase
+    extends AbstractEmbedderTestCase
 {
     public void testThatTheLocalRepositoryIsTakenFromGlobalSettingsWhenUserSettingsAreNull()
         throws Exception

Modified: maven/components/trunk/pom.xml
URL: http://svn.apache.org/viewvc/maven/components/trunk/pom.xml?view=diff&rev=560496&r1=560495&r2=560496
==============================================================================
--- maven/components/trunk/pom.xml (original)
+++ maven/components/trunk/pom.xml Fri Jul 27 21:57:37 2007
@@ -80,7 +80,7 @@
         <plugin>
           <groupId>org.codehaus.modello</groupId>
           <artifactId>modello-maven-plugin</artifactId>
-          <version>1.0-alpha-13</version>
+          <version>1.0-alpha-16-SNAPSHOT</version>
           <executions>
             <execution>
               <id>site-docs</id>
@@ -128,7 +128,7 @@
     <module>maven-embedder</module>
   </modules>
   <properties>
-    <plexusVersion>1.0-alpha-25</plexusVersion>
+    <plexusVersion>1.0-alpha-29</plexusVersion>
     <wagonVersion>1.0-beta-2</wagonVersion>
   </properties>
   <dependencies>
@@ -148,18 +148,13 @@
       </dependency>
       <dependency>
         <groupId>org.codehaus.plexus</groupId>
-        <artifactId>plexus-component-api</artifactId>
-        <version>${plexusVersion}</version>
-      </dependency>
-      <dependency>
-        <groupId>org.codehaus.plexus</groupId>
         <artifactId>plexus-classworlds</artifactId>
         <version>1.2-alpha-7</version>
       </dependency>
       <dependency>
         <groupId>org.codehaus.plexus</groupId>
         <artifactId>plexus-utils</artifactId>
-        <version>1.4.3-SNAPSHOT</version>
+        <version>1.4.3</version>
       </dependency>
       <dependency>
         <groupId>org.apache.maven.wagon</groupId>