Author: maartenc
Date: Sat Sep 6 13:32:48 2008
New Revision: 692729
URL: http://svn.apache.org/viewvc?rev=692729&view=rev
Log:
FIX: Ivy ibiblio resolver chokes on variables while checking descriptor
consistency (IVY-818)
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/src/java/org/apache/ivy/plugins/parser/m2/PomModuleDescriptorParser.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-parent-properties.pom
ant/ivy/core/trunk/test/java/org/apache/ivy/plugins/parser/m2/test-version.pom
Modified: ant/ivy/core/trunk/CHANGES.txt
URL:
http://svn.apache.org/viewvc/ant/ivy/core/trunk/CHANGES.txt?rev=692729&r1=692728&r2=692729&view=diff
==============================================================================
--- ant/ivy/core/trunk/CHANGES.txt (original)
+++ ant/ivy/core/trunk/CHANGES.txt Sat Sep 6 13:32:48 2008
@@ -111,6 +111,7 @@
- IMPROVEMENT: Add a memory cache for the module descriptor that are parsed
from the cache (IVY-883)
- IMPROVEMENT: Improve performance (IVY-872)
+- FIX: Ivy ibiblio resolver chokes on variables while checking descriptor
consistency (IVY-818)
- FIX: Enable consistent support of the configuration negation operator
(IVY-894) (thanks to Patrick Woodworth)
- FIX: add variable expansion in extra attributes (IVY-798)
- FIX: Invalid URL when using dynamic ranges (IVY-885)
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=692729&r1=692728&r2=692729&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
Sat Sep 6 13:32:48 2008
@@ -328,7 +328,7 @@
public void addPlugin(PomDependencyMgt plugin) {
String pluginValue = plugin.getGroupId() + EXTRA_INFO_DELIMITER +
plugin.getArtifactId()
+ EXTRA_INFO_DELIMITER + plugin.getVersion();
- String pluginExtraInfo = (String)
ivyModuleDescriptor.getExtraInfo().get("maven.plugins");
+ String pluginExtraInfo = (String)
ivyModuleDescriptor.getExtraInfo().get("m:maven.plugins");
if (pluginExtraInfo == null) {
pluginExtraInfo = pluginValue;
} else {
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=692729&r1=692728&r2=692729&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
Sat Sep 6 13:32:48 2008
@@ -111,10 +111,33 @@
PomModuleDescriptorBuilder mdBuilder = new
PomModuleDescriptorBuilder(this, res);
try {
- PomReader domReader = new PomReader(descriptorURL, res);
-
+ PomReader domReader = new PomReader(descriptorURL, res);
domReader.setProperty("parent.version",
domReader.getParentVersion());
+ ModuleDescriptor parentDescr = null;
+ if (domReader.hasParent()) {
+ //Is there any other parent properties?
+
+ ModuleRevisionId parentModRevID = ModuleRevisionId.newInstance(
+ domReader.getParentGroupId(),
+ domReader.getParentArtifactId(),
+ domReader.getParentVersion());
+ ResolvedModuleRevision parentModule =
parseOtherPom(ivySettings,
+ parentModRevID);
+ if (parentModule != null) {
+ parentDescr = parentModule.getDescriptor();
+ } else {
+ Message.warn("impossible to load parent for " +
descriptorURL + "."
+ + " Parent=" + parentModRevID);
+ }
+
+ Map parentPomProps =
PomModuleDescriptorBuilder.extractPomProperties(parentDescr.getExtraInfo());
+ for (Iterator iter = parentPomProps.entrySet().iterator();
iter.hasNext();) {
+ Map.Entry prop = (Map.Entry) iter.next();
+ domReader.setProperty((String) prop.getKey(), (String)
prop.getValue());
+ }
+ }
+
String groupId = domReader.getGroupId();
String artifactId = domReader.getArtifactId();
String version = domReader.getVersion();
@@ -172,25 +195,6 @@
domReader.setProperty("pom.version", version);
domReader.setProperty("version", version);
- ModuleDescriptor parentDescr = null;
- if (domReader.hasParent()) {
- domReader.setProperty("parent.version",
domReader.getParentVersion());
- //Is there any other parent properties?
-
- ModuleRevisionId parentModRevID =
ModuleRevisionId.newInstance(
- domReader.getParentGroupId(),
- domReader.getParentArtifactId(),
- domReader.getParentVersion());
- ResolvedModuleRevision parentModule =
parseOtherPom(ivySettings,
- parentModRevID);
- if (parentModule != null) {
- parentDescr = parentModule.getDescriptor();
- } else {
- Message.warn("impossible to load parent for " +
descriptorURL + "."
- + " Parent=" + parentModRevID);
- }
- }
-
Map pomProperties = domReader.getPomProperties();
for (Iterator iter = pomProperties.entrySet().iterator();
iter.hasNext();) {
Map.Entry prop = (Map.Entry) iter.next();
@@ -199,13 +203,6 @@
}
if (parentDescr != null) {
- Map parentPomProps = PomModuleDescriptorBuilder
- .extractPomProperties(parentDescr.getExtraInfo());
- for (Iterator iter = parentPomProps.entrySet().iterator();
iter.hasNext();) {
- Map.Entry prop = (Map.Entry) iter.next();
- domReader.setProperty((String) prop.getKey(), (String)
prop.getValue());
- }
-
mdBuilder.addExtraInfos(parentDescr.getExtraInfo());
// add dependency management info from parent
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=692729&r1=692728&r2=692729&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
Sat Sep 6 13:32:48 2008
@@ -606,7 +606,8 @@
ModuleDescriptor md =
PomModuleDescriptorParser.getInstance().parseDescriptor(
settings, getClass().getResource("test-parent-properties.pom"),
false);
assertNotNull(md);
-
+ assertEquals("1.0", md.getRevision());
+
DependencyDescriptor[] dds = md.getDependencies();
assertNotNull(dds);
assertEquals(3, dds.length);
Modified:
ant/ivy/core/trunk/test/java/org/apache/ivy/plugins/parser/m2/test-parent-properties.pom
URL:
http://svn.apache.org/viewvc/ant/ivy/core/trunk/test/java/org/apache/ivy/plugins/parser/m2/test-parent-properties.pom?rev=692729&r1=692728&r2=692729&view=diff
==============================================================================
---
ant/ivy/core/trunk/test/java/org/apache/ivy/plugins/parser/m2/test-parent-properties.pom
(original)
+++
ant/ivy/core/trunk/test/java/org/apache/ivy/plugins/parser/m2/test-parent-properties.pom
Sat Sep 6 13:32:48 2008
@@ -27,7 +27,7 @@
<groupId>org.apache</groupId>
<artifactId>test</artifactId>
<name>Test Module for Ivy M2 parsing</name>
- <version>1.0</version>
+ <version>${test-version-version}</version>
<url>http://ivy.jayasoft.org/</url>
<organization>
<name>Jayasoft</name>
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=692729&r1=692728&r2=692729&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
Sat Sep 6 13:32:48 2008
@@ -42,5 +42,6 @@
</dependencies>
<properties>
<test-yet-other-version>5.76</test-yet-other-version>
+ <test-version-version>1.0</test-version-version>
</properties>
</project>