Author: brett
Date: Wed Jul 27 07:17:41 2005
New Revision: 225524

URL: http://svn.apache.org/viewcvs?rev=225524&view=rev
Log:
PR: MNG-649
add classifier to dependency. it becomes part of the dependency key along with 
type when not null

Modified:
    
maven/components/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/factory/ArtifactFactory.java
    
maven/components/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/factory/DefaultArtifactFactory.java
    
maven/components/trunk/maven-artifact/src/test/java/org/apache/maven/artifact/resolver/DefaultArtifactCollectorTest.java
    maven/components/trunk/maven-model/maven.mdo
    
maven/components/trunk/maven-plugins/maven-release-plugin/src/main/java/org/apache/maven/plugin/release/PrepareReleaseMojo.java
    
maven/components/trunk/maven-plugins/maven-release-plugin/src/main/java/org/apache/maven/plugin/transformer/VersionTransformer.java
    
maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/DefaultMavenProjectBuilder.java
    
maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/MavenProject.java
    
maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/artifact/MavenMetadataSource.java
    
maven/components/trunk/maven-project/src/test/java/org/apache/maven/project/TestArtifactResolver.java

Modified: 
maven/components/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/factory/ArtifactFactory.java
URL: 
http://svn.apache.org/viewcvs/maven/components/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/factory/ArtifactFactory.java?rev=225524&r1=225523&r2=225524&view=diff
==============================================================================
--- 
maven/components/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/factory/ArtifactFactory.java
 (original)
+++ 
maven/components/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/factory/ArtifactFactory.java
 Wed Jul 27 07:17:41 2005
@@ -42,10 +42,10 @@
                                            String classifier );
 
     Artifact createDependencyArtifact( String groupId, String artifactId, 
VersionRange versionRange, String type,
-                                       String scope );
+                                       String classifier, String scope );
 
     Artifact createDependencyArtifact( String groupId, String artifactId, 
VersionRange versionRange, String type,
-                                       String scope, String inheritedScope );
+                                       String classifier, String scope, String 
inheritedScope );
 
     Artifact createBuildArtifact( String groupId, String artifactId, String 
version, String packaging );
 

Modified: 
maven/components/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/factory/DefaultArtifactFactory.java
URL: 
http://svn.apache.org/viewcvs/maven/components/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/factory/DefaultArtifactFactory.java?rev=225524&r1=225523&r2=225524&view=diff
==============================================================================
--- 
maven/components/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/factory/DefaultArtifactFactory.java
 (original)
+++ 
maven/components/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/factory/DefaultArtifactFactory.java
 Wed Jul 27 07:17:41 2005
@@ -50,15 +50,15 @@
     }
 
     public Artifact createDependencyArtifact( String groupId, String 
artifactId, VersionRange versionRange, String type,
-                                              String scope )
+                                              String classifier, String scope )
     {
-        return createArtifact( groupId, artifactId, versionRange, null, type, 
null, null );
+        return createArtifact( groupId, artifactId, versionRange, null, type, 
classifier, null );
     }
 
     public Artifact createDependencyArtifact( String groupId, String 
artifactId, VersionRange versionRange, String type,
-                                              String scope, String 
inheritedScope )
+                                              String classifier, String scope, 
String inheritedScope )
     {
-        return createArtifact( groupId, artifactId, versionRange, scope, type, 
null, inheritedScope );
+        return createArtifact( groupId, artifactId, versionRange, scope, type, 
classifier, inheritedScope );
     }
 
     public Artifact createBuildArtifact( String groupId, String artifactId, 
String version, String packaging )

Modified: 
maven/components/trunk/maven-artifact/src/test/java/org/apache/maven/artifact/resolver/DefaultArtifactCollectorTest.java
URL: 
http://svn.apache.org/viewcvs/maven/components/trunk/maven-artifact/src/test/java/org/apache/maven/artifact/resolver/DefaultArtifactCollectorTest.java?rev=225524&r1=225523&r2=225524&view=diff
==============================================================================
--- 
maven/components/trunk/maven-artifact/src/test/java/org/apache/maven/artifact/resolver/DefaultArtifactCollectorTest.java
 (original)
+++ 
maven/components/trunk/maven-artifact/src/test/java/org/apache/maven/artifact/resolver/DefaultArtifactCollectorTest.java
 Wed Jul 27 07:17:41 2005
