Support useOrigin for artifacts with a set url attribute
--------------------------------------------------------
Key: IVY-965
URL: https://issues.apache.org/jira/browse/IVY-965
Project: Ivy
Issue Type: Improvement
Components: Core
Affects Versions: 2.0-RC1
Reporter: alex322
Currently artifacts with a specified url are always considered remote because
the code instantiates URLResource.
This change would allow using FileResource when the url is "file://*".
--- BasicResolver.java.original Mon Oct 20 16:47:15 2008
+++ BasicResolver.java Mon Nov 03 15:38:48 2008
@@ -64,6 +64,8 @@
import org.apache.ivy.plugins.repository.ArtifactResourceResolver;
import org.apache.ivy.plugins.repository.Resource;
import org.apache.ivy.plugins.repository.ResourceDownloader;
+import org.apache.ivy.plugins.repository.file.FileRepository;
+import org.apache.ivy.plugins.repository.file.FileResource;
import org.apache.ivy.plugins.repository.url.URLRepository;
import org.apache.ivy.plugins.repository.url.URLResource;
import org.apache.ivy.plugins.resolver.util.MDResolvedResource;
@@ -918,7 +920,14 @@
URL url = artifact.getUrl();
Message.verbose("\tusing url for " + artifact + ": " + url);
logArtifactAttempt(artifact, url.toExternalForm());
- ret = new ResolvedResource(new URLResource(url),
artifact.getModuleRevisionId()
+ Resource resource;
+ if ("file".equals(url.getProtocol())) {
+ resource = new FileResource(new FileRepository(), new
File(url.getPath()));
+ }
+ else {
+ resource = new URLResource(url);
+ }
+ ret = new ResolvedResource(resource,
artifact.getModuleRevisionId()
.getRevision());
}
return ret;
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.