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/08/25 23:11:25 UTC

svn commit: r688884 [2/6] - in /maven/components/branches/maven-2.0.x: ./ apache-maven/ apache-maven/src/bin/ apache-maven/src/conf/ apache-maven/src/site/ apache-maven/src/site/apt/ apache-maven/src/site/apt/scripting-support/ bootstrap/ bootstrap/boo...

Modified: maven/components/branches/maven-2.0.x/maven-artifact/pom.xml
URL: http://svn.apache.org/viewvc/maven/components/branches/maven-2.0.x/maven-artifact/pom.xml?rev=688884&r1=688883&r2=688884&view=diff
==============================================================================
--- maven/components/branches/maven-2.0.x/maven-artifact/pom.xml (original)
+++ maven/components/branches/maven-2.0.x/maven-artifact/pom.xml Mon Aug 25 14:11:19 2008
@@ -23,7 +23,7 @@
   <parent>
     <artifactId>maven</artifactId>
     <groupId>org.apache.maven</groupId>
-    <version>2.0.11-SNAPSHOT</version>
+    <version>2.0.9</version>
   </parent>
   <modelVersion>4.0.0</modelVersion>
   <artifactId>maven-artifact</artifactId>

Modified: maven/components/branches/maven-2.0.x/maven-artifact/src/main/java/org/apache/maven/artifact/metadata/ArtifactMetadataSource.java
URL: http://svn.apache.org/viewvc/maven/components/branches/maven-2.0.x/maven-artifact/src/main/java/org/apache/maven/artifact/metadata/ArtifactMetadataSource.java?rev=688884&r1=688883&r2=688884&view=diff
==============================================================================
--- maven/components/branches/maven-2.0.x/maven-artifact/src/main/java/org/apache/maven/artifact/metadata/ArtifactMetadataSource.java (original)
+++ maven/components/branches/maven-2.0.x/maven-artifact/src/main/java/org/apache/maven/artifact/metadata/ArtifactMetadataSource.java Mon Aug 25 14:11:19 2008
@@ -28,7 +28,7 @@
 /**
  * Provides some metadata operations, like querying the remote repository for a list of versions available for an
  * artifact.
- *
+ * 
  * @author <a href="mailto:jason@maven.org">Jason van Zyl </a>
  * @version $Id$
  */
@@ -40,16 +40,10 @@
         throws ArtifactMetadataRetrievalException;
 
     /**
-     * Resolve all relocations in the POM for this artifact, and return the new artifact coordinate.
-     */
-    Artifact retrieveRelocatedArtifact( Artifact artifact, ArtifactRepository localRepository, List remoteRepositories )
-        throws ArtifactMetadataRetrievalException;
-
-    /**
      * Get a list of available versions for an artifact in the remote repository
-     *
+     * 
      * @param artifact artifact we are interested in. Only <code>groupid</code> and <code>artifactId</code>
-     *                 are needed, for instance the following code will work
+     *                 are needed, for instance the following code will work 
      *                 <code>artifactFactory.createProjectArtifact( "org.apache.maven", "maven", "" )</code>
      * @param localRepository local repository
      * @param remoteRepositories remote repositories, {@link List} $lt; {@link ArtifactRepository} >

Modified: maven/components/branches/maven-2.0.x/maven-artifact/src/main/java/org/apache/maven/artifact/resolver/AbstractArtifactResolutionException.java
URL: http://svn.apache.org/viewvc/maven/components/branches/maven-2.0.x/maven-artifact/src/main/java/org/apache/maven/artifact/resolver/AbstractArtifactResolutionException.java?rev=688884&r1=688883&r2=688884&view=diff
==============================================================================
--- maven/components/branches/maven-2.0.x/maven-artifact/src/main/java/org/apache/maven/artifact/resolver/AbstractArtifactResolutionException.java (original)
+++ maven/components/branches/maven-2.0.x/maven-artifact/src/main/java/org/apache/maven/artifact/resolver/AbstractArtifactResolutionException.java Mon Aug 25 14:11:19 2008
@@ -45,7 +45,7 @@
 
     private String classifier;
 
-    private Artifact artifact;
+    private Artifact artifact; 
 
     private List remoteRepositories;
 
@@ -200,7 +200,6 @@
             }
         }
 
-        sb.append( LS );
         sb.append( constructArtifactPath( path, "" ) );
         sb.append( LS );
         return sb.toString();

Modified: maven/components/branches/maven-2.0.x/maven-artifact/src/main/java/org/apache/maven/artifact/resolver/DefaultArtifactCollector.java
URL: http://svn.apache.org/viewvc/maven/components/branches/maven-2.0.x/maven-artifact/src/main/java/org/apache/maven/artifact/resolver/DefaultArtifactCollector.java?rev=688884&r1=688883&r2=688884&view=diff
==============================================================================
--- maven/components/branches/maven-2.0.x/maven-artifact/src/main/java/org/apache/maven/artifact/resolver/DefaultArtifactCollector.java (original)
+++ maven/components/branches/maven-2.0.x/maven-artifact/src/main/java/org/apache/maven/artifact/resolver/DefaultArtifactCollector.java Mon Aug 25 14:11:19 2008
@@ -24,15 +24,17 @@
 import org.apache.maven.artifact.metadata.ArtifactMetadataSource;
 import org.apache.maven.artifact.metadata.ResolutionGroup;
 import org.apache.maven.artifact.repository.ArtifactRepository;
-import org.apache.maven.artifact.resolver.filter.AndArtifactFilter;
 import org.apache.maven.artifact.resolver.filter.ArtifactFilter;
+import org.apache.maven.artifact.resolver.filter.AndArtifactFilter;
 import org.apache.maven.artifact.versioning.ArtifactVersion;
-import org.apache.maven.artifact.versioning.ManagedVersionMap;
 import org.apache.maven.artifact.versioning.OverConstrainedVersionException;
 import org.apache.maven.artifact.versioning.VersionRange;
+import org.apache.maven.artifact.versioning.ManagedVersionMap;
 
 import java.util.ArrayList;
 import java.util.Collections;
+import java.util.HashMap;
+import java.util.HashSet;
 import java.util.Iterator;
 import java.util.LinkedHashMap;
 import java.util.LinkedHashSet;
@@ -71,7 +73,7 @@
 
         ManagedVersionMap versionMap = getManagedVersionsMap( originatingArtifact, managedVersions );
 
-        recurse( originatingArtifact, root, resolvedArtifacts, versionMap, localRepository, remoteRepositories, source, filter,
+        recurse( root, resolvedArtifacts, versionMap, localRepository, remoteRepositories, source, filter,
                  listeners );
 
         Set set = new LinkedHashSet();
@@ -140,7 +142,7 @@
         return versionMap;
     }
 
-    private void recurse( Artifact originatingArtifact, ResolutionNode node, Map resolvedArtifacts, ManagedVersionMap managedVersions,
+    private void recurse( ResolutionNode node, Map resolvedArtifacts, ManagedVersionMap managedVersions,
                           ArtifactRepository localRepository, List remoteRepositories, ArtifactMetadataSource source,
                           ArtifactFilter filter, List listeners )
         throws CyclicDependencyException, ArtifactResolutionException, OverConstrainedVersionException
@@ -148,7 +150,7 @@
         fireEvent( ResolutionListener.TEST_ARTIFACT, listeners, node );
 
         Object key = node.getKey();
-
+        
         // TODO: Does this check need to happen here?  Had to add the same call
         // below when we iterate on child nodes -- will that suffice?
         if ( managedVersions.containsKey( key ))
@@ -190,7 +192,7 @@
                         for ( int j = 0; j < 2; j++ )
                         {
                             Artifact resetArtifact = resetNodes[j].getArtifact();
-
+                            
                             //MNG-2123: if the previous node was not a range, then it wouldn't have any available
                             //versions. We just clobbered the selected version above. (why? i have no idea.)
                             //So since we are here and this is ranges we must go figure out the version (for a third time...)
@@ -218,7 +220,7 @@
                                     }
                                 }
                                 //end hack
-
+                               
                                 //MNG-2861: match version can return null
                                 ArtifactVersion selectedVersion = resetArtifact.getVersionRange().matchVersion( resetArtifact.getAvailableVersions() );
                                 if (selectedVersion != null)
@@ -229,7 +231,7 @@
                                 {
                                   throw new OverConstrainedVersionException(" Unable to find a version in "+ resetArtifact.getAvailableVersions()+" to match the range "+ resetArtifact.getVersionRange(), resetArtifact);
                                 }
-
+                                
                                 fireEvent( ResolutionListener.SELECT_VERSION_FROM_RANGE, listeners, resetNodes[j] );
                             }
                         }
@@ -288,112 +290,94 @@
             for ( Iterator i = node.getChildrenIterator(); i.hasNext(); )
             {
                 ResolutionNode child = (ResolutionNode) i.next();
-
                 // We leave in optional ones, but don't pick up its dependencies
                 if ( !child.isResolved() && ( !child.getArtifact().isOptional() || child.isChildOfRootNode() ) )
                 {
                     Artifact artifact = child.getArtifact();
-                    List childRemoteRepositories = child.getRemoteRepositories();
                     try
                     {
-                        Object childKey;
-                        do
+                        Object childKey = child.getKey();
+                        if ( managedVersions.containsKey( childKey ) )
                         {
-                            childKey = child.getKey();
-
-                            if ( managedVersions.containsKey( childKey ) )
+                            // If this child node is a managed dependency, ensure
+                            // we are using the dependency management version
+                            // of this child if applicable b/c we want to use the
+                            // managed version's POM, *not* any other version's POM.
+                            // We retrieve the POM below in the retrieval step.
+                            manageArtifact( child, managedVersions, listeners );
+                            
+                            // Also, we need to ensure that any exclusions it presents are
+                            // added to the artifact before we retrieve the metadata
+                            // for the artifact; otherwise we may end up with unwanted
+                            // dependencies.
+                            Artifact ma = (Artifact) managedVersions.get( childKey );
+                            ArtifactFilter managedExclusionFilter = ma.getDependencyFilter();
+                            if ( null != managedExclusionFilter )
                             {
-                                // If this child node is a managed dependency, ensure
-                                // we are using the dependency management version
-                                // of this child if applicable b/c we want to use the
-                                // managed version's POM, *not* any other version's POM.
-                                // We retrieve the POM below in the retrieval step.
-                                manageArtifact( child, managedVersions, listeners );
-
-                                // Also, we need to ensure that any exclusions it presents are
-                                // added to the artifact before we retrieve the metadata
-                                // for the artifact; otherwise we may end up with unwanted
-                                // dependencies.
-                                Artifact ma = (Artifact) managedVersions.get( childKey );
-                                ArtifactFilter managedExclusionFilter = ma.getDependencyFilter();
-                                if ( null != managedExclusionFilter )
+                                if ( null != artifact.getDependencyFilter() )
                                 {
-                                    if ( null != artifact.getDependencyFilter() )
-                                    {
-                                        AndArtifactFilter aaf = new AndArtifactFilter();
-                                        aaf.add( artifact.getDependencyFilter() );
-                                        aaf.add( managedExclusionFilter );
-                                        artifact.setDependencyFilter( aaf );
-                                    }
-                                    else
-                                    {
-                                        artifact.setDependencyFilter( managedExclusionFilter );
-                                    }
+                                    AndArtifactFilter aaf = new AndArtifactFilter();
+                                    aaf.add( artifact.getDependencyFilter() );
+                                    aaf.add( managedExclusionFilter );
+                                    artifact.setDependencyFilter( aaf );
+                                }
+                                else
+                                {
+                                    artifact.setDependencyFilter( managedExclusionFilter );
                                 }
                             }
+                        }
 
-                            if ( artifact.getVersion() == null )
+                        if ( artifact.getVersion() == null )
+                        {
+                            // set the recommended version
+                            // TODO: maybe its better to just pass the range through to retrieval and use a transformation?
+                            ArtifactVersion version;
+                            if ( artifact.isSelectedVersionKnown() )
+                            {
+                                version = artifact.getSelectedVersion();
+                            }
+                            else
                             {
-                                // set the recommended version
-                                // TODO: maybe its better to just pass the range through to retrieval and use a transformation?
-                                ArtifactVersion version;
-                                if ( artifact.isSelectedVersionKnown() )
+                                //go find the version
+                                List versions = artifact.getAvailableVersions();
+                                if ( versions == null )
                                 {
-                                    version = artifact.getSelectedVersion();
+                                    versions = source.retrieveAvailableVersions( artifact, localRepository,
+                                                                                 remoteRepositories );
+                                    artifact.setAvailableVersions( versions );
                                 }
-                                else
-                                {
-                                    //go find the version
-                                    List versions = artifact.getAvailableVersions();
-                                    if ( versions == null )
-                                    {
-                                        versions = source.retrieveAvailableVersions( artifact, localRepository,
-                                                                                     childRemoteRepositories );
-                                        artifact.setAvailableVersions( versions );
-                                    }
-
-                                    Collections.sort( versions );
 
-                                    VersionRange versionRange = artifact.getVersionRange();
+                                VersionRange versionRange = artifact.getVersionRange();
 
-                                    version = versionRange.matchVersion( versions );
+                                version = versionRange.matchVersion( versions );
 
-                                    if ( version == null )
+                                if ( version == null )
+                                {
+                                    if ( versions.isEmpty() )
+                                    {
+                                        throw new OverConstrainedVersionException(
+                                            "No versions are present in the repository for the artifact with a range " +
+                                                versionRange, artifact, remoteRepositories );
+                                    }
+                                    else
                                     {
-                                        // Getting the dependency trail so it can be logged in the exception
-                                        artifact.setDependencyTrail( node.getDependencyTrail() );
-
-                                        if ( versions.isEmpty() )
-                                        {
-                                            throw new OverConstrainedVersionException(
-                                                "No versions are present in the repository for the artifact with a range " +
-                                                    versionRange, artifact, childRemoteRepositories );
-                                        }
-
                                         throw new OverConstrainedVersionException( "Couldn't find a version in " +
                                             versions + " to match range " + versionRange, artifact,
-                                            childRemoteRepositories );
+                                                                                          remoteRepositories );
                                     }
                                 }
-
-                                //this is dangerous because artifact.getSelectedVersion() can
-                                //return null. However it is ok here because we first check if the
-                                //selected version is known. As currently coded we can't get a null here.
-                                artifact.selectVersion( version.toString() );
-                                fireEvent( ResolutionListener.SELECT_VERSION_FROM_RANGE, listeners, child );
                             }
 
-                            Artifact relocated = source.retrieveRelocatedArtifact( artifact, localRepository, childRemoteRepositories );
-                            if ( relocated != null && !artifact.equals( relocated ) )
-                            {
-                                artifact = relocated;
-                                child.setArtifact( artifact );
-                            }
+                            //this is dangerous because artifact.getSelectedVersion() can
+                            //return null. However it is ok here because we first check if the
+                            //selected version is known. As currently coded we can't get a null here.
+                            artifact.selectVersion( version.toString() );
+                            fireEvent( ResolutionListener.SELECT_VERSION_FROM_RANGE, listeners, child );
                         }
-                        while( !childKey.equals( child.getKey() ) );
 
                         artifact.setDependencyTrail( node.getDependencyTrail() );
-                        ResolutionGroup rGroup = source.retrieve( artifact, localRepository, childRemoteRepositories );
+                        ResolutionGroup rGroup = source.retrieve( artifact, localRepository, remoteRepositories );
 
                         //TODO might be better to have source.retrieve() throw a specific exception for this situation
                         //and catch here rather than have it return null
@@ -411,17 +395,17 @@
                         // would like to throw this, but we have crappy stuff in the repo
 
                         fireEvent( ResolutionListener.OMIT_FOR_CYCLE, listeners,
-                                   new ResolutionNode( e.getArtifact(), childRemoteRepositories, child ) );
+                                   new ResolutionNode( e.getArtifact(), remoteRepositories, child ) );
                     }
                     catch ( ArtifactMetadataRetrievalException e )
                     {
                         artifact.setDependencyTrail( node.getDependencyTrail() );
                         throw new ArtifactResolutionException(
-                            "Unable to get dependency information: " + e.getMessage(), artifact, childRemoteRepositories,
+                            "Unable to get dependency information: " + e.getMessage(), artifact, remoteRepositories,
                             e );
                     }
 
-                    recurse( originatingArtifact, child, resolvedArtifacts, managedVersions, localRepository, childRemoteRepositories, source,
+                    recurse( child, resolvedArtifacts, managedVersions, localRepository, remoteRepositories, source,
                              filter, listeners );
                 }
             }

Modified: maven/components/branches/maven-2.0.x/maven-artifact/src/main/java/org/apache/maven/artifact/resolver/ResolutionNode.java
URL: http://svn.apache.org/viewvc/maven/components/branches/maven-2.0.x/maven-artifact/src/main/java/org/apache/maven/artifact/resolver/ResolutionNode.java?rev=688884&r1=688883&r2=688884&view=diff
==============================================================================
--- maven/components/branches/maven-2.0.x/maven-artifact/src/main/java/org/apache/maven/artifact/resolver/ResolutionNode.java (original)
+++ maven/components/branches/maven-2.0.x/maven-artifact/src/main/java/org/apache/maven/artifact/resolver/ResolutionNode.java Mon Aug 25 14:11:19 2008
@@ -19,11 +19,6 @@
  * under the License.
  */
 
