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 2018/08/19 13:54:09 UTC
ant-ivy git commit: Treat the ArtifactOrigin's location as a URL (as
already stated in its javadoc).
Repository: ant-ivy
Updated Branches:
refs/heads/master 556022e02 -> 7131e1c02
Treat the ArtifactOrigin's location as a URL (as already stated in its javadoc).
Should solve issues, especially on Windows OS, like the one reported in https://www.mail-archive.com/ivy-user@ant.apache.org/msg06324.html
Project: http://git-wip-us.apache.org/repos/asf/ant-ivy/repo
Commit: http://git-wip-us.apache.org/repos/asf/ant-ivy/commit/7131e1c0
Tree: http://git-wip-us.apache.org/repos/asf/ant-ivy/tree/7131e1c0
Diff: http://git-wip-us.apache.org/repos/asf/ant-ivy/diff/7131e1c0
Branch: refs/heads/master
Commit: 7131e1c028e0035de548c6b37e1e8c9624417440
Parents: 556022e
Author: Jaikiran Pai <ja...@apache.org>
Authored: Sun Aug 19 19:21:18 2018 +0530
Committer: Jaikiran Pai <ja...@apache.org>
Committed: Sun Aug 19 19:21:18 2018 +0530
----------------------------------------------------------------------
.../cache/DefaultRepositoryCacheManager.java | 3 +--
.../cache/DefaultRepositoryCacheManagerTest.java | 19 +++++++++++++++++++
2 files changed, 20 insertions(+), 2 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ant-ivy/blob/7131e1c0/src/java/org/apache/ivy/core/cache/DefaultRepositoryCacheManager.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/ivy/core/cache/DefaultRepositoryCacheManager.java b/src/java/org/apache/ivy/core/cache/DefaultRepositoryCacheManager.java
index 540cf92..91257b0 100644
--- a/src/java/org/apache/ivy/core/cache/DefaultRepositoryCacheManager.java
+++ b/src/java/org/apache/ivy/core/cache/DefaultRepositoryCacheManager.java
@@ -19,7 +19,6 @@ package org.apache.ivy.core.cache;
import java.io.File;
import java.io.IOException;
-import java.io.UnsupportedEncodingException;
import java.net.MalformedURLException;
import java.net.URL;
import java.nio.charset.StandardCharsets;
@@ -1011,7 +1010,7 @@ public class DefaultRepositoryCacheManager implements RepositoryCacheManager, Iv
if (useOrigin && artifactRes.isLocal()) {
if (artifactRes instanceof LocalizableResource) {
origin.setLocation(((LocalizableResource) artifactRes).getFile()
- .getAbsolutePath());
+ .toURI().toURL().toExternalForm());
}
saveArtifactOrigin(artifact, origin);
archiveFile = getArchiveFileInCache(artifact, origin);
http://git-wip-us.apache.org/repos/asf/ant-ivy/blob/7131e1c0/test/java/org/apache/ivy/core/cache/DefaultRepositoryCacheManagerTest.java
----------------------------------------------------------------------
diff --git a/test/java/org/apache/ivy/core/cache/DefaultRepositoryCacheManagerTest.java b/test/java/org/apache/ivy/core/cache/DefaultRepositoryCacheManagerTest.java
index 2333802..ff00a32 100644
--- a/test/java/org/apache/ivy/core/cache/DefaultRepositoryCacheManagerTest.java
+++ b/test/java/org/apache/ivy/core/cache/DefaultRepositoryCacheManagerTest.java
@@ -24,6 +24,7 @@ import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.PrintWriter;
+import java.net.URL;
import java.util.Date;
import org.apache.ivy.Ivy;
@@ -48,6 +49,7 @@ import org.apache.ivy.util.Message;
import org.apache.tools.ant.Project;
import org.apache.tools.ant.taskdefs.Delete;
import org.junit.After;
+import org.junit.Assert;
import org.junit.Before;
import org.junit.Ignore;
import org.junit.Test;
@@ -192,6 +194,23 @@ public class DefaultRepositoryCacheManagerTest {
assertEquals(rmr11, rmrFromCache);
}
+ /**
+ * Tests that the {@link ArtifactOrigin#getLocation()} and {@link ArtifactOrigin#setLocation(String)} values
+ * are treated as {@link URL} while saving and retrieving the artifact origin information
+ *
+ * @throws Exception
+ */
+ @Test
+ public void testArtificationOriginalLocation() throws Exception {
+ final Artifact simpleArtifact = createArtifact("org", "dummy", "1.0.0", "hello", "jar", "jar");
+ final URL location = new File("dummylocation").toURI().toURL();
+ final ArtifactOrigin originatedFrom = new ArtifactOrigin(simpleArtifact, true, location.toExternalForm());
+ cacheManager.saveArtifactOrigin(simpleArtifact, originatedFrom);
+ final ArtifactOrigin restored = cacheManager.getSavedArtifactOrigin(simpleArtifact);
+ Assert.assertNotNull("Location of artifact origin wasn't expected to be null", restored.getLocation());
+ Assert.assertEquals("Unexpected artifact origin location", location, new URL(restored.getLocation()));
+ }
+
private static DefaultArtifact createArtifact(String org, String module, String rev,
String name, String type, String ext) {
ModuleId mid = new ModuleId(org, module);