ant-notifications mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Pavel Sher (JIRA)" <>
Subject [jira] Commented: (IVY-881) Ivy incorrectly searches for an artifact if it contains / in the name
Date Mon, 29 Sep 2008 21:02:44 GMT


Pavel Sher commented on IVY-881:

The bug still exists in Ivy-2.0 RC1. I have the following ivy.xml on server:
<?xml version="1.0" encoding="UTF-8"?>
<ivy-module version="1.4">
  <info .../>
    <artifact name="javadoc/index" type="html" ext="html" />

Then I am trying to download it with help of the following ivy.xml on the client side:
<ivy-module version="2.0">
<info ...>
<dependency ...>
<include name="javadoc/*" type="html" ext="html" matcher="glob" />

And Ivy fails to do that because it tries to match pattern javadoc/* to name javadoc\index.html
(note the difference in slash and back slash). I had to debug through Ivy sources to understand
why it happens. 

These dependencies work just fine in Ivy-1.4.1 

> Ivy incorrectly searches for an artifact if it contains / in the name
> ---------------------------------------------------------------------
>                 Key: IVY-881
>                 URL:
>             Project: Ivy
>          Issue Type: Bug
>          Components: Core
>            Reporter: Pavel Sher
>            Assignee: Xavier Hanin
> Yesterday (2008-Aug-11) I've build Ivy from the sources and found that Ivy cannot download
artifact with / in its name. It seems the bug can be reproduced on windows only.  
> I have the following ivy.xml:
> <?xml version="1.0" encoding="UTF-8"?>
> <ivy-module version="2.0">
>   <info organisation="org" module="module" />
>   <dependencies>
>     <dependency org="org" name="dep" rev="rev" changing="true">
>       <include name="dir/path-to-artifact" type="zip" ext="zip" matcher="glob" />
>     </dependency>
>   </dependencies>
> </ivy-module>
> I tried to debug Ivy source code, and it looks like the problem is somewhere near this
code (
> 789:     Map allArtifacts = new HashMap();
>                 for (int i = 0; i < confs.length; i++) {
>                     Artifact[] arts = md.getArtifacts(confs[i]);
>                     for (int j = 0; j < arts.length; j++) {
>                         allArtifacts.put(arts[j].getId().getArtifactId(), arts[j]);
>                     }
>                 }
> The produced Map of all artifacts contains dir\path-to-artifact instead of dir/path-to-artifact.
And because of this matcher cannot find the required artifact. In Ivy-2.0-beta2 such artifacts
were downloaded without problem.

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

View raw message