Hi Benson,

Author: bimargulies
Date: Sat Dec 10 02:22:55 2011
New Revision: 1212720
[...]
@@ -156,12 +159,57 @@ class ReactorReader
          return null;
      }

-    private boolean classifierComparison ( String c1, String c2 )
+    /**
+     * Try to satisfy both MNG-4065 and MNG-5214. Consider jar and test-jar 
equivalent.
+     * @param requestedType
+     * @param artifactType
+     * @return
+     */
+    private boolean attachedArtifactComparison ( Artifact requestedArtifact, 
org.apache.maven.artifact.Artifact attachedArtifact )
      {
-        return c1 == null&&  c2 == null
-                        || ((c1 != null)&&  c1.equals(c2));
+        if ( ! requestedArtifact.getGroupId().equals ( 
attachedArtifact.getGroupId() ) )
+        {
+            return false;
+        }
+        if ( ! requestedArtifact.getArtifactId().equals ( 
attachedArtifact.getArtifactId() ) )
+        {
+            return false;
+        }
+        String requestedExtension = requestedArtifact.getExtension();
+        String attachedExtension = null;
+        if ( attachedArtifact.getArtifactHandler() != null )
+            {
+                attachedExtension = 
attachedArtifact.getArtifactHandler().getExtension();
+            }
+        String requestedType = requestedArtifact.getProperty ( "type", "" );
+        String attachedType = attachedArtifact.getType();
+        boolean typeOk = false;
+
+        if ( requestedExtension.equals ( attachedExtension ) )
+        {
+            // the ideal case.
+            typeOk = true;
+        }
+        else if ( requestedType.equals( attachedType ) )
+        {
+            typeOk = true;
+        }
+        else if ( "test-jar".equals ( requestedType )&&  "jar".equals( 
attachedType ) )
+        {
+            typeOk = true;
+        }
+        else if ( "jar".equals ( requestedType )&&  "test-jar".equals( 
attachedType ) )
+        {
+            typeOk = true;
+        }

Can you describe a case where
  if ( requestedExtension.equals ( attachedExtension ) )
yields false and any of the
  else if (...)
cases yields true?


Benjamin

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@maven.apache.org
For additional commands, e-mail: dev-h...@maven.apache.org

Reply via email to