FELIX-3070 :  SCR Plugin and dependencies with classifier cause issue depending on the order of dependency in pom.xml


git-svn-id: https://svn.apache.org/repos/asf/felix/trunk@1176365 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/scrplugin/maven-scr-plugin/changelog.txt b/scrplugin/maven-scr-plugin/changelog.txt
index 51a4248..4552029 100644
--- a/scrplugin/maven-scr-plugin/changelog.txt
+++ b/scrplugin/maven-scr-plugin/changelog.txt
@@ -4,6 +4,8 @@
 ** Bug
     * [FELIX-2963] - scr annotations @Activate @Deactivate @Modified are not detected with class inheritance
     * [FELIX-3117] - NullPointerException when not implementing interface that is defined with @Service
+    * [FELIX-3070} - SCR Plugin and dependencies with classifier cause issue depending on the order of dependency in pom.xml
+
 
 ** Improvement
     * [FELIX-3066] - Add support for source directory include filter via plugin configuration
diff --git a/scrplugin/maven-scr-plugin/src/main/java/org/apache/felix/scrplugin/mojo/MavenJavaClassDescriptorManager.java b/scrplugin/maven-scr-plugin/src/main/java/org/apache/felix/scrplugin/mojo/MavenJavaClassDescriptorManager.java
index 85fa2b9..870ee04 100644
--- a/scrplugin/maven-scr-plugin/src/main/java/org/apache/felix/scrplugin/mojo/MavenJavaClassDescriptorManager.java
+++ b/scrplugin/maven-scr-plugin/src/main/java/org/apache/felix/scrplugin/mojo/MavenJavaClassDescriptorManager.java
@@ -25,7 +25,6 @@
 import org.apache.felix.scrplugin.*;
 import org.apache.felix.scrplugin.helper.StringUtils;
 import org.apache.maven.artifact.Artifact;
-import org.apache.maven.artifact.ArtifactUtils;
 import org.apache.maven.project.MavenProject;
 import org.codehaus.plexus.util.DirectoryScanner;
 
@@ -120,8 +119,7 @@
         ArrayList<File> dependencies = new ArrayList<File>();
 
         @SuppressWarnings("unchecked")
-        final Map<String, Artifact> resolved = project.getArtifactMap();
-        final Iterator<Artifact> it = resolved.values().iterator();
+        final Iterator<Artifact> it = project.getArtifacts().iterator();
         while ( it.hasNext() )
         {
             final Artifact declared = it.next();
@@ -134,10 +132,9 @@
                     || Artifact.SCOPE_SYSTEM.equals( declared.getScope() ) )
                 {
                     this.log.debug( "Resolving artifact " + declared );
-                    final Artifact artifact = resolved.get( ArtifactUtils.versionlessKey( declared ) );
-                    if ( artifact != null )
+                    if ( declared.getFile() != null )
                     {
-                        dependencies.add( artifact.getFile() );
+                        dependencies.add( declared.getFile() );
                     }
                     else
                     {