-import org.apache.maven.artifact.Artifact;
-import org.apache.maven.artifact.resolver.filter.ArtifactFilter;
-import org.apache.maven.artifact.versioning.ArtifactVersion;
-import org.apache.maven.artifact.versioning.OverConstrainedVersionException;
-
 import java.util.ArrayList;
 import java.util.Collections;
 import java.util.Iterator;
@@ -31,9 +26,14 @@
 import java.util.List;
 import java.util.Set;
 
+import org.apache.maven.artifact.Artifact;
+import org.apache.maven.artifact.resolver.filter.ArtifactFilter;
+import org.apache.maven.artifact.versioning.ArtifactVersion;
+import org.apache.maven.artifact.versioning.OverConstrainedVersionException;
+
 public class ResolutionNode
 {
-    private Artifact artifact;
+    private final Artifact artifact;
 
     private List children;
 
@@ -53,27 +53,22 @@
     {
         this.artifact = artifact;
         this.remoteRepositories = remoteRepositories;
-        depth = 0;
-        parents = Collections.EMPTY_LIST;
-        parent = null;
+        this.depth = 0;
+        this.parents = Collections.EMPTY_LIST;
+        this.parent = null;
     }
 
     public ResolutionNode( Artifact artifact, List remoteRepositories, ResolutionNode parent )
     {
         this.artifact = artifact;
         this.remoteRepositories = remoteRepositories;
-        depth = parent.depth + 1;
-        parents = new ArrayList();
-        parents.addAll( parent.parents );
-        parents.add( parent.getKey() );
+        this.depth = parent.depth + 1;
+        this.parents = new ArrayList();
+        this.parents.addAll( parent.parents );
+        this.parents.add( parent.getKey() );
         this.parent = parent;
     }
 
-    public void setArtifact( Artifact artifact )
-    {
-        this.artifact = artifact;
-    }
-
     public Artifact getArtifact()
     {
         return artifact;
@@ -147,13 +142,13 @@
                     //MNG-2123: null is a valid response to getSelectedVersion, don't
                     //assume it won't ever be.
                     if (selected != null)
-                    {
+                    {  
                         artifact.selectVersion( selected.toString() );
                     }
                     else
                     {
                         throw new OverConstrainedVersionException("Unable to get a selected Version for "+ artifact.getArtifactId(),artifact);
-                    }
+                    }                 
                 }
 
                 ids.add( 0, artifact );
@@ -196,7 +191,7 @@
 
     public void enable()
     {
-        active = true;
+        this.active = true;
         // TODO: if it was null, we really need to go find them now... or is this taken care of by the ordering?
         if ( children != null )
         {
@@ -210,7 +205,7 @@
 
     public void disable()
     {
-        active = false;
+        this.active = false;
         if ( children != null )
         {
             for ( Iterator i = children.iterator(); i.hasNext(); )

Modified: maven/components/branches/maven-2.0.x/maven-artifact/src/main/java/org/apache/maven/artifact/versioning/DefaultArtifactVersion.java
URL: http://svn.apache.org/viewvc/maven/components/branches/maven-2.0.x/maven-artifact/src/main/java/org/apache/maven/artifact/versioning/DefaultArtifactVersion.java?rev=688884&r1=688883&r2=688884&view=diff
==============================================================================
--- maven/components/branches/maven-2.0.x/maven-artifact/src/main/java/org/apache/maven/artifact/versioning/DefaultArtifactVersion.java (original)
+++ maven/components/branches/maven-2.0.x/maven-artifact/src/main/java/org/apache/maven/artifact/versioning/DefaultArtifactVersion.java Mon Aug 25 14:11:19 2008
@@ -183,7 +183,6 @@
         else
         {
             boolean fallback = false;
-
             StringTokenizer tok = new StringTokenizer( part1, "." );
             try
             {
@@ -200,12 +199,6 @@
                 {
                     fallback = true;
                 }
-
-                // string tokenzier won't detect these and ignores them
-                if ( part1.indexOf( ".." ) >= 0 || part1.startsWith( "." ) || part1.endsWith( "." ) )
-                {
-                    fallback = true;
-                }
             }
             catch ( NumberFormatException e )
             {

Modified: maven/components/branches/maven-2.0.x/maven-artifact/src/main/resources/META-INF/plexus/components.xml
URL: http://svn.apache.org/viewvc/maven/components/branches/maven-2.0.x/maven-artifact/src/main/resources/META-INF/plexus/components.xml?rev=688884&r1=688883&r2=688884&view=diff
==============================================================================
--- maven/components/branches/maven-2.0.x/maven-artifact/src/main/resources/META-INF/plexus/components.xml (original)
+++ maven/components/branches/maven-2.0.x/maven-artifact/src/main/resources/META-INF/plexus/components.xml Mon Aug 25 14:11:19 2008
@@ -175,9 +175,8 @@
       <implementation>org.apache.maven.artifact.handler.DefaultArtifactHandler</implementation>
       <configuration>
         <type>rar</type>
-        <includesDependencies>true</includesDependencies>
         <language>java</language>
-        <addedToClasspath>false</addedToClasspath>
+        <addedToClasspath>true</addedToClasspath>
       </configuration>
     </component>
 
@@ -187,9 +186,8 @@
       <implementation>org.apache.maven.artifact.handler.DefaultArtifactHandler</implementation>
       <configuration>
         <type>par</type>
-        <includesDependencies>true</includesDependencies>
         <language>java</language>
-        <addedToClasspath>false</addedToClasspath>
+        <addedToClasspath>true</addedToClasspath>
       </configuration>
     </component>
 
@@ -199,9 +197,8 @@
       <implementation>org.apache.maven.artifact.handler.DefaultArtifactHandler</implementation>
       <configuration>
         <type>ejb3</type>
-        <includesDependencies>true</includesDependencies>
         <language>java</language>
-        <addedToClasspath>false</addedToClasspath>
+        <addedToClasspath>true</addedToClasspath>
       </configuration>
     </component>
 

Modified: maven/components/branches/maven-2.0.x/maven-artifact/src/test/java/org/apache/maven/artifact/resolver/DefaultArtifactCollectorTest.java
URL: http://svn.apache.org/viewvc/maven/components/branches/maven-2.0.x/maven-artifact/src/test/java/org/apache/maven/artifact/resolver/DefaultArtifactCollectorTest.java?rev=688884&r1=688883&r2=688884&view=diff
==============================================================================
--- maven/components/branches/maven-2.0.x/maven-artifact/src/test/java/org/apache/maven/artifact/resolver/DefaultArtifactCollectorTest.java (original)
+++ maven/components/branches/maven-2.0.x/maven-artifact/src/test/java/org/apache/maven/artifact/resolver/DefaultArtifactCollectorTest.java Mon Aug 25 14:11:19 2008
@@ -19,6 +19,17 @@
  * under the License.
  */
 
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.Iterator;
+import java.util.LinkedHashSet;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+
 import org.apache.maven.artifact.Artifact;
 import org.apache.maven.artifact.factory.ArtifactFactory;
 import org.apache.maven.artifact.metadata.ArtifactMetadataRetrievalException;
@@ -30,21 +41,9 @@
 import org.apache.maven.artifact.resolver.filter.ScopeArtifactFilter;
 import org.apache.maven.artifact.versioning.DefaultArtifactVersion;
 import org.apache.maven.artifact.versioning.InvalidVersionSpecificationException;
-import org.apache.maven.artifact.versioning.OverConstrainedVersionException;
 import org.apache.maven.artifact.versioning.VersionRange;
 import org.codehaus.plexus.PlexusTestCase;
 
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.LinkedHashSet;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-
 /**
  * Test the default artifact collector.
  *
@@ -69,11 +68,11 @@
     {
         super.setUp();
 
-        source = new Source();
-        artifactFactory = (ArtifactFactory) lookup( ArtifactFactory.ROLE );
-        artifactCollector = new DefaultArtifactCollector();
+        this.source = new Source();
+        this.artifactFactory = (ArtifactFactory) lookup( ArtifactFactory.ROLE );
+        this.artifactCollector = new DefaultArtifactCollector();
 
-        projectArtifact = createArtifactSpec( "project", "1.0", null );
+        this.projectArtifact = createArtifactSpec( "project", "1.0", null );
     }
 
     // works, but we don't fail on cycles presently
@@ -319,7 +318,7 @@
     public void testCompatibleRecommendedVersion()
         throws ArtifactResolutionException, InvalidVersionSpecificationException
     {
-
+        
         //this test puts two dependencies on C with 3.2 and [1.0,3.0] as the version.
         //it puts 2.5 in the pretend repo...we should get back 2.5
         ArtifactSpec a = createArtifactSpec( "a", "1.0" );
@@ -327,7 +326,7 @@
         ArtifactSpec b1 = a.addDependency( "b1", "1.0" );
         b.addDependency( "c", "3.2" );
         b1.addDependency( "c", "[1.0,3.0]" );
-
+      
         //put it in the repo
         ArtifactSpec c = createArtifactSpec( "c", "2.5" );
         source.addArtifact( createArtifactSpec( "c", "2.5" ));
@@ -338,7 +337,7 @@
                       res.getArtifacts() );
         assertEquals( "Check version", "2.5", getArtifact( "c", res.getArtifacts() ).getVersion() );
     }
-
+    
     public void testCompatibleRecommendedVersionWithChildren()
         throws ArtifactResolutionException, InvalidVersionSpecificationException
     {
@@ -355,7 +354,7 @@
         // put it in the repo
         ArtifactSpec c = createArtifactSpec( "c", "2.5" );
         ArtifactSpec d = c.addDependency( "d","1.0" );
-
+        
         source.addArtifact( c );
         source.addArtifact( d );
         source.addArtifact( c1 );
@@ -367,7 +366,7 @@
                       createSet( new Object[] { a.artifact, b.artifact, e.artifact, c.artifact,d.artifact } ), res.getArtifacts() );
         assertEquals( "Check version", "2.5", getArtifact( "c", res.getArtifacts() ).getVersion() );
     }
-
+    
     public void testInCompatibleRecommendedVersion()
         throws ArtifactResolutionException, InvalidVersionSpecificationException
     {
@@ -419,7 +418,7 @@
                       createSet( new Object[] { a.artifact, b.artifact, b1.artifact, c.artifact } ), res.getArtifacts() );
         assertEquals( "Check version", "3.0", getArtifact( "c", res.getArtifacts() ).getVersion() );
     }
-
+    
     public void testIncompatibleRanges()
         throws ArtifactResolutionException, InvalidVersionSpecificationException
     {
@@ -791,7 +790,7 @@
     {
         ArtifactSpec m = createArtifactSpec( "m", "1.0" );
         ArtifactSpec n = createArtifactSpec( "n", "1.0" );
-
+    
         ArtifactResolutionResult res = collect( createSet( new Object[]{m.artifact, n.artifact} ) );
         Iterator i = res.getArtifacts().iterator();
         assertEquals( "m should be first", m.artifact, i.next() );
@@ -803,29 +802,6 @@
         assertEquals( "m should be second", m.artifact, i.next() );
     }
 
-    public void testOverConstrainedVersionException()
-        throws ArtifactResolutionException, InvalidVersionSpecificationException
-    {
-        ArtifactSpec a = createArtifactSpec( "a", "1.0" );
-        a.addDependency( "b", "[1.0, 2.0)" );
-        a.addDependency( "c", "[3.3.0,4.0.0)" );
-
-        ArtifactSpec b = createArtifactSpec( "b", "1.0.0" );
-        b.addDependency( "c", "3.3.0-v3346" );
-
-        ArtifactSpec c = createArtifactSpec( "c", "3.2.1-v3235e" );
-
-        try
-        {
-            ArtifactResolutionResult res = collect( createSet( new Object[]{a.artifact} ) );
-        }
-        catch ( OverConstrainedVersionException e )
-        {
-            assertTrue( "Versions unordered", e.getMessage().indexOf( "[3.2.1-v3235e, 3.3.0-v3346]" ) != -1);
-            assertTrue( "DependencyTrail not resolved", e.getMessage().indexOf( "Path to dependency:" ) != -1);
-        }
-    }
-
     private Artifact getArtifact( String id, Set artifacts )
     {
         for ( Iterator i = artifacts.iterator(); i.hasNext(); )
@@ -945,7 +921,7 @@
         private ArtifactSpec addDependency( String id, String version, String scope, boolean optional )
             throws InvalidVersionSpecificationException
         {
-            ArtifactSpec dep = createArtifactSpec( id, version, scope, artifact.getScope(), optional );
+            ArtifactSpec dep = createArtifactSpec( id, version, scope, this.artifact.getScope(), optional );
             return addDependency( dep );
         }
 
@@ -993,7 +969,7 @@
                                      ArtifactFilter dependencyFilter )
             throws InvalidVersionSpecificationException
         {
-            Set projectArtifacts = new LinkedHashSet();
+            Set projectArtifacts = new HashSet();
 
             for ( Iterator i = dependencies.iterator(); i.hasNext(); )
             {
@@ -1061,13 +1037,5 @@
                 artifactVersions.add( new DefaultArtifactVersion( spec.artifact.getVersion() ) );
             }
         }
-
-        public Artifact retrieveRelocatedArtifact( Artifact artifact,
-                                                   ArtifactRepository localRepository,
-                                                   List remoteRepositories )
-            throws ArtifactMetadataRetrievalException
-        {
-            return artifact;
-        }
     }
 }

Modified: maven/components/branches/maven-2.0.x/maven-artifact/src/test/java/org/apache/maven/artifact/versioning/DefaultArtifactVersionTest.java
URL: http://svn.apache.org/viewvc/maven/components/branches/maven-2.0.x/maven-artifact/src/test/java/org/apache/maven/artifact/versioning/DefaultArtifactVersionTest.java?rev=688884&r1=688883&r2=688884&view=diff
==============================================================================
--- maven/components/branches/maven-2.0.x/maven-artifact/src/test/java/org/apache/maven/artifact/versioning/DefaultArtifactVersionTest.java (original)
+++ maven/components/branches/maven-2.0.x/maven-artifact/src/test/java/org/apache/maven/artifact/versioning/DefaultArtifactVersionTest.java Mon Aug 25 14:11:19 2008
@@ -30,163 +30,230 @@
 public class DefaultArtifactVersionTest
     extends TestCase
 {
-    private ArtifactVersion newArtifactVersion( String version )
+    public void testVersionParsing()
     {
-        return new DefaultArtifactVersion( version );
+        DefaultArtifactVersion version = new DefaultArtifactVersion( "1" );
+        assertEquals( "check major version", 1, version.getMajorVersion() );
+        assertEquals( "check minor version", 0, version.getMinorVersion() );
+        assertEquals( "check incremental version", 0, version.getIncrementalVersion() );
+        assertEquals( "check build number", 0, version.getBuildNumber() );
+        assertNull( "check qualifier", version.getQualifier() );
+
+        version = new DefaultArtifactVersion( "1.2" );
+        assertEquals( "check major version", 1, version.getMajorVersion() );
+        assertEquals( "check minor version", 2, version.getMinorVersion() );
+        assertEquals( "check incremental version", 0, version.getIncrementalVersion() );
+        assertEquals( "check build number", 0, version.getBuildNumber() );
+        assertNull( "check qualifier", version.getQualifier() );
+
+        version = new DefaultArtifactVersion( "1.2.3" );
+        assertEquals( "check major version", 1, version.getMajorVersion() );
+        assertEquals( "check minor version", 2, version.getMinorVersion() );
+        assertEquals( "check incremental version", 3, version.getIncrementalVersion() );
+        assertEquals( "check build number", 0, version.getBuildNumber() );
+        assertNull( "check qualifier", version.getQualifier() );
+
+        version = new DefaultArtifactVersion( "1.2.3-1" );
+        assertEquals( "check major version", 1, version.getMajorVersion() );
+        assertEquals( "check minor version", 2, version.getMinorVersion() );
+        assertEquals( "check incremental version", 3, version.getIncrementalVersion() );
+        assertEquals( "check build number", 1, version.getBuildNumber() );
+        assertNull( "check qualifier", version.getQualifier() );
+
+        version = new DefaultArtifactVersion( "1.2.3-alpha-1" );
+        assertEquals( "check major version", 1, version.getMajorVersion() );
+        assertEquals( "check minor version", 2, version.getMinorVersion() );
+        assertEquals( "check incremental version", 3, version.getIncrementalVersion() );
+        assertEquals( "check build number", 0, version.getBuildNumber() );
+        assertEquals( "check qualifier", "alpha-1", version.getQualifier() );
+
+        version = new DefaultArtifactVersion( "1.2-alpha-1" );
+        assertEquals( "check major version", 1, version.getMajorVersion() );
+        assertEquals( "check minor version", 2, version.getMinorVersion() );
+        assertEquals( "check incremental version", 0, version.getIncrementalVersion() );
+        assertEquals( "check build number", 0, version.getBuildNumber() );
+        assertEquals( "check qualifier", "alpha-1", version.getQualifier() );
+
+        version = new DefaultArtifactVersion( "1.2-alpha-1-20050205.060708-1" );
+        assertEquals( "check major version", 1, version.getMajorVersion() );
+        assertEquals( "check minor version", 2, version.getMinorVersion() );
+        assertEquals( "check incremental version", 0, version.getIncrementalVersion() );
+        assertEquals( "check build number", 0, version.getBuildNumber() );
+        assertEquals( "check qualifier", "alpha-1-20050205.060708-1", version.getQualifier() );
+
+        version = new DefaultArtifactVersion( "RELEASE" );
+        assertEquals( "check major version", 0, version.getMajorVersion() );
+        assertEquals( "check minor version", 0, version.getMinorVersion() );
+        assertEquals( "check incremental version", 0, version.getIncrementalVersion() );
+        assertEquals( "check build number", 0, version.getBuildNumber() );
+        assertEquals( "check qualifier", "RELEASE", version.getQualifier() );
+
+        version = new DefaultArtifactVersion( "1.0.1b" );
+        assertEquals( "check major version", 0, version.getMajorVersion() );
+        assertEquals( "check minor version", 0, version.getMinorVersion() );
+        assertEquals( "check incremental version", 0, version.getIncrementalVersion() );
+        assertEquals( "check build number", 0, version.getBuildNumber() );
+        assertEquals( "check qualifier", "1.0.1b", version.getQualifier() );
+
+        version = new DefaultArtifactVersion( "1.0RC2" );
+        assertEquals( "check major version", 0, version.getMajorVersion() );
+        assertEquals( "check minor version", 0, version.getMinorVersion() );
+        assertEquals( "check incremental version", 0, version.getIncrementalVersion() );
+        assertEquals( "check build number", 0, version.getBuildNumber() );
+        assertEquals( "check qualifier", "1.0RC2", version.getQualifier() );
+
+        version = new DefaultArtifactVersion( "1.7.3.0" );
+        assertEquals( "check major version", 0, version.getMajorVersion() );
+        assertEquals( "check minor version", 0, version.getMinorVersion() );
+        assertEquals( "check incremental version", 0, version.getIncrementalVersion() );
+        assertEquals( "check build number", 0, version.getBuildNumber() );
+        assertEquals( "check qualifier", "1.7.3.0", version.getQualifier() );
+
+        version = new DefaultArtifactVersion( "0.09" );
+        assertEquals( "check major version", 0, version.getMajorVersion() );
+        assertEquals( "check minor version", 0, version.getMinorVersion() );
+        assertEquals( "check incremental version", 0, version.getIncrementalVersion() );
+        assertEquals( "check build number", 0, version.getBuildNumber() );
+        assertEquals( "check qualifier", "0.09", version.getQualifier() );
+
+        version = new DefaultArtifactVersion( "02" );
+        assertEquals( "check major version", 0, version.getMajorVersion() );
+        assertEquals( "check minor version", 0, version.getMinorVersion() );
+        assertEquals( "check incremental version", 0, version.getIncrementalVersion() );
+        assertEquals( "check build number", 0, version.getBuildNumber() );
+        assertEquals( "check qualifier", "02", version.getQualifier() );
+
+        version = new DefaultArtifactVersion( "PATCH-1193602" );
+        assertEquals( "check major version", 0, version.getMajorVersion() );
+        assertEquals( "check minor version", 0, version.getMinorVersion() );
+        assertEquals( "check incremental version", 0, version.getIncrementalVersion() );
+        assertEquals( "check build number", 0, version.getBuildNumber() );
+        assertEquals( "check qualifier", "PATCH-1193602", version.getQualifier() );
+
+        version = new DefaultArtifactVersion( "2.0-1" );
+        assertEquals( "check major version", 2, version.getMajorVersion() );
+        assertEquals( "check minor version", 0, version.getMinorVersion() );
+        assertEquals( "check incremental version", 0, version.getIncrementalVersion() );
+        assertEquals( "check build number", 1, version.getBuildNumber() );
+        assertNull( "check qualifier", version.getQualifier() );
+        assertEquals( "check string value", "2.0-1", version.toString() );
+
+        version = new DefaultArtifactVersion( "5.0.0alpha-2006020117" );
+        assertEquals( "check major version", 0, version.getMajorVersion() );
+        assertEquals( "check minor version", 0, version.getMinorVersion() );
+        assertEquals( "check incremental version", 0, version.getIncrementalVersion() );
+        assertEquals( "check build number", 0, version.getBuildNumber() );
+        assertEquals( "check qualifier", "5.0.0alpha-2006020117", version.getQualifier() );
     }
 
-    private void checkVersionParsing( String version, int major, int minor, int incremental, int buildnumber,
-                                      String qualifier )
+    public void testVersionComparing()
     {
-        ArtifactVersion artifactVersion = newArtifactVersion( version );
-        String parsed = "'" + version + "' parsed as ('" + artifactVersion.getMajorVersion() + "', '"
-            + artifactVersion.getMinorVersion() + "', '" + artifactVersion.getIncrementalVersion() + "', '"
-            + artifactVersion.getBuildNumber() + "', '" + artifactVersion.getQualifier() + "'), ";
-        assertEquals( parsed + "check major version", major, artifactVersion.getMajorVersion() );
-        assertEquals( parsed + "check minor version", minor, artifactVersion.getMinorVersion() );
-        assertEquals( parsed + "check incremental version", incremental, artifactVersion.getIncrementalVersion() );
-        assertEquals( parsed + "check build number", buildnumber, artifactVersion.getBuildNumber() );
-        assertEquals( parsed + "check qualifier", qualifier, artifactVersion.getQualifier() );
-        assertEquals( "check " + version + " string value", version, artifactVersion.toString() );
-    }
+        DefaultArtifactVersion version = new DefaultArtifactVersion( "1" );
+        assertTrue( version.compareTo( new DefaultArtifactVersion( "2" ) ) < 0 );
 
-    public void testVersionParsing()
-    {
-        checkVersionParsing( "1" , 1, 0, 0, 0, null );
-        checkVersionParsing( "1.2" , 1, 2, 0, 0, null );
-        checkVersionParsing( "1.2.3" , 1, 2, 3, 0, null );
-        checkVersionParsing( "1.2.3-1" , 1, 2, 3, 1, null );
-        checkVersionParsing( "1.2.3-alpha-1" , 1, 2, 3, 0, "alpha-1" );
-        checkVersionParsing( "1.2-alpha-1" , 1, 2, 0, 0, "alpha-1" );
-        checkVersionParsing( "1.2-alpha-1-20050205.060708-1" , 1, 2, 0, 0, "alpha-1-20050205.060708-1" );
-        checkVersionParsing( "RELEASE" , 0, 0, 0, 0, "RELEASE" );
-        checkVersionParsing( "2.0-1" , 2, 0, 0, 1, null );
-
-        // 0 at the beginning of a number has a special handling
-        checkVersionParsing( "02" , 0, 0, 0, 0, "02" );
-        checkVersionParsing( "0.09" , 0, 0, 0, 0, "0.09" );
-        checkVersionParsing( "0.2.09" , 0, 0, 0, 0, "0.2.09" );
-        checkVersionParsing( "2.0-01" , 2, 0, 0, 0, "01" );
-
-        // version schemes not really supported: fully transformed as qualifier
-        checkVersionParsing( "1.0.1b" , 0, 0, 0, 0, "1.0.1b" );
-        checkVersionParsing( "1.0M2" , 0, 0, 0, 0, "1.0M2" );
-        checkVersionParsing( "1.0RC2" , 0, 0, 0, 0, "1.0RC2" );
-        checkVersionParsing( "1.7.3.0" , 0, 0, 0, 0, "1.7.3.0" );
-        checkVersionParsing( "1.7.3.0-1" , 0, 0, 0, 0, "1.7.3.0-1" );
-        checkVersionParsing( "PATCH-1193602" , 0, 0, 0, 0, "PATCH-1193602" );
-        checkVersionParsing( "5.0.0alpha-2006020117" , 0, 0, 0, 0, "5.0.0alpha-2006020117" );
-        checkVersionParsing( "1.0.0.-SNAPSHOT", 0, 0, 0, 0, "1.0.0.-SNAPSHOT" );
-        checkVersionParsing( "1..0-SNAPSHOT", 0, 0, 0, 0, "1..0-SNAPSHOT" );
-        checkVersionParsing( "1.0.-SNAPSHOT", 0, 0, 0, 0, "1.0.-SNAPSHOT" );
-        checkVersionParsing( ".1.0-SNAPSHOT", 0, 0, 0, 0, ".1.0-SNAPSHOT" );
+        version = new DefaultArtifactVersion( "1.5" );
+        assertTrue( version.compareTo( new DefaultArtifactVersion( "2" ) ) < 0 );
 
-        checkVersionParsing( "1.2.3.200705301630" , 0, 0, 0, 0, "1.2.3.200705301630" );
-        checkVersionParsing( "1.2.3-200705301630" , 1, 2, 3, 0, "200705301630" );
-    }
+        version = new DefaultArtifactVersion( "1" );
+        assertEquals( 0, version.compareTo( new DefaultArtifactVersion( "1" ) ) );
 
-    public void testVersionComparing()
-    {
-        assertVersionEqual( "1", "1" );
-        assertVersionOlder( "1", "2" );
-        assertVersionOlder( "1.5", "2" );
-        assertVersionOlder( "1", "2.5" );
-        assertVersionEqual( "1", "1.0" );
-        assertVersionEqual( "1", "1.0.0" );
-        assertVersionOlder( "1.0", "1.1" );
-        assertVersionOlder( "1.1", "1.2" );
-        assertVersionOlder( "1.0.0", "1.1" );
-        assertVersionOlder( "1.1", "1.2.0" );
-        assertVersionOlder( "1.2", "1.10" );
-
-        assertVersionOlder( "1.0-alpha-1", "1.0" );
-        assertVersionOlder( "1.0-alpha-1", "1.0-alpha-2" );
-        //assertVersionOlder( "1.0-alpha-2", "1.0-alpha-15" );
-        assertVersionOlder( "1.0-alpha-1", "1.0-beta-1" );
-
-        assertVersionOlder( "1.0-SNAPSHOT", "1.0-beta-1" );
-        assertVersionOlder( "1.0-SNAPSHOT", "1.0" );
-        assertVersionOlder( "1.0-alpha-1-SNAPSHOT", "1.0-alpha-1" );
-
-        assertVersionOlder( "1.0", "1.0-1" );
-        assertVersionOlder( "1.0-1", "1.0-2" );
-        assertVersionEqual( "2.0-0", "2.0" );
-        assertVersionOlder( "2.0", "2.0-1" );
-        assertVersionOlder( "2.0.0", "2.0-1" );
-        assertVersionOlder( "2.0-1", "2.0.1" );
-
-        assertVersionOlder( "2.0.1-klm", "2.0.1-lmn" );
-        assertVersionOlder( "2.0.1-xyz", "2.0.1" );
-
-        assertVersionOlder( "2.0.1", "2.0.1-123" );
-        assertVersionOlder( "2.0.1-xyz", "2.0.1-123" );
-        //assertVersionOlder( "1.1-foo-2", "1.1-foo-10" );
-    }
+        version = new DefaultArtifactVersion( "2" );
+        assertTrue( version.compareTo( new DefaultArtifactVersion( "1" ) ) > 0 );
 
-    public void testVersionSnapshotComparing()
-    {
-        assertVersionEqual( "1-SNAPSHOT", "1-SNAPSHOT" );
-        assertVersionOlder( "1-SNAPSHOT", "2-SNAPSHOT" );
-        assertVersionOlder( "1.5-SNAPSHOT", "2-SNAPSHOT" );
-        assertVersionOlder( "1-SNAPSHOT", "2.5-SNAPSHOT" );
-        assertVersionEqual( "1-SNAPSHOT", "1.0-SNAPSHOT" );
-        assertVersionEqual( "1-SNAPSHOT", "1.0.0-SNAPSHOT" );
-        assertVersionOlder( "1.0-SNAPSHOT", "1.1-SNAPSHOT" );
-        assertVersionOlder( "1.1-SNAPSHOT", "1.2-SNAPSHOT" );
-        assertVersionOlder( "1.0.0-SNAPSHOT", "1.1-SNAPSHOT" );
-        assertVersionOlder( "1.1-SNAPSHOT", "1.2.0-SNAPSHOT" );
-
-        //assertVersionOlder( "1.0-alpha-1-SNAPSHOT", "1.0-SNAPSHOT" );
-        assertVersionOlder( "1.0-alpha-1-SNAPSHOT", "1.0-alpha-2-SNAPSHOT" );
-        assertVersionOlder( "1.0-alpha-1-SNAPSHOT", "1.0-beta-1-SNAPSHOT" );
-
-        assertVersionOlder( "1.0-SNAPSHOT-SNAPSHOT", "1.0-beta-1-SNAPSHOT" );
-        assertVersionOlder( "1.0-SNAPSHOT-SNAPSHOT", "1.0-SNAPSHOT" );
-        assertVersionOlder( "1.0-alpha-1-SNAPSHOT-SNAPSHOT", "1.0-alpha-1-SNAPSHOT" );
-
-        //assertVersionOlder( "1.0-SNAPSHOT", "1.0-1-SNAPSHOT" );
-        //assertVersionOlder( "1.0-1-SNAPSHOT", "1.0-2-SNAPSHOT" );
-        //assertVersionEqual( "2.0-0-SNAPSHOT", "2.0-SNAPSHOT" );
-        //assertVersionOlder( "2.0-SNAPSHOT", "2.0-1-SNAPSHOT" );
-        //assertVersionOlder( "2.0.0-SNAPSHOT", "2.0-1-SNAPSHOT" );
-        assertVersionOlder( "2.0-1-SNAPSHOT", "2.0.1-SNAPSHOT" );
-
-        assertVersionOlder( "2.0.1-klm-SNAPSHOT", "2.0.1-lmn-SNAPSHOT" );
-        // assertVersionOlder( "2.0.1-xyz-SNAPSHOT", "2.0.1-SNAPSHOT" );
-        //assertVersionOlder( "2.0.1-SNAPSHOT", "2.0.1-123-SNAPSHOT" );
-        //assertVersionOlder( "2.0.1-xyz-SNAPSHOT", "2.0.1-123-SNAPSHOT" );
-    }
+        version = new DefaultArtifactVersion( "2.5" );
+        assertTrue( version.compareTo( new DefaultArtifactVersion( "1" ) ) > 0 );
 
+        version = new DefaultArtifactVersion( "1.0" );
+        assertTrue( version.compareTo( new DefaultArtifactVersion( "1" ) ) == 0 );
 
-    public void testSnapshotVsReleases()
-    {
-        assertVersionOlder( "1.0-RC1", "1.0-SNAPSHOT" );
-        //assertVersionOlder( "1.0-rc1", "1.0-SNAPSHOT" );
-        //assertVersionOlder( "1.0-rc-1", "1.0-SNAPSHOT" );
-    }
+        version = new DefaultArtifactVersion( "1.0.0" );
+        assertTrue( version.compareTo( new DefaultArtifactVersion( "1" ) ) == 0 );
 
-    private void assertVersionOlder( String left, String right )
-    {
-        assertTrue( left + " should be older than " + right,
-                    newArtifactVersion( left ).compareTo( newArtifactVersion( right ) ) < 0 );
-        assertTrue( right + " should be newer than " + left,
-                    newArtifactVersion( right ).compareTo( newArtifactVersion( left ) ) > 0 );
-    }
+        version = new DefaultArtifactVersion( "1.0" );
+        assertTrue( version.compareTo( new DefaultArtifactVersion( "1.1" ) ) < 0 );
 
-    private void assertVersionEqual( String left, String right )
-    {
-        assertTrue( left + " should be equal to " + right,
-                    newArtifactVersion( left ).compareTo( newArtifactVersion( right ) ) == 0 );
-        assertTrue( right + " should be equal to " + left,
-                    newArtifactVersion( right ).compareTo( newArtifactVersion( left ) ) == 0 );
+        version = new DefaultArtifactVersion( "1.2" );
+        assertTrue( version.compareTo( new DefaultArtifactVersion( "1.1" ) ) > 0 );
+
+        version = new DefaultArtifactVersion( "1.0.0" );
+        assertTrue( version.compareTo( new DefaultArtifactVersion( "1.1" ) ) < 0 );
+
+        version = new DefaultArtifactVersion( "1.2.0" );
+        assertTrue( version.compareTo( new DefaultArtifactVersion( "1.1" ) ) > 0 );
+
+        version = new DefaultArtifactVersion( "1.0-alpha-1" );
+        assertTrue( version.compareTo( new DefaultArtifactVersion( "1.0" ) ) < 0 );
+
+        version = new DefaultArtifactVersion( "1.0-alpha-1" );
+        assertTrue( version.compareTo( new DefaultArtifactVersion( "1.0-alpha-2" ) ) < 0 );
+
+        version = new DefaultArtifactVersion( "1.0-alpha-1" );
+        assertTrue( version.compareTo( new DefaultArtifactVersion( "1.0-beta-1" ) ) < 0 );
+
+        version = new DefaultArtifactVersion( "1.0" );
+        assertTrue( version.compareTo( new DefaultArtifactVersion( "1.0-alpha-1" ) ) > 0 );
+
+        version = new DefaultArtifactVersion( "1.0-alpha-2" );
+        assertTrue( version.compareTo( new DefaultArtifactVersion( "1.0-alpha-1" ) ) > 0 );
+
+        version = new DefaultArtifactVersion( "1.0-beta-1" );
+        assertTrue( version.compareTo( new DefaultArtifactVersion( "1.0-alpha-1" ) ) > 0 );
+
+        version = new DefaultArtifactVersion( "1.0-beta-1" );
+        assertTrue( version.compareTo( new DefaultArtifactVersion( "1.0-SNAPSHOT" ) ) > 0 );
+
+        version = new DefaultArtifactVersion( "1.0-SNAPSHOT" );
+        assertTrue( version.compareTo( new DefaultArtifactVersion( "1.0-beta-1" ) ) < 0 );
+
+        version = new DefaultArtifactVersion( "1.0-SNAPSHOT" );
+        assertTrue( version.compareTo( new DefaultArtifactVersion( "1.0" ) ) < 0 );
+
+        version = new DefaultArtifactVersion( "1.0" );
+        assertTrue( version.compareTo( new DefaultArtifactVersion( "1.0-SNAPSHOT" ) ) > 0 );
+
+        version = new DefaultArtifactVersion( "1.0-alpha-1-SNAPSHOT" );
+        assertTrue( version.compareTo( new DefaultArtifactVersion( "1.0-alpha-1" ) ) < 0 );
+
+        version = new DefaultArtifactVersion( "1.0-alpha-1" );
+        assertTrue( version.compareTo( new DefaultArtifactVersion( "1.0-alpha-1-SNAPSHOT" ) ) > 0 );
+
+        version = new DefaultArtifactVersion( "1.0" );
+        assertTrue( version.compareTo( new DefaultArtifactVersion( "1.0-1" ) ) < 0 );
+
+        version = new DefaultArtifactVersion( "1.0-1" );
+        assertTrue( version.compareTo( new DefaultArtifactVersion( "1.0-2" ) ) < 0 );
+
+        version = new DefaultArtifactVersion( "1.0-1" );
+        assertTrue( version.compareTo( new DefaultArtifactVersion( "1.0" ) ) > 0 );
+
+        version = new DefaultArtifactVersion( "1.0-2" );
+        assertTrue( version.compareTo( new DefaultArtifactVersion( "1.0-1" ) ) > 0 );
+
+        version = new DefaultArtifactVersion( "2.0-0" );
+        assertTrue( version.compareTo( new DefaultArtifactVersion( "2.0" ) ) == 0 );
+
+        version = new DefaultArtifactVersion( "2.0-1" );
+        assertTrue( version.compareTo( new DefaultArtifactVersion( "2.0" ) ) > 0 );
+
+        version = new DefaultArtifactVersion( "2.0-1" );
+        assertTrue( version.compareTo( new DefaultArtifactVersion( "2.0.0" ) ) > 0 );
+
+        version = new DefaultArtifactVersion( "2.0-1" );
+        assertTrue( version.compareTo( new DefaultArtifactVersion( "2.0.1" ) ) < 0 );
+
+        version = new DefaultArtifactVersion( "1.10" );
+        assertTrue( version.compareTo( new DefaultArtifactVersion( "1.2" ) ) > 0 );
+
+        // version = new DefaultArtifactVersion( "1.1-foo-10" );
+        // assertTrue( version.compareTo( new DefaultArtifactVersion( "1.1-foo-2" ) ) > 0 );
     }
 
     public void testVersionComparingWithBuildNumberZero()
     {
-        ArtifactVersion v1 = newArtifactVersion( "2.0" );
-        ArtifactVersion v2 = newArtifactVersion( "2.0-0" );
-        ArtifactVersion v3 = newArtifactVersion( "2.0-alpha1" );
-        ArtifactVersion v4 = newArtifactVersion( "2.0-1" );
+        DefaultArtifactVersion v1 = new DefaultArtifactVersion( "2.0" );
+        DefaultArtifactVersion v2 = new DefaultArtifactVersion( "2.0-0" );
+        DefaultArtifactVersion v3 = new DefaultArtifactVersion( "2.0-alpha1" );
+        DefaultArtifactVersion v4 = new DefaultArtifactVersion( "2.0-1" );
 
         // v1 and v2 are equal
         assertTrue( v1.compareTo( v2 ) == 0 );
@@ -211,44 +278,44 @@
 
     public void testCompareToEqualsHashCodeConsistency()
     {
-        ArtifactVersion v1;
-        ArtifactVersion v2;
+        DefaultArtifactVersion v1;
+        DefaultArtifactVersion v2;
 
         // equal to itself
-        v1 = newArtifactVersion( "1.3" );
+        v1 = new DefaultArtifactVersion( "1.3" );
         v2 = v1;
-        assertTrue( v1.equals( v2 ) && v2.equals( v1 ) && ( v1.hashCode() == v2.hashCode() )
-                        && ( v1.compareTo( v2 ) == 0 ) && ( v2.compareTo( v1 ) == 0 ) );
+        assertTrue( v1.equals( v2 ) && v2.equals( v1 ) && ( v1.hashCode() == v2.hashCode() ) && ( v1.compareTo( v2 ) == 0 )
+                    && ( v2.compareTo( v1 ) == 0 ) );
 
         // equal to something that means the same
-        v1 = newArtifactVersion( "1" );
-        v2 = newArtifactVersion( "1.0.0-0" );
-        assertTrue( v1.equals( v2 ) && v2.equals( v1 ) && ( v1.hashCode() == v2.hashCode() )
-                        && ( v1.compareTo( v2 ) == 0 ) && ( v2.compareTo( v1 ) == 0 ) );
+        v1 = new DefaultArtifactVersion( "1" );
+        v2 = new DefaultArtifactVersion( "1.0.0-0" );
+        assertTrue( v1.equals( v2 ) && v2.equals( v1 ) && ( v1.hashCode() == v2.hashCode() ) && ( v1.compareTo( v2 ) == 0 )
+                    && ( v2.compareTo( v1 ) == 0 ) );
 
         // equal with qualifier
-        v1 = newArtifactVersion( "1.3-alpha1" );
-        v2 = newArtifactVersion( "1.3-alpha1" );
-        assertTrue( v1.equals( v2 ) && v2.equals( v1 ) && ( v1.hashCode() == v2.hashCode() )
-                        && ( v1.compareTo( v2 ) == 0 ) && ( v2.compareTo( v1 ) == 0 ) );
+        v1 = new DefaultArtifactVersion( "1.3-alpha1" );
+        v2 = new DefaultArtifactVersion( "1.3-alpha1" );
+        assertTrue( v1.equals( v2 ) && v2.equals( v1 ) && ( v1.hashCode() == v2.hashCode() ) && ( v1.compareTo( v2 ) == 0 )
+                    && ( v2.compareTo( v1 ) == 0 ) );
 
         // longer qualifier with same start is *newer*
-        v1 = newArtifactVersion( "1.3-alpha1" );
-        v2 = newArtifactVersion( "1.3-alpha1-1" );
+        v1 = new DefaultArtifactVersion( "1.3-alpha1" );
+        v2 = new DefaultArtifactVersion( "1.3-alpha1-1" );
         assertTrue( !v1.equals( v2 ) && !v2.equals( v1 ) && ( v1.compareTo( v2 ) > 0 ) && ( v2.compareTo( v1 ) < 0 ) );
 
         // different qualifiers alpha compared
-        v1 = newArtifactVersion( "1.3-alpha1" );
-        v2 = newArtifactVersion( "1.3-beta1" );
+        v1 = new DefaultArtifactVersion( "1.3-alpha1" );
+        v2 = new DefaultArtifactVersion( "1.3-beta1" );
         assertTrue( !v1.equals( v2 ) && !v2.equals( v1 ) && ( v1.compareTo( v2 ) < 0 ) && ( v2.compareTo( v1 ) > 0 ) );
     }
 
     public void testTransitivity()
     {
-        ArtifactVersion v1 = newArtifactVersion( "1" );
-        ArtifactVersion v2 = newArtifactVersion( "1.0-0" );
-        ArtifactVersion v3 = newArtifactVersion( "1.0.1" );
-        ArtifactVersion v4 = newArtifactVersion( "1.0-beta1" );
+        DefaultArtifactVersion v1 = new DefaultArtifactVersion( "1" );
+        DefaultArtifactVersion v2 = new DefaultArtifactVersion( "1.0-0" );
+        DefaultArtifactVersion v3 = new DefaultArtifactVersion( "1.0.1" );
+        DefaultArtifactVersion v4 = new DefaultArtifactVersion( "1.0-beta1" );
 
         // v1 and v2 are equal
         assertTrue( v1.equals( v2 ) && v2.equals( v1 ) && ( v1.compareTo( v2 ) == 0 ) && ( v2.compareTo( v1 ) == 0 ) );
@@ -268,7 +335,7 @@
 
     private void testInterfaceCompare( String version )
     {
-        final ArtifactVersion dav = newArtifactVersion( version );
+        final DefaultArtifactVersion dav = new DefaultArtifactVersion( version );
 
         // create an anonymous instance to compare the big daddy to
         ArtifactVersion av = new ArtifactVersion()

Propchange: maven/components/branches/maven-2.0.x/maven-core/
------------------------------------------------------------------------------
--- svn:ignore (original)
+++ svn:ignore Mon Aug 25 14:11:19 2008
@@ -14,4 +14,3 @@
 cobertura.ser
 .settings
 target-eclipse
-bin

Modified: maven/components/branches/maven-2.0.x/maven-core-it-runner/pom.xml
URL: http://svn.apache.org/viewvc/maven/components/branches/maven-2.0.x/maven-core-it-runner/pom.xml?rev=688884&r1=688883&r2=688884&view=diff
==============================================================================
--- maven/components/branches/maven-2.0.x/maven-core-it-runner/pom.xml (original)
+++ maven/components/branches/maven-2.0.x/maven-core-it-runner/pom.xml Mon Aug 25 14:11:19 2008
@@ -20,31 +20,13 @@
 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
          xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
     <modelVersion>4.0.0</modelVersion>
-
-    <groupId>org.apache.maven</groupId>
-    <version>2.0.11-SNAPSHOT</version>
+    <parent>
+        <artifactId>maven</artifactId>
+        <groupId>org.apache.maven</groupId>
+        <version>2.0.9-RC9-SNAPSHOT</version>
+    </parent>
     <artifactId>maven-core-it-runner</artifactId>
     <name>Integration Test Executor</name>
-    
-    <scm>
-      <connection>scm:svn:http://svn.apache.org/repos/asf/maven/components/branches/maven-2.0.x/maven-core-it-runner</connection>
-      <developerConnection>scm:svn:https://svn.apache.org/repos/asf/maven/components/branches/maven-2.0.x/maven-core-it-runner</developerConnection>
-      <url>https://svn.apache.org/repos/asf/maven/components/branches/maven-2.0.x/maven-core-it-runner</url>
-    </scm>
-    
-    <repositories>
-      <repository>
-        <id>test-plugins</id>
-        <url>http://people.apache.org/repo/m2-snapshot-repository/</url>
-        <releases>
-          <enabled>false</enabled>
-        </releases>
-        <snapshots>
-          <enabled>true</enabled>
-        </snapshots>
-      </repository>
-    </repositories>
-
     <dependencies>
         <dependency>
             <groupId>org.apache.maven</groupId>

Modified: maven/components/branches/maven-2.0.x/maven-core/pom.xml
URL: http://svn.apache.org/viewvc/maven/components/branches/maven-2.0.x/maven-core/pom.xml?rev=688884&r1=688883&r2=688884&view=diff
==============================================================================
--- maven/components/branches/maven-2.0.x/maven-core/pom.xml (original)
+++ maven/components/branches/maven-2.0.x/maven-core/pom.xml Mon Aug 25 14:11:19 2008
@@ -23,7 +23,7 @@
   <parent>
     <artifactId>maven</artifactId>
     <groupId>org.apache.maven</groupId>
-    <version>2.0.11-SNAPSHOT</version>
+    <version>2.0.9</version>
   </parent>
 
   <artifactId>maven-core</artifactId>
@@ -99,6 +99,7 @@
     <dependency>
       <groupId>commons-cli</groupId>
       <artifactId>commons-cli</artifactId>
+      <version>1.0</version>
       <exclusions>
         <exclusion>
           <artifactId>commons-lang</artifactId>
@@ -184,15 +185,6 @@
     </plugins>
   </reporting>
 
-  <build>
-    <resources>
-      <resource>
-        <directory>src/main/resources</directory>
-        <filtering>true</filtering>
-      </resource>
-    </resources>
-  </build>
-
   <profiles>
     <profile>
       <id>include-site</id>

Modified: maven/components/branches/maven-2.0.x/maven-core/src/main/java/org/apache/maven/DefaultMaven.java
URL: http://svn.apache.org/viewvc/maven/components/branches/maven-2.0.x/maven-core/src/main/java/org/apache/maven/DefaultMaven.java?rev=688884&r1=688883&r2=688884&view=diff
==============================================================================
--- maven/components/branches/maven-2.0.x/maven-core/src/main/java/org/apache/maven/DefaultMaven.java (original)
+++ maven/components/branches/maven-2.0.x/maven-core/src/main/java/org/apache/maven/DefaultMaven.java Mon Aug 25 14:11:19 2008
@@ -21,10 +21,8 @@
 
 
 import org.apache.maven.artifact.manager.WagonManager;
-import org.apache.maven.artifact.manager.DefaultWagonManager;
 import org.apache.maven.artifact.repository.ArtifactRepository;
 import org.apache.maven.artifact.resolver.ArtifactResolutionException;
-import org.apache.maven.artifact.versioning.ArtifactVersion;
 import org.apache.maven.artifact.versioning.DefaultArtifactVersion;
 import org.apache.maven.execution.BuildFailure;
 import org.apache.maven.execution.DefaultMavenExecutionRequest;
@@ -39,9 +37,11 @@
 import org.apache.maven.monitor.event.MavenEvents;
 import org.apache.maven.profiles.ProfileManager;
 import org.apache.maven.profiles.activation.ProfileActivationException;
+import org.apache.maven.project.DefaultProjectBuilderConfiguration;
 import org.apache.maven.project.DuplicateProjectException;
 import org.apache.maven.project.MavenProject;
 import org.apache.maven.project.MavenProjectBuilder;
+import org.apache.maven.project.ProjectBuilderConfiguration;
 import org.apache.maven.project.ProjectBuildingException;
 import org.apache.maven.reactor.MavenExecutionException;
 import org.apache.maven.settings.Mirror;
@@ -575,7 +575,12 @@
             }
         }
 
-        return projectBuilder.build( pom, request.getProjectBuilderConfiguration() );
+        ProjectBuilderConfiguration config = new DefaultProjectBuilderConfiguration();
+        config.setLocalRepository( request.getLocalRepository() )
+              .setGlobalProfileManager( request.getGlobalProfileManager() )
+              .setUserProperties( request.getUserProperties() );
+
+        return projectBuilder.build( pom, config );
     }
 
     // ----------------------------------------------------------------------
@@ -592,7 +597,7 @@
     {
         return new MavenSession( container, request.getSettings(), request.getLocalRepository(),
                                  request.getEventDispatcher(), rpm, request.getGoals(), request.getBaseDirectory(),
-                                 request.getExecutionProperties(), request.getUserProperties(), request.getStartTime() );
+                                 request.getExecutionProperties(), request.getStartTime() );
     }
 
     /**
@@ -604,49 +609,6 @@
     private void resolveParameters( Settings settings )
         throws ComponentLookupException, ComponentLifecycleException, SettingsConfigurationException
     {
-        // TODO: remove when components.xml can be used to configure this instead
-        try
-        {
-            DefaultWagonManager wagonManager = (DefaultWagonManager) container.lookup( WagonManager.ROLE );
-            
-            String oldUserAgent = wagonManager.getHttpUserAgent();
-            int firstSpace = oldUserAgent == null ? -1 : oldUserAgent.indexOf( " " );
-            
-            StringBuffer buffer = new StringBuffer();
-            
-            buffer.append( "Apache-Maven/" );
-            
-            ArtifactVersion version = runtimeInformation.getApplicationVersion();
-            if ( version != null )
-            {
-                buffer.append( version.getMajorVersion() );
-                buffer.append( '.' );
-                buffer.append( version.getMinorVersion() );
-            }
-            else
-            {
-                buffer.append( "unknown" );
-            }
-            
-            buffer.append( ' ' );
-            if ( firstSpace > -1 )
-            {
-                buffer.append( oldUserAgent.substring( firstSpace + 1 ) );
-                buffer.append( ' ' );
-                buffer.append( oldUserAgent.substring( 0, firstSpace ) );
-            }
-            else
-            {
-                buffer.append( oldUserAgent );
-            }
-            
-            wagonManager.setHttpUserAgent(  buffer.toString() );
-        }
-        catch ( ClassCastException e )
-        {
-            // ignore
-        }
-
         WagonManager wagonManager = (WagonManager) container.lookup( WagonManager.ROLE );
 
         try

Modified: maven/components/branches/maven-2.0.x/maven-core/src/main/java/org/apache/maven/MavenArtifactFilterManager.java
URL: http://svn.apache.org/viewvc/maven/components/branches/maven-2.0.x/maven-core/src/main/java/org/apache/maven/MavenArtifactFilterManager.java?rev=688884&r1=688883&r2=688884&view=diff
==============================================================================
--- maven/components/branches/maven-2.0.x/maven-core/src/main/java/org/apache/maven/MavenArtifactFilterManager.java (original)
+++ maven/components/branches/maven-2.0.x/maven-core/src/main/java/org/apache/maven/MavenArtifactFilterManager.java Mon Aug 25 14:11:19 2008
@@ -34,38 +34,13 @@
 {
     public static ArtifactFilter createStandardFilter()
     {
-        Set artifacts = createBaseArtifactSet();
-
-        artifacts.add( "wagon-file" );
-        artifacts.add( "wagon-http-lightweight" );
-        artifacts.add( "wagon-webdav" );
-        artifacts.add( "wagon-ssh" );
-        artifacts.add( "wagon-ssh-external" );
-        artifacts.add( "wagon-ssh-common" );
-        artifacts.add( "wagon-http-shared" );
-
-        return new ExclusionSetFilter( artifacts );
-    }
-
-    public static ArtifactFilter createExtensionFilter()
-    {
-        Set artifacts = createBaseArtifactSet();
-
-        // It should be safe to include wagon implementations, and since this is used by the extension manager they would
-        // get filtered out otherwise
-        
-        return new ExclusionSetFilter( artifacts );
-    }
-
-    private static Set createBaseArtifactSet()
-    {
         // TODO: configure this from bootstrap or scan lib
         Set artifacts = new HashSet();
 
         artifacts.add( "classworlds" );
         artifacts.add( "commons-cli" );
         artifacts.add( "doxia-sink-api" );
-        artifacts.add( "doxia-logging-api" );
+        artifacts.add( "jsch" );
         artifacts.add( "maven-artifact" );
         artifacts.add( "maven-artifact-manager" );
         artifacts.add( "maven-core" );
@@ -83,8 +58,20 @@
         artifacts.add( "maven-settings" );
         artifacts.add( "plexus-container-default" );
         artifacts.add( "plexus-interactivity-api" );
+        //adding shared/maven-toolchain project here, even though not part of the default 
+        //distro yet.
         artifacts.add( "maven-toolchain" );
+        //artifacts.add( "plexus-utils" );
         artifacts.add( "wagon-provider-api" );
-        return artifacts;
+
+        // It should be safe to include implementations, and since this is used by the extension manager they would
+        // get filtered out otherwise
+        //artifacts.add( "wagon-file" );
+        //artifacts.add( "wagon-http-lightweight" );
+        //artifacts.add( "wagon-webdav" );
+        //artifacts.add( "wagon-ssh" );
+        //artifacts.add( "wagon-ssh-external" );
+
+        return new ExclusionSetFilter( artifacts );
     }
 }

Modified: maven/components/branches/maven-2.0.x/maven-core/src/main/java/org/apache/maven/cli/AbstractConsoleDownloadMonitor.java
URL: http://svn.apache.org/viewvc/maven/components/branches/maven-2.0.x/maven-core/src/main/java/org/apache/maven/cli/AbstractConsoleDownloadMonitor.java?rev=688884&r1=688883&r2=688884&view=diff
==============================================================================
--- maven/components/branches/maven-2.0.x/maven-core/src/main/java/org/apache/maven/cli/AbstractConsoleDownloadMonitor.java (original)
+++ maven/components/branches/maven-2.0.x/maven-core/src/main/java/org/apache/maven/cli/AbstractConsoleDownloadMonitor.java Mon Aug 25 14:11:19 2008
@@ -75,7 +75,8 @@
 
     public void transferError( TransferEvent transferEvent )
     {
-        // these errors should already be handled elsewhere by Maven since they all result in an exception from Wagon
+        // TODO: can't use getLogger() because this isn't currently instantiated as a component
+        transferEvent.getException().printStackTrace();
     }
 
     /**

Modified: maven/components/branches/maven-2.0.x/maven-core/src/main/java/org/apache/maven/cli/MavenCli.java
URL: http://svn.apache.org/viewvc/maven/components/branches/maven-2.0.x/maven-core/src/main/java/org/apache/maven/cli/MavenCli.java?rev=688884&r1=688883&r2=688884&view=diff
==============================================================================
--- maven/components/branches/maven-2.0.x/maven-core/src/main/java/org/apache/maven/cli/MavenCli.java (original)
+++ maven/components/branches/maven-2.0.x/maven-core/src/main/java/org/apache/maven/cli/MavenCli.java Mon Aug 25 14:11:19 2008
@@ -64,7 +64,6 @@
 import java.util.ArrayList;
 import java.util.Iterator;
 import java.util.List;
-import java.util.Locale;
 import java.util.Properties;
 import java.util.StringTokenizer;
 import java.util.Map.Entry;
@@ -87,15 +86,6 @@
 
     private static Embedder embedder;
 
-    public static void main( String[] args )
-    {
-        ClassWorld classWorld = new ClassWorld( "plexus.core", Thread.currentThread().getContextClassLoader() );
-
-        int result = main( args, classWorld );
-
-        System.exit( result );
-    }
-
     /**
      * @noinspection ConfusingMainMethod
      */
@@ -160,7 +150,7 @@
 
             return 0;
         }
-        else if ( debug || commandLine.hasOption( CLIManager.SHOW_VERSION ) )
+        else if ( debug )
         {
             showVersion();
         }
@@ -240,31 +230,26 @@
 
             if ( commandLine.hasOption( CLIManager.ACTIVATE_PROFILES ) )
             {
-                String [] profileOptionValues = commandLine.getOptionValues( CLIManager.ACTIVATE_PROFILES );
+                String profilesLine = commandLine.getOptionValue( CLIManager.ACTIVATE_PROFILES );
 
-                if ( profileOptionValues != null )
-                {
-                    for ( int i=0; i < profileOptionValues.length; ++i )
-                    {
-                        StringTokenizer profileTokens = new StringTokenizer( profileOptionValues[i], "," );
+                StringTokenizer profileTokens = new StringTokenizer( profilesLine, "," );
 
-                        while ( profileTokens.hasMoreTokens() )
-                        {
-                            String profileAction = profileTokens.nextToken().trim();
+                while ( profileTokens.hasMoreTokens() )
+                {
+                    String profileAction = profileTokens.nextToken().trim();
 
-                            if ( profileAction.startsWith( "-" ) || profileAction.startsWith( "!" ) )
-                            {
-                                profileManager.explicitlyDeactivate( profileAction.substring( 1 ) );
-                            }
-                            else if ( profileAction.startsWith( "+" ) )
-                            {
-                                profileManager.explicitlyActivate( profileAction.substring( 1 ) );
-                            }
-                            else
-                            {
-                                profileManager.explicitlyActivate( profileAction );
-                            }
-                        }
+                    if ( profileAction.startsWith( "-" ) )
+                    {
+                        profileManager.explicitlyDeactivate( profileAction.substring( 1 ) );
+                    }
+                    else if ( profileAction.startsWith( "+" ) )
+                    {
+                        profileManager.explicitlyActivate( profileAction.substring( 1 ) );
+                    }
+                    else
+                    {
+                        // TODO: deprecate this eventually!
+                        profileManager.explicitlyActivate( profileAction );
                     }
                 }
             }
@@ -575,11 +560,8 @@
 
             System.out.println( "Java version: " + System.getProperty( "java.version", "<unknown java version>" ) );
 
-            System.out.println( "Default locale: " + Locale.getDefault() + ", platform encoding: "
-                                + System.getProperty( "file.encoding", "<unknown encoding>" ) );
-
             System.out.println( "OS name: \"" + Os.OS_NAME + "\" version: \"" + Os.OS_VERSION +
-                                "\" arch: \"" + Os.OS_ARCH + "\" family: \"" + Os.OS_FAMILY + "\"" );
+                                "\" arch: \"" + Os.OS_ARCH + "\" Family: \"" + Os.OS_FAMILY + "\"" );
 
         }
         catch ( IOException e )
@@ -692,8 +674,6 @@
 
         public static final char VERSION = 'v';
 
-        public static final char SHOW_VERSION = 'V';
-
         private Options options;
 
         public static final char NON_RECURSIVE = 'N';
@@ -788,10 +768,6 @@
 
             options.addOption( OptionBuilder.withLongOpt( "fail-never" ).withDescription(
                 "NEVER fail the build, regardless of project result" ).create( FAIL_NEVER ) );
-
-            options.addOption(
-                              OptionBuilder.withLongOpt( "show-version" ).withDescription( "Display version information WITHOUT stopping build" ).create(
-                                  SHOW_VERSION ) );
         }
 
         public CommandLine parse( String[] args )

Modified: maven/components/branches/maven-2.0.x/maven-core/src/main/java/org/apache/maven/execution/DefaultMavenExecutionRequest.java
URL: http://svn.apache.org/viewvc/maven/components/branches/maven-2.0.x/maven-core/src/main/java/org/apache/maven/execution/DefaultMavenExecutionRequest.java?rev=688884&r1=688883&r2=688884&view=diff
==============================================================================
--- maven/components/branches/maven-2.0.x/maven-core/src/main/java/org/apache/maven/execution/DefaultMavenExecutionRequest.java (original)
+++ maven/components/branches/maven-2.0.x/maven-core/src/main/java/org/apache/maven/execution/DefaultMavenExecutionRequest.java Mon Aug 25 14:11:19 2008
@@ -23,8 +23,6 @@
 import org.apache.maven.monitor.event.EventDispatcher;
 import org.apache.maven.monitor.event.EventMonitor;
 import org.apache.maven.profiles.ProfileManager;
-import org.apache.maven.project.DefaultProjectBuilderConfiguration;
-import org.apache.maven.project.ProjectBuilderConfiguration;
 import org.apache.maven.settings.Settings;
 
 import java.util.Date;
@@ -144,7 +142,7 @@
 
     public void setSession( MavenSession session )
     {
-        session = session;
+        this.session = session;
     }
 
     public void addEventMonitor( EventMonitor monitor )
@@ -206,16 +204,4 @@
     {
         return userProperties;
     }
-
-    public ProjectBuilderConfiguration getProjectBuilderConfiguration()
-    {
-        ProjectBuilderConfiguration config = new DefaultProjectBuilderConfiguration();
-        config.setLocalRepository( getLocalRepository() )
-              .setGlobalProfileManager( getGlobalProfileManager() )
-              .setExecutionProperties( getExecutionProperties() )
-              .setUserProperties( getUserProperties() )
-              .setBuildStartTime( startTime );
-
-        return config;
-    }
 }

Modified: maven/components/branches/maven-2.0.x/maven-core/src/main/java/org/apache/maven/execution/MavenExecutionRequest.java
URL: http://svn.apache.org/viewvc/maven/components/branches/maven-2.0.x/maven-core/src/main/java/org/apache/maven/execution/MavenExecutionRequest.java?rev=688884&r1=688883&r2=688884&view=diff
==============================================================================
--- maven/components/branches/maven-2.0.x/maven-core/src/main/java/org/apache/maven/execution/MavenExecutionRequest.java (original)
+++ maven/components/branches/maven-2.0.x/maven-core/src/main/java/org/apache/maven/execution/MavenExecutionRequest.java Mon Aug 25 14:11:19 2008
@@ -23,7 +23,6 @@
 import org.apache.maven.monitor.event.EventDispatcher;
 import org.apache.maven.monitor.event.EventMonitor;
 import org.apache.maven.profiles.ProfileManager;
-import org.apache.maven.project.ProjectBuilderConfiguration;
 import org.apache.maven.settings.Settings;
 
 import java.util.Date;
@@ -77,6 +76,4 @@
     Date getStartTime();
 
     boolean isShowErrors();
-
-    ProjectBuilderConfiguration getProjectBuilderConfiguration();
 }

Modified: maven/components/branches/maven-2.0.x/maven-core/src/main/java/org/apache/maven/execution/MavenSession.java
URL: http://svn.apache.org/viewvc/maven/components/branches/maven-2.0.x/maven-core/src/main/java/org/apache/maven/execution/MavenSession.java?rev=688884&r1=688883&r2=688884&view=diff
==============================================================================
--- maven/components/branches/maven-2.0.x/maven-core/src/main/java/org/apache/maven/execution/MavenSession.java (original)
+++ maven/components/branches/maven-2.0.x/maven-core/src/main/java/org/apache/maven/execution/MavenSession.java Mon Aug 25 14:11:19 2008
@@ -22,9 +22,7 @@
 import org.apache.maven.artifact.repository.ArtifactRepository;
 import org.apache.maven.monitor.event.EventDispatcher;
 import org.apache.maven.plugin.descriptor.PluginDescriptor;
-import org.apache.maven.project.DefaultProjectBuilderConfiguration;
 import org.apache.maven.project.MavenProject;
-import org.apache.maven.project.ProjectBuilderConfiguration;
 import org.apache.maven.settings.Settings;
 import org.codehaus.plexus.PlexusContainer;
 import org.codehaus.plexus.component.repository.exception.ComponentLookupException;
@@ -59,23 +57,14 @@
 
     private final Properties executionProperties;
 
-    private Properties userProperties;
-
     private final Date startTime;
-
+    
     private MavenProject currentProject;
 
     public MavenSession( PlexusContainer container, Settings settings, ArtifactRepository localRepository,
                          EventDispatcher eventDispatcher, ReactorManager reactorManager, List goals,
                          String executionRootDir, Properties executionProperties, Date startTime )
     {
-        this( container, settings, localRepository, eventDispatcher, reactorManager, goals, executionRootDir, executionProperties, null, startTime );
-    }
-
-    public MavenSession( PlexusContainer container, Settings settings, ArtifactRepository localRepository,
-                         EventDispatcher eventDispatcher, ReactorManager reactorManager, List goals,
-                         String executionRootDir, Properties executionProperties, Properties userProperties, Date startTime )
-    {
         this.container = container;
 
         this.settings = settings;
@@ -92,8 +81,6 @@
 
         this.executionProperties = executionProperties;
 
-        this.userProperties = userProperties;
-
         this.startTime = startTime;
     }
 
@@ -184,7 +171,7 @@
     {
         return startTime;
     }
-
+    
     public void setCurrentProject( MavenProject currentProject )
     {
         this.currentProject = currentProject;
@@ -197,30 +184,5 @@
     {
         return currentProject;
     }
-
-
-    public Properties getUserProperties()
-    {
-        return userProperties;
-    }
-
-    public void setUserProperties( Properties userProperties )
-    {
-        this.userProperties = userProperties;
-    }
-
-    /**
-     * NOTE: This varies from {@link DefaultMavenExecutionRequest#getProjectBuilderConfiguration()} in that
-     * it doesn't supply a global profile manager.
-     */
-    public ProjectBuilderConfiguration getProjectBuilderConfiguration()
-    {
-        ProjectBuilderConfiguration config = new DefaultProjectBuilderConfiguration();
-        config.setLocalRepository( getLocalRepository() )
-              .setExecutionProperties( getExecutionProperties() )
-              .setUserProperties( getUserProperties() )
-              .setBuildStartTime( getStartTime() );
-
-        return config;
-    }
+    
 }
\ No newline at end of file

Modified: maven/components/branches/maven-2.0.x/maven-core/src/main/java/org/apache/maven/extension/DefaultExtensionManager.java
URL: http://svn.apache.org/viewvc/maven/components/branches/maven-2.0.x/maven-core/src/main/java/org/apache/maven/extension/DefaultExtensionManager.java?rev=688884&r1=688883&r2=688884&view=diff
==============================================================================
--- maven/components/branches/maven-2.0.x/maven-core/src/main/java/org/apache/maven/extension/DefaultExtensionManager.java (original)
+++ maven/components/branches/maven-2.0.x/maven-core/src/main/java/org/apache/maven/extension/DefaultExtensionManager.java Mon Aug 25 14:11:19 2008
@@ -19,6 +19,16 @@
  * under the License.
  */
 
+import java.io.File;
+import java.io.InputStream;
+import java.io.InputStreamReader;
+import java.util.Collections;
+import java.util.HashSet;
+import java.util.Iterator;
+import java.util.Map;
+import java.util.Set;
+import java.util.jar.JarFile;
+
 import org.apache.maven.MavenArtifactFilterManager;
 import org.apache.maven.artifact.Artifact;
 import org.apache.maven.artifact.ArtifactUtils;
@@ -53,15 +63,6 @@
 import org.codehaus.plexus.util.xml.Xpp3Dom;
 import org.codehaus.plexus.util.xml.Xpp3DomBuilder;
 
-import java.io.File;
-import java.io.InputStream;
-import java.io.InputStreamReader;
-import java.util.Collections;
-import java.util.Iterator;
-import java.util.Map;
-import java.util.Set;
-import java.util.jar.JarFile;
-
 /**
  * Used to locate extensions.
  *
@@ -81,7 +82,7 @@
 
     private DefaultPlexusContainer container;
 
-    private ArtifactFilter artifactFilter = MavenArtifactFilterManager.createExtensionFilter();
+    private ArtifactFilter artifactFilter = MavenArtifactFilterManager.createStandardFilter();
 
     private WagonManager wagonManager;
 
@@ -118,15 +119,16 @@
 
             // 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
-            Set rgArtifacts = resolutionGroup.getArtifacts();
-            rgArtifacts = DefaultPluginManager.checkPlexusUtils( rgArtifacts, artifactFactory );
+            DefaultPluginManager.checkPlexusUtils( resolutionGroup, artifactFactory );
+
+            Set dependencies = new HashSet( resolutionGroup.getArtifacts() );
 
-            rgArtifacts.add( artifact );
+            dependencies.add( artifact );
 
             // Make sure that we do not influence the dependenecy resolution of extensions with the project's
             // dependencyManagement
 
-            ArtifactResolutionResult result = artifactResolver.resolveTransitively( rgArtifacts, project.getArtifact(),
+            ArtifactResolutionResult result = artifactResolver.resolveTransitively( dependencies, project.getArtifact(),
                                                                                     Collections.EMPTY_MAP,
                                                                                     //project.getManagedVersionMap(),
                                                                                     localRepository,
@@ -268,7 +270,7 @@
             }
             catch ( ComponentLookupException e )
             {
-                // no wagons found in the extension
+                // now wagons found in the extension
             }
         }
     }
@@ -276,7 +278,7 @@
     public void contextualize( Context context )
         throws ContextException
     {
-        container = (DefaultPlexusContainer) context.get( PlexusConstants.PLEXUS_KEY );
+        this.container = (DefaultPlexusContainer) context.get( PlexusConstants.PLEXUS_KEY );
     }
 
     private static final class ProjectArtifactExceptionFilter
@@ -290,7 +292,7 @@
                                         Artifact projectArtifact )
         {
             this.passThroughFilter = passThroughFilter;
-            projectDependencyConflictId = projectArtifact.getDependencyConflictId();
+            this.projectDependencyConflictId = projectArtifact.getDependencyConflictId();
         }
 
         public boolean include( Artifact artifact )
@@ -330,7 +332,7 @@
         }
         catch( Exception e )
         {
-            // do nothing
+            // do nothingls
         }
 
         return false;