You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@ant.apache.org by ja...@apache.org on 2017/07/03 09:44:17 UTC

ant-ivy git commit: Revert 4b6e0bd179c5f728761c953249b6dda4d33fe18a since it introduces failures on Windows (needs investigation)

Repository: ant-ivy
Updated Branches:
  refs/heads/master 4b6e0bd17 -> c87126545


Revert 4b6e0bd179c5f728761c953249b6dda4d33fe18a since it introduces failures on Windows (needs investigation)

This reverts commit 4b6e0bd179c5f728761c953249b6dda4d33fe18a.


Project: http://git-wip-us.apache.org/repos/asf/ant-ivy/repo
Commit: http://git-wip-us.apache.org/repos/asf/ant-ivy/commit/c8712654
Tree: http://git-wip-us.apache.org/repos/asf/ant-ivy/tree/c8712654
Diff: http://git-wip-us.apache.org/repos/asf/ant-ivy/diff/c8712654

Branch: refs/heads/master
Commit: c871265452e473224b3cf4f0f66497691b75d7b7
Parents: 4b6e0bd
Author: Jaikiran Pai <ja...@apache.org>
Authored: Mon Jul 3 15:13:18 2017 +0530
Committer: Jaikiran Pai <ja...@apache.org>
Committed: Mon Jul 3 15:13:18 2017 +0530

----------------------------------------------------------------------
 .../parser/xml/XmlModuleDescriptorParser.java   |  9 ++--
 .../xml/XmlModuleDescriptorParserTest.java      | 55 ++++----------------
 .../xml/foo%2Fbar/hello/test-ivy-extends.xml    | 25 ---------
 .../plugins/parser/xml/foo%2Fbar/parent-ivy.xml | 27 ----------
 4 files changed, 16 insertions(+), 100 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ant-ivy/blob/c8712654/src/java/org/apache/ivy/plugins/parser/xml/XmlModuleDescriptorParser.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/ivy/plugins/parser/xml/XmlModuleDescriptorParser.java b/src/java/org/apache/ivy/plugins/parser/xml/XmlModuleDescriptorParser.java
