Author: maartenc
Date: Tue Aug  5 14:45:49 2008
New Revision: 682974

URL: http://svn.apache.org/viewvc?rev=682974&view=rev
Log:
FIX: Maven2 "ejb" packaging is not supported (IVY-873)

Added:
    
ant/ivy/core/trunk/test/java/org/apache/ivy/plugins/parser/m2/test-ejb-packaging.pom
Modified:
    ant/ivy/core/trunk/CHANGES.txt
    
ant/ivy/core/trunk/src/java/org/apache/ivy/plugins/parser/m2/PomModuleDescriptorBuilder.java
    
ant/ivy/core/trunk/test/java/org/apache/ivy/plugins/parser/m2/PomModuleDescriptorParserTest.java

Modified: ant/ivy/core/trunk/CHANGES.txt
URL: 
http://svn.apache.org/viewvc/ant/ivy/core/trunk/CHANGES.txt?rev=682974&r1=682973&r2=682974&view=diff
==============================================================================
--- ant/ivy/core/trunk/CHANGES.txt (original)
+++ ant/ivy/core/trunk/CHANGES.txt Tue Aug  5 14:45:49 2008
@@ -101,6 +101,7 @@
 - IMPROVEMENT: Smarter determination if an expression is exact or not for 
RegexpPatternMatcher and GlobPatternMatcher
 - IMPROVEMENT: Check branch consistency during resolve (IVY-858)
 
+- FIX: Maven2 "ejb" packaging is not supported (IVY-873)
 - FIX: Config files with # in path can't be read (IVY-868) (thanks to Simon 
Steiner)
 - FIX: Cache can't distinguish artifacts with classifiers (IVY-803) (thanks to 
James P. White)
 - FIX: Reports showing double dependencies in certain cases (IVY-578)

Modified: 
ant/ivy/core/trunk/src/java/org/apache/ivy/plugins/parser/m2/PomModuleDescriptorBuilder.java
URL: 
http://svn.apache.org/viewvc/ant/ivy/core/trunk/src/java/org/apache/ivy/plugins/parser/m2/PomModuleDescriptorBuilder.java?rev=682974&r1=682973&r2=682974&view=diff
==============================================================================
--- 
ant/ivy/core/trunk/src/java/org/apache/ivy/plugins/parser/m2/PomModuleDescriptorBuilder.java
 (original)
+++ 
ant/ivy/core/trunk/src/java/org/apache/ivy/plugins/parser/m2/PomModuleDescriptorBuilder.java
 Tue Aug  5 14:45:49 2008
@@ -213,7 +213,15 @@
 
 
     public void addArtifact(String artifactId, String packaging) {
-        String ext = packaging;
+        String ext;
+        if ("pom".equals(packaging)) {
+            // no artifact defined!
+            return;
+        } else if ("ejb".equals(packaging)) {
+            ext = "jar";
+        } else {
+            ext = packaging;
+        }
 
         // TODO: we should refactor the following code into something more 
configurable
 
@@ -231,7 +239,7 @@
         }
 
         ivyModuleDescriptor.addArtifact("master", 
-                new DefaultArtifact(mrid, new Date(), artifactId, ext, ext));
+                new DefaultArtifact(mrid, new Date(), artifactId, packaging, 
ext));
     }
 
 

Modified: 
ant/ivy/core/trunk/test/java/org/apache/ivy/plugins/parser/m2/PomModuleDescriptorParserTest.java
URL: 
http://svn.apache.org/viewvc/ant/ivy/core/trunk/test/java/org/apache/ivy/plugins/parser/m2/PomModuleDescriptorParserTest.java?rev=682974&r1=682973&r2=682974&view=diff
==============================================================================
--- 
ant/ivy/core/trunk/test/java/org/apache/ivy/plugins/parser/m2/PomModuleDescriptorParserTest.java
 (original)
+++ 
ant/ivy/core/trunk/test/java/org/apache/ivy/plugins/parser/m2/PomModuleDescriptorParserTest.java
 Tue Aug  5 14:45:49 2008
@@ -121,6 +121,22 @@
         assertEquals("war", artifact[0].getType());
     }
 
+    public void testEjbPackaging() throws Exception {
+        ModuleDescriptor md = 
PomModuleDescriptorParser.getInstance().parseDescriptor(
+            settings, getClass().getResource("test-ejb-packaging.pom"), false);
+        assertNotNull(md);
+
+        ModuleRevisionId mrid = ModuleRevisionId.newInstance("org.apache", 
"test", "1.0");
+        assertEquals(mrid, md.getModuleRevisionId());
+
+        Artifact[] artifact = md.getArtifacts("master");
+        assertEquals(1, artifact.length);
+        assertEquals(mrid, artifact[0].getModuleRevisionId());
+        assertEquals("test", artifact[0].getName());
+        assertEquals("jar", artifact[0].getExt());
+        assertEquals("ejb", artifact[0].getType());
+    }
+
     
     public void testParent() throws Exception {
         ModuleDescriptor md = 
PomModuleDescriptorParser.getInstance().parseDescriptor(

Added: 
ant/ivy/core/trunk/test/java/org/apache/ivy/plugins/parser/m2/test-ejb-packaging.pom
URL: 
http://svn.apache.org/viewvc/ant/ivy/core/trunk/test/java/org/apache/ivy/plugins/parser/m2/test-ejb-packaging.pom?rev=682974&view=auto
==============================================================================
--- 
ant/ivy/core/trunk/test/java/org/apache/ivy/plugins/parser/m2/test-ejb-packaging.pom
 (added)
+++ 
ant/ivy/core/trunk/test/java/org/apache/ivy/plugins/parser/m2/test-ejb-packaging.pom
 Tue Aug  5 14:45:49 2008
@@ -0,0 +1,32 @@
+<?xml version="1.0"?>
+<!--
+   Licensed to the Apache Software Foundation (ASF) under one
+   or more contributor license agreements.  See the NOTICE file
+   distributed with this work for additional information
+   regarding copyright ownership.  The ASF licenses this file
+   to you under the Apache License, Version 2.0 (the
+   "License"); you may not use this file except in compliance
+   with the License.  You may obtain a copy of the License at
+
+     http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing,
+   software distributed under the License is distributed on an
+   "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+   KIND, either express or implied.  See the License for the
+   specific language governing permissions and limitations
+   under the License.    
+-->
+<project>
+  <modelVersion>4.0.0</modelVersion>
+  <groupId>org.apache</groupId>
+  <artifactId>test</artifactId>
+  <packaging>ejb</packaging>
+  <name>Test Module for Ivy M2 parsing</name>
+  <version>1.0</version>
+  <url>http://ivy.jayasoft.org/</url>
+  <organization>
+    <name>Jayasoft</name>
+    <url>http://www.jayasoft.org/</url>
+  </organization>
+</project>


Reply via email to