Check main artifact and attached artifacts for artifacts from the same build

git-svn-id: https://svn.apache.org/repos/asf/sling/trunk@1672659 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/src/main/java/org/apache/sling/maven/slingstart/DependencyLifecycleParticipant.java b/src/main/java/org/apache/sling/maven/slingstart/DependencyLifecycleParticipant.java
index 05ba821..c65f427 100644
--- a/src/main/java/org/apache/sling/maven/slingstart/DependencyLifecycleParticipant.java
+++ b/src/main/java/org/apache/sling/maven/slingstart/DependencyLifecycleParticipant.java
@@ -107,7 +107,8 @@
                 // if it's a project from the current reactor build, we can't resolve it right now
                 final String key = d.getGroupId() + ":" + d.getArtifactId() + ":" + d.getVersion();
                 if ( projectMap.containsKey(key) ) {
-                    allDependencies.add(key + ":" + d.getClassifier() + ":" + d.getType());
+                    allDependencies.add(key + ":" + (d.getClassifier() != null ? d.getClassifier() : "")
+                                            + ":" + (d.getType() != null ? d.getType() : ""));
                 } else {
                     // "external" dependency, we can already resolve it
                     final File modelFile = getSlingstartArtifact(artifactHandlerManager, resolver, project, session, d);
diff --git a/src/main/java/org/apache/sling/maven/slingstart/ModelUtils.java b/src/main/java/org/apache/sling/maven/slingstart/ModelUtils.java
index 439b3cf..098d1ca 100644
--- a/src/main/java/org/apache/sling/maven/slingstart/ModelUtils.java
+++ b/src/main/java/org/apache/sling/maven/slingstart/ModelUtils.java
@@ -278,6 +278,7 @@
         for(final Object o : localDeps) {
             if ( o instanceof String ) {
                 final String[] info = ((String)o).split(":");
+
                 final Dependency dep = new Dependency();
                 dep.setGroupId(info[0]);
                 dep.setArtifactId(info[1]);
@@ -343,6 +344,13 @@
             if ( p.getGroupId().equals(dep.getGroupId())
                  && p.getArtifactId().equals(dep.getArtifactId()) ) {
 
+                // check main artifact first
+                if ( dep.getClassifier() == null && p.getPackaging().equals(dep.getType()) ) {
+                    if ( p.getArtifact() != null && p.getArtifact().getFile() != null ) {
+                        return p.getArtifact().getFile();
+                    }
+                }
+                // followed by attached artifacts
                 for(final Artifact a : p.getAttachedArtifacts()) {
                     if ( equals(a.getType(), dep.getType() ) && equals(a.getClassifier(), dep.getClassifier())) {
                         if ( a.getFile() != null ) {