index 63ed1f3..cc640a8 100644
--- a/src/java/org/apache/ivy/plugins/parser/xml/XmlModuleDescriptorParser.java
+++ b/src/java/org/apache/ivy/plugins/parser/xml/XmlModuleDescriptorParser.java
@@ -670,11 +670,12 @@ public class XmlModuleDescriptorParser extends AbstractModuleDescriptorParser {
 
             File file = new File(location);
             if (!file.isAbsolute()) {
-                final URL url = settings.getRelativeUrlResolver().getURL(descriptorURL, location);
-                if (!url.getProtocol().equals("file")) {
-                    throw new IOException("Resolved location " + url + ", of parent module descriptor, is not a file");
+                URL url = settings.getRelativeUrlResolver().getURL(descriptorURL, location);
+                try {
+                    file = new File(new URI(url.toExternalForm()));
+                } catch (URISyntaxException e) {
+                    file = new File(url.getPath());
                 }
-                file = new File(url.getPath());
             }
 
             file = FileUtil.normalize(file.getAbsolutePath());

http://git-wip-us.apache.org/repos/asf/ant-ivy/blob/c8712654/test/java/org/apache/ivy/plugins/parser/xml/XmlModuleDescriptorParserTest.java
----------------------------------------------------------------------
diff --git a/test/java/org/apache/ivy/plugins/parser/xml/XmlModuleDescriptorParserTest.java b/test/java/org/apache/ivy/plugins/parser/xml/XmlModuleDescriptorParserTest.java
index e2a62dd..390d713 100644
--- a/test/java/org/apache/ivy/plugins/parser/xml/XmlModuleDescriptorParserTest.java
+++ b/test/java/org/apache/ivy/plugins/parser/xml/XmlModuleDescriptorParserTest.java
@@ -17,6 +17,15 @@
  */
 package org.apache.ivy.plugins.parser.xml;
 
+import java.io.File;
+import java.io.IOException;
+import java.text.ParseException;
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.Date;
+import java.util.GregorianCalendar;
+import java.util.HashSet;
+
 import org.apache.ivy.Ivy;
 import org.apache.ivy.core.module.descriptor.Artifact;
 import org.apache.ivy.core.module.descriptor.Configuration;
@@ -42,26 +51,13 @@ import org.apache.ivy.util.DefaultMessageLogger;
 import org.apache.ivy.util.FileUtil;
 import org.apache.ivy.util.Message;
 import org.apache.ivy.util.XMLHelper;
+
 import org.junit.Before;
 import org.junit.Rule;
 import org.junit.Test;
 import org.junit.rules.ExpectedException;
 
-import java.io.File;
-import java.io.IOException;
-import java.text.ParseException;
-import java.util.Arrays;
-import java.util.Collections;
-import java.util.Date;
-import java.util.GregorianCalendar;
-import java.util.HashSet;
-import java.util.Set;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertNull;
-import static org.junit.Assert.assertTrue;
+import static org.junit.Assert.*;
 
 public class XmlModuleDescriptorParserTest extends AbstractModuleDescriptorParserTester {
     private IvySettings settings = null;
@@ -1451,33 +1447,4 @@ public class XmlModuleDescriptorParserTest extends AbstractModuleDescriptorParse
         assertEquals("mymodule", artifacts[0].getName());
         assertEquals("jar", artifacts[0].getType());
     }
-
-    /**
-     * Tests that when the <code>location</code> attribute of the <code>extends</code> element of a module descriptor
-     * file, includes any characters that {@link java.net.URI} considers as encoded characters (for example <code>%2F</code>)
-     * then the module descriptor and the location of the parent descriptor, are resolved and parsed correctly.
-     *
-     * @throws Exception
-     * @see <a href="https://issues.apache.org/jira/browse/IVY-1562">IVY-1562</a> for more details
-     */
-    @Test
-    public void testExtendsEncodedLocation() throws Exception {
-        final ModuleDescriptor md = XmlModuleDescriptorParser.getInstance().parseDescriptor(settings, getClass().getResource("foo%2Fbar/hello/test-ivy-extends.xml"), true);
-        assertNotNull("Parsed module descriptor is null", md);
-        assertEquals("Unexpected org for the parsed module descriptor", "myorg", md.getModuleRevisionId().getOrganisation());
-        assertEquals("Unexpected module name for the parsed module descriptor", "mymodule", md.getModuleRevisionId().getName());
-        assertEquals("Unexpected revision for the parsed module descriptor", "1.0.0", md.getModuleRevisionId().getRevision());
-
-        final Configuration[] confs = md.getConfigurations();
-        assertNotNull("No configurations found in module descriptor", confs);
-        assertEquals("Unexpected number of configurations found in module descriptor", 3, confs.length);
-
-        final Set<String> expectedConfs = new HashSet<>(Arrays.asList("parent-conf1", "parent-conf2", "conf2"));
-        for (final Configuration conf : confs) {
-            assertNotNull("One of the configurations was null in module descriptor", conf);
-            assertTrue("Unexpected configuration " + conf.getName() + " found in parsed module descriptor", expectedConfs.remove(conf.getName()));
-        }
-        assertTrue("Missing configurations " + expectedConfs + " from the parsed module descriptor", expectedConfs.isEmpty());
-
-    }
 }

http://git-wip-us.apache.org/repos/asf/ant-ivy/blob/c8712654/test/java/org/apache/ivy/plugins/parser/xml/foo%2Fbar/hello/test-ivy-extends.xml
----------------------------------------------------------------------
diff --git a/test/java/org/apache/ivy/plugins/parser/xml/foo%2Fbar/hello/test-ivy-extends.xml b/test/java/org/apache/ivy/plugins/parser/xml/foo%2Fbar/hello/test-ivy-extends.xml
deleted file mode 100644
index fca2360..0000000
--- a/test/java/org/apache/ivy/plugins/parser/xml/foo%2Fbar/hello/test-ivy-extends.xml
+++ /dev/null
@@ -1,25 +0,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.
-  -->
-<ivy-module version="1.0">
-    <info organisation="myorg"
-          module="mymodule">
-        <extends organisation="myorg" module="myparent" revision="1.0.0" location="../../foo%2Fbar/parent-ivy.xml"/>
-    </info>
-    <configurations>
-        <conf name="conf2" visibility="private"/>
-    </configurations>
-</ivy-module>

http://git-wip-us.apache.org/repos/asf/ant-ivy/blob/c8712654/test/java/org/apache/ivy/plugins/parser/xml/foo%2Fbar/parent-ivy.xml
----------------------------------------------------------------------
diff --git a/test/java/org/apache/ivy/plugins/parser/xml/foo%2Fbar/parent-ivy.xml b/test/java/org/apache/ivy/plugins/parser/xml/foo%2Fbar/parent-ivy.xml
deleted file mode 100644
index b54dc92..0000000
--- a/test/java/org/apache/ivy/plugins/parser/xml/foo%2Fbar/parent-ivy.xml
+++ /dev/null
@@ -1,27 +0,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.
-  -->
-<ivy-module version="1.0">
-    <info organisation="myorg"
-          module="myparent"
-          revision="1.0.0">
-        <description>Parent module description.</description>
-    </info>
-    <configurations>
-        <conf name="parent-conf1"/>
-        <conf name="parent-conf2" visibility="public"/>
-    </configurations>
-</ivy-module>