You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by be...@apache.org on 2009/08/26 00:16:20 UTC

svn commit: r807836 - /maven/components/trunk/maven-core/src/main/java/org/apache/maven/project/artifact/MavenMetadataSource.java

Author: bentmann
Date: Tue Aug 25 22:16:19 2009
New Revision: 807836

URL: http://svn.apache.org/viewvc?rev=807836&view=rev
Log:
o Fixed legacy artifact creation by metadata source

Modified:
    maven/components/trunk/maven-core/src/main/java/org/apache/maven/project/artifact/MavenMetadataSource.java

Modified: maven/components/trunk/maven-core/src/main/java/org/apache/maven/project/artifact/MavenMetadataSource.java
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-core/src/main/java/org/apache/maven/project/artifact/MavenMetadataSource.java?rev=807836&r1=807835&r2=807836&view=diff
==============================================================================
--- maven/components/trunk/maven-core/src/main/java/org/apache/maven/project/artifact/MavenMetadataSource.java (original)
+++ maven/components/trunk/maven-core/src/main/java/org/apache/maven/project/artifact/MavenMetadataSource.java Tue Aug 25 22:16:19 2009
@@ -223,30 +223,40 @@
     private Artifact createDependencyArtifact( Dependency dependency, Artifact owner, Artifact pom )
         throws ArtifactMetadataRetrievalException
     {
-        String effectiveScope = getEffectiveScope( dependency.getScope(), ( owner != null ) ? owner.getScope() : null );
-
-        if ( effectiveScope == null )
-        {
-            return null;
-        }
-
-        VersionRange versionRange;
         try
         {
-            versionRange = VersionRange.createFromVersionSpec( dependency.getVersion() );
+            String inheritedScope = ( owner != null ) ? owner.getScope() : null;
+
+            ArtifactFilter inheritedFilter = ( owner != null ) ? owner.getDependencyFilter() : null;
+
+            return createDependencyArtifact( repositorySystem, dependency, inheritedScope, inheritedFilter );
         }
         catch ( InvalidVersionSpecificationException e )
         {
             throw new ArtifactMetadataRetrievalException( "Invalid version for dependency "
                 + dependency.getManagementKey() + ": " + e.getMessage(), e, pom );
         }
+    }
+
+    private static Artifact createDependencyArtifact( ArtifactFactory factory, Dependency dependency, String inheritedScope,
+                                               ArtifactFilter inheritedFilter )
+        throws InvalidVersionSpecificationException
+    {
+        String effectiveScope = getEffectiveScope( dependency.getScope(), inheritedScope );
+
+        if ( effectiveScope == null )
+        {
+            return null;
+        }
+
+        VersionRange versionRange = VersionRange.createFromVersionSpec( dependency.getVersion() );
 
         Artifact dependencyArtifact =
-            repositorySystem.createDependencyArtifact( dependency.getGroupId(), dependency.getArtifactId(),
-                                                       versionRange, dependency.getType(), dependency.getClassifier(),
-                                                       effectiveScope, dependency.isOptional() );
+            factory.createDependencyArtifact( dependency.getGroupId(), dependency.getArtifactId(), versionRange,
+                                              dependency.getType(), dependency.getClassifier(), effectiveScope,
+                                              dependency.isOptional() );
 
-        ArtifactFilter dependencyFilter = ( owner != null ) ? owner.getDependencyFilter() : null;
+        ArtifactFilter dependencyFilter = inheritedFilter;
 
         if ( dependencyFilter != null && !dependencyFilter.include( dependencyArtifact ) )
         {
@@ -263,7 +273,7 @@
         return dependencyArtifact;
     }
 
-    private String getEffectiveScope( String originalScope, String inheritedScope )
+    private static String getEffectiveScope( String originalScope, String inheritedScope )
     {
         String effectiveScope = Artifact.SCOPE_RUNTIME;
 
@@ -304,7 +314,7 @@
         return effectiveScope;
     }
 
-    private ArtifactFilter createDependencyFilter( Dependency dependency, ArtifactFilter inheritedFilter )
+    private static ArtifactFilter createDependencyFilter( Dependency dependency, ArtifactFilter inheritedFilter )
     {
         ArtifactFilter effectiveFilter = inheritedFilter;
 
@@ -399,18 +409,21 @@
     public static Set<Artifact> createArtifacts( ArtifactFactory artifactFactory, List<Dependency> dependencies, String inheritedScope, ArtifactFilter dependencyFilter, MavenProject project )
         throws InvalidDependencyVersionException
     {
-        return createArtifacts( artifactFactory, dependencies, dependencyFilter );
-    }
-
-    private static Set<Artifact> createArtifacts( ArtifactFactory factory, List<Dependency> dependencies, ArtifactFilter filter )
-    {
         Set<Artifact> artifacts = new LinkedHashSet<Artifact>();
 
         for ( Dependency d : dependencies )
         {
-            Artifact dependencyArtifact = factory.createArtifact( d.getGroupId(), d.getArtifactId(), d.getVersion(), d.getScope(), d.getType() );
+            Artifact dependencyArtifact;
+            try
+            {
+                dependencyArtifact = createDependencyArtifact( artifactFactory, d, inheritedScope, dependencyFilter );
+            }
+            catch ( InvalidVersionSpecificationException e )
+            {
+                throw new InvalidDependencyVersionException( project.getId(), d, project.getFile(), e );
+            }
 
-            if ( filter.include( dependencyArtifact ) )
+            if ( dependencyArtifact != null )
             {
                 artifacts.add( dependencyArtifact );
             }