You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@ant.apache.org by "Pavel Sher (JIRA)" <ji...@apache.org> on 2008/09/29 23:02:44 UTC
[jira] Commented: (IVY-881) Ivy incorrectly searches for an
artifact if it contains / in the name
[ https://issues.apache.org/jira/browse/IVY-881?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12635527#action_12635527 ]
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 .../>
<publications>
...
<artifact name="javadoc/index" type="html" ext="html" />
...
</publications>
</ivy-module>
Then I am trying to download it with help of the following ivy.xml on the client side:
<ivy-module version="2.0">
<info ...>
<dependencies>
<dependency ...>
<include name="javadoc/*" type="html" ext="html" matcher="glob" />
</dependency>
</dependencies>
</ivy-module>
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: https://issues.apache.org/jira/browse/IVY-881
> 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 (IvyNode.java):
> 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.