[ 
https://issues.apache.org/jira/browse/IVY-965?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

alex322 updated IVY-965:
------------------------

    Description: 
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://*".

{noformat}
--- 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;
{noformat}

  was:
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;


> 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://*".
> {noformat}
> --- 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;
> {noformat}

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to