You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@ant.apache.org by gs...@apache.org on 2008/02/19 22:03:40 UTC
svn commit: r629230 - in /ant/ivy/core/trunk:
src/java/org/apache/ivy/plugins/parser/m2/
test/java/org/apache/ivy/plugins/parser/m2/
Author: gscokart
Date: Tue Feb 19 13:03:21 2008
New Revision: 629230
URL: http://svn.apache.org/viewvc?rev=629230&view=rev
Log:
IVY-637 m2 incompatibility - IVY does not recognize property section (partial fix, the case of properties inherited from parent is not yet covered
Modified:
ant/ivy/core/trunk/src/java/org/apache/ivy/plugins/parser/m2/PomModuleDescriptorParser.java
ant/ivy/core/trunk/src/java/org/apache/ivy/plugins/parser/m2/PomReader.java
ant/ivy/core/trunk/test/java/org/apache/ivy/plugins/parser/m2/PomModuleDescriptorParserTest.java
ant/ivy/core/trunk/test/java/org/apache/ivy/plugins/parser/m2/test-version.pom
Modified: ant/ivy/core/trunk/src/java/org/apache/ivy/plugins/parser/m2/PomModuleDescriptorParser.java
URL: http://svn.apache.org/viewvc/ant/ivy/core/trunk/src/java/org/apache/ivy/plugins/parser/m2/PomModuleDescriptorParser.java?rev=629230&r1=629229&r2=629230&view=diff
==============================================================================
--- ant/ivy/core/trunk/src/java/org/apache/ivy/plugins/parser/m2/PomModuleDescriptorParser.java (original)
+++ ant/ivy/core/trunk/src/java/org/apache/ivy/plugins/parser/m2/PomModuleDescriptorParser.java Tue Feb 19 13:03:21 2008
@@ -24,6 +24,7 @@
import java.text.ParseException;
import java.util.Date;
import java.util.Iterator;
+import java.util.Map;
import org.apache.ivy.core.IvyContext;
import org.apache.ivy.core.module.descriptor.Artifact;
@@ -172,6 +173,14 @@
parentModRevID);
parentDescr = parentModule.getDescriptor();
}
+
+ Map pomProperties = domReader.getPomProperties();
+ for (Iterator iter = pomProperties.entrySet().iterator(); iter.hasNext();) {
+ Map.Entry prop = (Map.Entry) iter.next();
+ domReader.setProperty((String) prop.getKey(), (String) prop.getValue());
+ }
+ //TODO add also the properties to the moduleDescriptor so that it can be inherited
+ //mdBuilder.addProperty(pomProperties);
for (Iterator it = domReader.getDependencyMgt().iterator(); it.hasNext();) {
PomReader.PomDependencyMgt dep = (PomReader.PomDependencyMgt) it.next();
Modified: ant/ivy/core/trunk/src/java/org/apache/ivy/plugins/parser/m2/PomReader.java
URL: http://svn.apache.org/viewvc/ant/ivy/core/trunk/src/java/org/apache/ivy/plugins/parser/m2/PomReader.java?rev=629230&r1=629229&r2=629230&view=diff
==============================================================================
--- ant/ivy/core/trunk/src/java/org/apache/ivy/plugins/parser/m2/PomReader.java (original)
+++ ant/ivy/core/trunk/src/java/org/apache/ivy/plugins/parser/m2/PomReader.java Tue Feb 19 13:03:21 2008
@@ -20,7 +20,10 @@
import java.io.IOException;
import java.net.URL;
import java.util.HashMap;
+import java.util.Iterator;
import java.util.LinkedList;
+import java.util.List;
+import java.util.Map;
import org.apache.ivy.core.IvyPatternHelper;
import org.apache.ivy.core.module.id.ModuleId;
@@ -58,6 +61,7 @@
private static final String EXCLUSION = "exclusion";
private static final String DISTRIBUTION_MGT = "distributionManagement";
private static final String RELOCATION = "relocation";
+ private static final String PROPERTIES = "properties";
@@ -275,12 +279,23 @@
}
-
+ /**
+ * @return the content of the properties tag into the pom.
+ */
+ public Map/* <String,String> */getPomProperties() {
+ Map pomProperties = new HashMap();
+ Element propsEl = getFirstChildElement(projectElement, PROPERTIES);
+ if (propsEl != null) {
+ propsEl.normalize();
+ }
+ for (Iterator it = getAllChilds(propsEl).iterator(); it.hasNext();) {
+ Element prop = (Element) it.next();
+ pomProperties.put(prop.getNodeName(), prop.getTextContent());
+ }
+ return pomProperties;
+ }
-
-
-
private String replaceProps(String val) {
if (val == null) {
return null;
@@ -315,6 +330,21 @@
}
return null;
}
+
+ private static List/* <Element> */getAllChilds(Element parent) {
+ List r = new LinkedList();
+ if (parent != null) {
+ NodeList childs = parent.getChildNodes();
+ for (int i = 0; i < childs.getLength(); i++) {
+ Node node = childs.item(i);
+ if (node instanceof Element) {
+ r.add(node);
+ }
+ }
+ }
+ return r;
+ }
+
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=629230&r1=629229&r2=629230&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 Feb 19 13:03:21 2008
@@ -225,8 +225,10 @@
DependencyDescriptor[] dds = md.getDependencies();
assertNotNull(dds);
- assertEquals(1, dds.length);
+ assertEquals(2, dds.length);
assertEquals(ModuleRevisionId.newInstance("org.apache", "test-other", "1.0"), dds[0]
+ .getDependencyRevisionId());
+ assertEquals(ModuleRevisionId.newInstance("org.apache", "test-yet-other", "5.76"), dds[1]
.getDependencyRevisionId());
}
Modified: ant/ivy/core/trunk/test/java/org/apache/ivy/plugins/parser/m2/test-version.pom
URL: http://svn.apache.org/viewvc/ant/ivy/core/trunk/test/java/org/apache/ivy/plugins/parser/m2/test-version.pom?rev=629230&r1=629229&r2=629230&view=diff
==============================================================================
--- ant/ivy/core/trunk/test/java/org/apache/ivy/plugins/parser/m2/test-version.pom (original)
+++ ant/ivy/core/trunk/test/java/org/apache/ivy/plugins/parser/m2/test-version.pom Tue Feb 19 13:03:21 2008
@@ -34,5 +34,13 @@
<artifactId>test-other</artifactId>
<version>${version}</version>
</dependency>
+ <dependency>
+ <groupId>org.apache</groupId>
+ <artifactId>test-yet-other</artifactId>
+ <version>${test-yet-other-version}</version>
+ </dependency>
</dependencies>
+ <properties>
+ <test-yet-other-version>5.76</test-yet-other-version>
+ </properties>
</project>
Re: svn commit: r629230 - in /ant/ivy/core/trunk: src/java/org/apache/ivy/plugins/parser/m2/ test/java/org/apache/ivy/plugins/parser/m2/
Posted by Xavier Hanin <xa...@gmail.com>.
On Feb 19, 2008 10:03 PM, <gs...@apache.org> wrote:
> Author: gscokart
> Date: Tue Feb 19 13:03:21 2008
> New Revision: 629230
>
> URL: http://svn.apache.org/viewvc?rev=629230&view=rev
> Log:
> IVY-637 m2 incompatibility - IVY does not recognize property section
> (partial fix, the case of properties inherited from parent is not yet
> covered
>
> Modified:
>
> ant/ivy/core/trunk/src/java/org/apache/ivy/plugins/parser/m2/PomModuleDescriptorParser.java
>
> ant/ivy/core/trunk/src/java/org/apache/ivy/plugins/parser/m2/PomReader.java
>
> ant/ivy/core/trunk/test/java/org/apache/ivy/plugins/parser/m2/PomModuleDescriptorParserTest.java
> ant/ivy/core/trunk/test/java/org/apache/ivy/plugins/parser/m2/test-
> version.pom
>
> Modified:
> ant/ivy/core/trunk/src/java/org/apache/ivy/plugins/parser/m2/PomModuleDescriptorParser.java
> URL:
> http://svn.apache.org/viewvc/ant/ivy/core/trunk/src/java/org/apache/ivy/plugins/parser/m2/PomModuleDescriptorParser.java?rev=629230&r1=629229&r2=629230&view=diff
>
> ==============================================================================
> ---
> ant/ivy/core/trunk/src/java/org/apache/ivy/plugins/parser/m2/PomModuleDescriptorParser.java
> (original)
> +++
> ant/ivy/core/trunk/src/java/org/apache/ivy/plugins/parser/m2/PomModuleDescriptorParser.java
> Tue Feb 19 13:03:21 2008
> @@ -24,6 +24,7 @@
> import java.text.ParseException;
> import java.util.Date;
> import java.util.Iterator;
> +import java.util.Map;
>
> import org.apache.ivy.core.IvyContext;
> import org.apache.ivy.core.module.descriptor.Artifact;
> @@ -172,6 +173,14 @@
> parentModRevID);
> parentDescr = parentModule.getDescriptor();
> }
> +
> + Map pomProperties = domReader.getPomProperties();
> + for (Iterator iter = pomProperties.entrySet().iterator();
> iter.hasNext();) {
> + Map.Entry prop = (Map.Entry) iter.next();
> + domReader.setProperty((String) prop.getKey(),
> (String) prop.getValue());
> + }
> + //TODO add also the properties to the moduleDescriptor so
> that it can be inherited
Sounds like we'll finally need properties in module descriptors (I'll get my
0.01++ :-) )
Xavier
--
Xavier Hanin - Independent Java Consultant
http://xhab.blogspot.com/
http://ant.apache.org/ivy/
http://www.xoocode.org/