@@ -419,8 +419,10 @@
             ArtifactSpec a = (ArtifactSpec) artifacts.get( key );
             try
             {
-                return new ResolutionGroup( artifact, createArtifacts( 
artifactFactory, a.dependencies, artifact.getScope(),
-                                                             
artifact.getDependencyFilter() ), Collections.EMPTY_LIST );
+                return new ResolutionGroup( artifact, createArtifacts( 
artifactFactory, a.dependencies,
+                                                                       
artifact.getScope(),
+                                                                       
artifact.getDependencyFilter() ),
+                                                      Collections.EMPTY_LIST );
             }
             catch ( InvalidVersionSpecificationException e )
             {
@@ -445,7 +447,8 @@
 
                 VersionRange versionRange = 
VersionRange.createFromVersionSpec( d.getVersion() );
                 Artifact artifact = artifactFactory.createDependencyArtifact( 
d.getGroupId(), d.getArtifactId(),
-                                                                              
versionRange, d.getType(), d.getScope(),
+                                                                              
versionRange, d.getType(),
+                                                                              
d.getClassifier(), d.getScope(),
                                                                               
inheritedScope );
 
                 if ( artifact != null && ( dependencyFilter == null || 
dependencyFilter.include( artifact ) ) )

Modified: maven/components/trunk/maven-model/maven.mdo
URL: 
http://svn.apache.org/viewcvs/maven/components/trunk/maven-model/maven.mdo?rev=225524&r1=225523&r2=225524&view=diff
==============================================================================
--- maven/components/trunk/maven-model/maven.mdo (original)
+++ maven/components/trunk/maven-model/maven.mdo Wed Jul 27 07:17:41 2005
@@ -1211,6 +1211,16 @@
           <defaultValue>jar</defaultValue>
         </field>
         <field>
+          <name>classifier</name>
+          <version>4.0.0</version>
+          <description>
+            The classifier of the dependency. This allows distinguishing two 
artifacts that belong to the same POM but
+            were built differently, and is appended to the filename after the 
version.
+          </description>
+          <type>String</type>
+          <required>false</required>
+        </field>
+        <field>
           <name>properties</name>
           <version>3.0.0</version>
           <description><![CDATA[
@@ -1266,14 +1276,9 @@
         <codeSegment>
           <version>4.0.0</version>
           <code><![CDATA[
-            public String getId()
-            {
-                return groupId + ":" + artifactId + ":" + type + ":" + version;
-            }
-            
             public String getManagementKey()
             {
-                return groupId + ":" + artifactId + ":" + type;
+                return groupId + ":" + artifactId + ":" + type + classifier != 
null ? ":" + classifier : "";
             }
           ]]></code>
         </codeSegment>

Modified: 
maven/components/trunk/maven-plugins/maven-release-plugin/src/main/java/org/apache/maven/plugin/release/PrepareReleaseMojo.java
URL: 
http://svn.apache.org/viewcvs/maven/components/trunk/maven-plugins/maven-release-plugin/src/main/java/org/apache/maven/plugin/release/PrepareReleaseMojo.java?rev=225524&r1=225523&r2=225524&view=diff
==============================================================================
--- 
maven/components/trunk/maven-plugins/maven-release-plugin/src/main/java/org/apache/maven/plugin/release/PrepareReleaseMojo.java
 (original)
+++ 
maven/components/trunk/maven-plugins/maven-release-plugin/src/main/java/org/apache/maven/plugin/release/PrepareReleaseMojo.java
 Wed Jul 27 07:17:41 2005
@@ -74,21 +74,21 @@
      * @readonly
      */
     private boolean interactive = true;
-    
+
     /**
      * @parameter 
expression="${component.org.apache.maven.artifact.metadata.ArtifactMetadataSource}"
      * @required
      * @readonly
      */
     private ArtifactMetadataSource artifactMetadataSource;
-    
+
     /**
      * @parameter 
expression="${component.org.codehaus.plexus.components.inputhandler.InputHandler}"
      * @required
      * @readonly
      */
     private InputHandler inputHandler;
-    
+
     /**
      * @parameter expression="${localRepository}"
      * @required
@@ -122,23 +122,24 @@
         checkForPresenceOfSnapshots();
 
         transformPomToReleaseVersionPom();
-        
+
         generateReleasePropertiesFile();
-        
+
         generateReleasePom();
-        
+
         checkInReleaseVersionPom();
 
         tagRelease();
 
         transformPomToSnapshotVersionPom();
-        
+
         new File( basedir, RELEASE_POM ).delete();
 
         checkInSnapshotVersionPom();
     }
 
-    private void generateReleasePropertiesFile() throws MojoExecutionException
+    private void generateReleasePropertiesFile()
+        throws MojoExecutionException
     {
         try
         {
@@ -349,29 +350,30 @@
         if ( project.hasParent() )
         {
             Artifact parentArtifact = project.getParentArtifact();
-            
+
             if ( isSnapshot( parentArtifact.getBaseVersion() ) )
             {
                 String version = resolveVersion( parentArtifact, "parent" );
-                
+
                 model.getParent().setVersion( version );
             }
         }
-        
+
         //Rewrite dependencies section
         Map artifactMap = ArtifactUtils.artifactMapByArtifactId( 
project.getArtifacts() );
-        
+
         for ( Iterator i = model.getDependencies().iterator(); i.hasNext(); )
         {
             Dependency dep = (Dependency) i.next();
-            
-            String conflictId = ArtifactUtils.artifactId( dep.getGroupId(), 
dep.getArtifactId(), dep.getType(), dep.getVersion() );
-            
+
+            String conflictId = ArtifactUtils.artifactId( dep.getGroupId(), 
dep.getArtifactId(), dep.getType(),
+                                                          dep.getClassifier(), 
dep.getVersion() );
+
             Artifact artifact = (Artifact) artifactMap.get( conflictId );
-            
+
             dep.setVersion( artifact.getVersion() );
         }
-        
+
         try
         {
             PomTransformer transformer = new VersionTransformer();
@@ -391,43 +393,45 @@
             throw new MojoExecutionException( "Can't transform pom to its 
release version form.", e );
         }
     }
-    
-    private void generateReleasePom() throws MojoExecutionException
+
+    private void generateReleasePom()
+        throws MojoExecutionException
     {
         MavenProject releaseProject = new MavenProject( project );
         Model releaseModel = releaseProject.getModel();
-        
+
         //Rewrite parent version
         if ( project.hasParent() )
         {
             Artifact parentArtifact = project.getParentArtifact();
-            
+
             if ( isSnapshot( parentArtifact.getBaseVersion() ) )
             {
                 String version = resolveVersion( parentArtifact, "parent" );
-                
+
                 model.getParent().setVersion( version );
             }
         }
 
         //Rewrite dependencies section
         List newdeps = new ArrayList();
-        
+
         for ( Iterator i = releaseProject.getArtifacts().iterator(); 
i.hasNext(); )
         {
             Artifact artifact = (Artifact) i.next();
-            
+
             Dependency newdep = new Dependency();
-            
+
             newdep.setArtifactId( artifact.getArtifactId() );
             newdep.setGroupId( artifact.getGroupId() );
             newdep.setVersion( artifact.getVersion() );
             newdep.setType( artifact.getType() );
             newdep.setScope( artifact.getScope() );
-            
+            newdep.setClassifier( artifact.getClassifier() );
+
             newdeps.add( newdep );
         }
-        
+
         releaseModel.setDependencies( newdeps );
 
         //Rewrite plugins version
@@ -439,17 +443,17 @@
                 for ( Iterator j = 
releaseModel.getBuild().getPlugins().iterator(); j.hasNext(); )
                 {
                     Plugin plugin = (Plugin) j.next();
-                    if ( ArtifactUtils.versionlessKey(artifact).equals( 
plugin.getKey() ) )
+                    if ( ArtifactUtils.versionlessKey( artifact ).equals( 
plugin.getKey() ) )
                     {
                         String version = resolveVersion( artifact, "plugin" );
-                        
+
                         plugin.setGroupId( artifact.getGroupId() );
                         plugin.setVersion( version );
                     }
                 }
             }
         }
-        
+
         //Rewrite report version
         for ( Iterator i = releaseProject.getReportArtifacts().iterator(); 
i.hasNext(); )
         {
@@ -457,16 +461,16 @@
             if ( isSnapshot( artifact.getBaseVersion() ) )
             {
                 List reportPlugins = releaseProject.getReportPlugins();
-                
+
                 if ( reportPlugins != null )
                 {
                     for ( Iterator j = reportPlugins.iterator(); j.hasNext(); )
                     {
                         ReportPlugin plugin = (ReportPlugin) j.next();
-                        if ( ArtifactUtils.versionlessKey(artifact).equals( 
plugin.getKey() ) )
+                        if ( ArtifactUtils.versionlessKey( artifact ).equals( 
plugin.getKey() ) )
                         {
                             String version = resolveVersion( artifact, 
"report" );
-                            
+
                             plugin.setGroupId( artifact.getGroupId() );
                             plugin.setVersion( version );
                         }
@@ -474,15 +478,15 @@
                 }
             }
         }
-        
+
         File releasePomFile = new File( basedir, RELEASE_POM );
-        
+
         Writer writer = null;
-        
+
         try
         {
             writer = new FileWriter( releasePomFile );
-            
+
             releaseProject.writeModel( writer );
         }
         catch ( IOException e )
@@ -493,7 +497,7 @@
         {
             IOUtil.close( writer );
         }
-        
+
         try
         {
             ScmBean scm = getScm();
@@ -501,11 +505,11 @@
             scm.setWorkingDirectory( basedir );
 
             List scmChanges = scm.getStatus();
-            
+
             for ( Iterator i = scmChanges.iterator(); i.hasNext(); )
             {
                 ScmFile f = (ScmFile) i.next();
-                
+
                 if ( f.getPath().equals( "release-pom.xml" ) && f.getStatus() 
!= ScmFileStatus.MODIFIED )
                 {
                     getScm().add( RELEASE_POM );
@@ -522,21 +526,21 @@
         }
     }
 
-    private String resolveVersion( Artifact artifact, String artifactUsage ) 
+    private String resolveVersion( Artifact artifact, String artifactUsage )
         throws MojoExecutionException
     {
         if ( artifact.getFile() == null )
         {
             try
             {
-                artifactMetadataSource.retrieve(artifact, localRepository, 
project.getPluginArtifactRepositories() );
+                artifactMetadataSource.retrieve( artifact, localRepository, 
project.getPluginArtifactRepositories() );
             }
             catch ( ArtifactMetadataRetrievalException e )
             {
                 throw new MojoExecutionException( "Cannot resolve " + 
artifactUsage + ": " + artifact.getId(), e );
             }
         }
-        
+
         return artifact.getVersion();
     }
 

Modified: 
maven/components/trunk/maven-plugins/maven-release-plugin/src/main/java/org/apache/maven/plugin/transformer/VersionTransformer.java
URL: 
http://svn.apache.org/viewcvs/maven/components/trunk/maven-plugins/maven-release-plugin/src/main/java/org/apache/maven/plugin/transformer/VersionTransformer.java?rev=225524&r1=225523&r2=225524&view=diff
==============================================================================
--- 
maven/components/trunk/maven-plugins/maven-release-plugin/src/main/java/org/apache/maven/plugin/transformer/VersionTransformer.java
 (original)
+++ 
maven/components/trunk/maven-plugins/maven-release-plugin/src/main/java/org/apache/maven/plugin/transformer/VersionTransformer.java
 Wed Jul 27 07:17:41 2005
@@ -83,6 +83,8 @@
 

             Node type = node.selectSingleNode( "type" );

 

+            Node classifier = node.selectSingleNode( "classifier" );

+

             String typeText = "jar";

 

             if ( type != null )

@@ -91,7 +93,8 @@
             }

             Node version = node.selectSingleNode( "version" );

 

-            String versionText = getDependency( groupId.getText(), 
artifactId.getText(), typeText ).getVersion();

+            String versionText = getDependency( groupId.getText(), 
artifactId.getText(), typeText,

+                                                classifier.getText() 
).getVersion();

             if ( version != null )

             {

                 version.setText( versionText );

@@ -183,14 +186,16 @@
         }

     }

 

-    private Dependency getDependency( String groupId, String artifactId, 
String type )

+    private Dependency getDependency( String groupId, String artifactId, 
String type, String classifier )

     {

+        // TODO: equals() in Dependency would be better

         for ( Iterator i = getUpdatedModel().getDependencies().iterator(); 
i.hasNext(); )

         {

             Dependency dependency = (Dependency) i.next();

 

             if ( dependency.getGroupId().equals( groupId ) && 
dependency.getArtifactId().equals( artifactId ) &&

-                dependency.getType().equals( type ) )

+                dependency.getType().equals( type ) && 
dependency.getClassifier() != null

+                ? dependency.getClassifier().equals( classifier ) : classifier 
== null )

             {

                 return dependency;

             }


Modified: 
maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/DefaultMavenProjectBuilder.java
URL: 
http://svn.apache.org/viewcvs/maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/DefaultMavenProjectBuilder.java?rev=225524&r1=225523&r2=225524&view=diff
==============================================================================
--- 
maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/DefaultMavenProjectBuilder.java
 (original)
+++ 
maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/DefaultMavenProjectBuilder.java
 Wed Jul 27 07:17:41 2005
@@ -86,7 +86,7 @@
     private PlexusContainer container;
 
     protected ArtifactResolver artifactResolver;
-    
+
     protected ArtifactMetadataSource artifactMetadataSource;
 
     private ArtifactFactory artifactFactory;
@@ -94,7 +94,7 @@
     private ModelInheritanceAssembler modelInheritanceAssembler;
 
     private ModelValidator validator;
-    
+
     // TODO: make it a component
     private MavenXpp3Reader modelReader;
 
@@ -146,12 +146,13 @@
         Artifact projectArtifact = project.getArtifact();
 
         Map managedVersions = createManagedVersionMap( 
project.getDependencyManagement() );
-        
+
         ensureMetadataSourceIsInitialized();
 
         try
         {
-            project.setDependencyArtifacts( MavenProject.createArtifacts( 
artifactFactory, project.getDependencies() ) );
+            project.setDependencyArtifacts(
+                MavenProject.createArtifacts( artifactFactory, 
project.getDependencies() ) );
         }
         catch ( InvalidVersionSpecificationException e )
         {
@@ -166,8 +167,8 @@
         project.setArtifacts( result.getArtifacts() );
         return project;
     }
-    
-    private void ensureMetadataSourceIsInitialized() 
+
+    private void ensureMetadataSourceIsInitialized()
         throws ProjectBuildingException
     {
         if ( artifactMetadataSource == null )
@@ -199,7 +200,7 @@
                     VersionRange versionRange = 
VersionRange.createFromVersionSpec( d.getVersion() );
                     Artifact artifact = 
artifactFactory.createDependencyArtifact( d.getGroupId(), d.getArtifactId(),
                                                                                
   versionRange, d.getType(),
-                                                                               
   d.getScope() );
+                                                                               
   d.getClassifier(), d.getScope() );
                     map.put( d.getManagementKey(), artifact );
                 }
                 catch ( InvalidVersionSpecificationException e )
@@ -231,7 +232,8 @@
         modelCache.put( createCacheKey( model.getGroupId(), 
model.getArtifactId(), model.getVersion() ), model );
 
         MavenProject project = build( projectDescriptor.getAbsolutePath(), 
model, localRepository,
-                                      Collections.EMPTY_LIST, 
externalProfiles, projectDescriptor.getAbsoluteFile().getParentFile() );
+                                      Collections.EMPTY_LIST, externalProfiles,
+                                      
projectDescriptor.getAbsoluteFile().getParentFile() );
 
         // Only translate the base directory for files in the source tree
         pathTranslator.alignToBaseDirectory( project.getModel(), 
projectDescriptor );
@@ -345,10 +347,11 @@
         }
 
         Model originalModel = ModelUtils.cloneModel( model );
-        
+
         List repositories = new ArrayList( aggregatedRemoteWagonRepositories );
-        
-        MavenProject project = assembleLineage( model, lineage, repositories, 
localRepository, externalProfiles, projectDir );
+
+        MavenProject project = assembleLineage( model, lineage, repositories, 
localRepository, externalProfiles,
+                                                projectDir );
 
         project.setOriginalModel( originalModel );
 
@@ -479,7 +482,9 @@
         return project;
     }
 
-    /** @noinspection CollectionDeclaredAsConcreteClass*/
+    /**
+     * @noinspection CollectionDeclaredAsConcreteClass
+     */
     private MavenProject assembleLineage( Model model, LinkedList lineage, 
List aggregatedRemoteWagonRepositories,
                                           ArtifactRepository localRepository, 
List externalProfiles, File projectDir )
         throws ProjectBuildingException
@@ -520,20 +525,20 @@
             {
                 throw new ProjectBuildingException( "Missing version element 
from parent element" );
             }
-            
+
             model = getCachedModel( parentModel.getGroupId(), 
parentModel.getArtifactId(), parentModel.getVersion() );
-            
+
             // the only way this will have a value is if we find the parent on 
disk...
             File parentProjectDir = null;
-            
+
             String parentRelativePath = parentModel.getRelativePath();
-            
+
             // if we can't find a cached model matching the parent spec, then 
let's try to look on disk using
             // <relativePath/>
-            if ( model == null && projectDir != null && 
StringUtils.isNotEmpty(parentRelativePath) )
+            if ( model == null && projectDir != null && 
StringUtils.isNotEmpty( parentRelativePath ) )
             {
                 File parentDescriptor = new File( projectDir, 
parentRelativePath );
-                
+
                 try
                 {
                     parentDescriptor = parentDescriptor.getCanonicalFile();
@@ -541,34 +546,37 @@
                 catch ( IOException e )
                 {
                     getLogger().debug( "Failed to canonicalize potential 
parent POM: \'" + parentDescriptor + "\'", e );
-                    
+
                     parentDescriptor = null;
                 }
-                
+
                 if ( parentDescriptor != null && parentDescriptor.exists() )
                 {
                     Model candidateParent = readModel( parentDescriptor );
-                    
+
                     // this works because parent-version is still required...
-                    if ( parentModel.getGroupId().equals( 
candidateParent.getGroupId() )
-                        && parentModel.getArtifactId().equals( 
candidateParent.getArtifactId() )
-                        && ( parentModel.getVersion().equals( 
candidateParent.getVersion() ) 
-                            || ( candidateParent.getParent() != null 
-                                && 
parentModel.getVersion().equals(candidateParent.getParent().getVersion() ) ) ) )
+                    if ( parentModel.getGroupId().equals( 
candidateParent.getGroupId() ) &&
+                        parentModel.getArtifactId().equals( 
candidateParent.getArtifactId() ) && (
+                        parentModel.getVersion().equals( 
candidateParent.getVersion() ) || (
+                            candidateParent.getParent() != null &&
+                                parentModel.getVersion().equals( 
candidateParent.getParent().getVersion() ) ) ) )
                     {
                         model = candidateParent;
-                        
+
                         parentProjectDir = parentDescriptor.getParentFile();
-                        
-                        getLogger().debug( "Using parent-POM from the project 
hierarchy at: \'" + parentModel.getRelativePath() + "\' for project: " + 
project.getId() );
+
+                        getLogger().debug( "Using parent-POM from the project 
hierarchy at: \'" +
+                            parentModel.getRelativePath() + "\' for project: " 
+ project.getId() );
                     }
                     else
                     {
-                        getLogger().debug("Invalid parent-POM referenced by 
relative path: \'" + parentModel.getRelativePath() + "\'. It did not match 
parent specification in " + project.getId() );
+                        getLogger().debug( "Invalid parent-POM referenced by 
relative path: \'" +
+                            parentModel.getRelativePath() + "\'. It did not 
match parent specification in " +
+                            project.getId() );
                     }
                 }
             }
-            
+
             Artifact parentArtifact = null;
 
             // only resolve the parent model from the repository system if we 
didn't find it on disk...
@@ -590,7 +598,8 @@
                 model = findModelFromRepository( parentArtifact, 
aggregatedRemoteWagonRepositories, localRepository );
             }
 
-            MavenProject parent = assembleLineage( model, lineage, 
aggregatedRemoteWagonRepositories, localRepository, externalProfiles, 
parentProjectDir );
+            MavenProject parent = assembleLineage( model, lineage, 
aggregatedRemoteWagonRepositories, localRepository,
+                                                   externalProfiles, 
parentProjectDir );
 
             project.setParent( parent );
 
@@ -704,10 +713,10 @@
     }
 
     protected Set createReportArtifacts( List reports )
-    throws ProjectBuildingException
+        throws ProjectBuildingException
     {
         Set pluginArtifacts = new HashSet();
-        
+
         if ( reports != null )
         {
             for ( Iterator i = reports.iterator(); i.hasNext(); )

Modified: 
maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/MavenProject.java
URL: 
http://svn.apache.org/viewcvs/maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/MavenProject.java?rev=225524&r1=225523&r2=225524&view=diff
==============================================================================
--- 
maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/MavenProject.java
 (original)
+++ 
maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/MavenProject.java
 Wed Jul 27 07:17:41 2005
@@ -19,9 +19,9 @@
 import org.apache.maven.artifact.Artifact;
 import org.apache.maven.artifact.ArtifactUtils;
 import org.apache.maven.artifact.DependencyResolutionRequiredException;
-import 
org.apache.maven.artifact.versioning.InvalidVersionSpecificationException;
 import org.apache.maven.artifact.factory.ArtifactFactory;
 import org.apache.maven.artifact.repository.ArtifactRepository;
+import 
org.apache.maven.artifact.versioning.InvalidVersionSpecificationException;
 import org.apache.maven.model.Build;
 import org.apache.maven.model.CiManagement;
 import org.apache.maven.model.Contributor;
@@ -387,6 +387,7 @@
                 dependency.setVersion( a.getVersion() );
                 dependency.setScope( a.getScope() );
                 dependency.setType( a.getType() );
+                dependency.setClassifier( a.getClassifier() );
 
                 list.add( dependency );
             }
@@ -471,6 +472,7 @@
                 dependency.setVersion( a.getVersion() );
                 dependency.setScope( a.getScope() );
                 dependency.setType( a.getType() );
+                dependency.setClassifier( a.getClassifier() );
 
                 list.add( dependency );
             }
@@ -552,6 +554,7 @@
                 dependency.setVersion( a.getVersion() );
                 dependency.setScope( a.getScope() );
                 dependency.setType( a.getType() );
+                dependency.setClassifier( a.getClassifier() );
 
                 list.add( dependency );
             }

Modified: 
maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/artifact/MavenMetadataSource.java
URL: 
http://svn.apache.org/viewcvs/maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/artifact/MavenMetadataSource.java?rev=225524&r1=225523&r2=225524&view=diff
==============================================================================
--- 
maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/artifact/MavenMetadataSource.java
 (original)
+++ 
maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/artifact/MavenMetadataSource.java
 Wed Jul 27 07:17:41 2005
@@ -49,9 +49,9 @@
     extends AbstractLogEnabled
     implements ArtifactMetadataSource
 {
-    
+
     public static final String ROLE_HINT = "maven";
-    
+
     private MavenProjectBuilder mavenProjectBuilder;
 
     private ArtifactFactory artifactFactory;
@@ -150,8 +150,8 @@
 
             VersionRange versionRange = VersionRange.createFromVersionSpec( 
d.getVersion() );
             Artifact artifact = artifactFactory.createDependencyArtifact( 
d.getGroupId(), d.getArtifactId(),
-                                                                          
versionRange, d.getType(), d.getScope(),
-                                                                          
inheritedScope );
+                                                                          
versionRange, d.getType(), d.getClassifier(),
+                                                                          
d.getScope(), inheritedScope );
 
             if ( artifact != null && ( dependencyFilter == null || 
dependencyFilter.include( artifact ) ) )
             {

Modified: 
maven/components/trunk/maven-project/src/test/java/org/apache/maven/project/TestArtifactResolver.java
URL: 
http://svn.apache.org/viewcvs/maven/components/trunk/maven-project/src/test/java/org/apache/maven/project/TestArtifactResolver.java?rev=225524&r1=225523&r2=225524&view=diff
==============================================================================
--- 
maven/components/trunk/maven-project/src/test/java/org/apache/maven/project/TestArtifactResolver.java
 (original)
+++ 
maven/components/trunk/maven-project/src/test/java/org/apache/maven/project/TestArtifactResolver.java
 Wed Jul 27 07:17:41 2005
@@ -53,7 +53,7 @@
     implements Contextualizable
 {
     public static final String ROLE = TestArtifactResolver.class.getName();
-    
+
     private ArtifactRepositoryFactory repositoryFactory;
 
     private PlexusContainer container;
@@ -146,7 +146,8 @@
 
                 VersionRange versionRange = 
VersionRange.createFromVersionSpec( d.getVersion() );
                 Artifact artifact = artifactFactory.createDependencyArtifact( 
d.getGroupId(), d.getArtifactId(),
-                                                                              
versionRange, d.getType(), d.getScope(),
+                                                                              
versionRange, d.getType(),
+                                                                              
d.getClassifier(), d.getScope(),
                                                                               
inheritedScope );
                 if ( artifact != null )
                 {
@@ -157,7 +158,7 @@
             return projectArtifacts;
         }
     }
-    
+
     public Source source()
     {
         return new Source( artifactFactory, repositoryFactory, container );



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to