Answering in ant-dev, because this might be a larger topic.
Le 19 janv. 08 à 07:56, Xavier Hanin (JIRA) a écrit :
[ https://issues.apache.org/jira/browse/IVY-704?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12560662
#action_12560662 ]
Xavier Hanin commented on IVY-704:
----------------------------------
{quote}
does it means that some evicted modules will still be returned by
ResolveReport#getArtifactsReports(DownloadStatus, boolean) ?
{quote}
Yes, but not fully evicted (by fully evicted I mean evicted in all
configurations). The rationale behind this is that I think this
method should return the same set of artifacts as what you get if
you use a retrieve or a cachepath task. So as soon as one artifact
is not evicted in one conf, you get it with retrieve if you retrieve
all confs.
{quote}
the eviction information is in the conf which contains the not
evicted one.
{quote}
Mmm, this seems ok to me: a module revision is usually evicted in
favor of another one in one given configuration, so in this
configuration report we have to store both the selected module and
the evicted one. That's where the withEvicted you implemented is
used, and that's fine. Am I missing something?
In fact I was assuming that in the list of artifact returned by a
retrieve task, there won't be any duplicate entry, even with different
version, because they will conflict.
I have a such ivy.xml on which I do a resolve for every conf on, and
then I have duplicate entries in IvyDE. And from the ivy reports,
there is effectively a configuration where the should-be-evicted
artifact is resolved without being evicted.
Then what does mean doing a single resolve on several conf. As you
explained, in the actual implementation it is just a aggregation of
several independent resolve tasks, each task on one conf. As a user I
would expect that a multi-conf retrieve will generate a coherent
classpath. It would be similar to creating a new conf, making it
depends on the confs I really want, and then doing a resolve on it.
(continuing thinking loudly)
But my conf maybe wrong in fact. Having two confs which produce two
same artifacts without the same version seems wrong. We can imagine
two different confs named withJetty5 and withJetty6. And of course
they should not be retrieved jointly.
Maybe Ivy should trigger a warn/error ? Or at least the ant task and
IvyDE ?
Nicolas, discovering the complexity of the dependency management
In the ResolveReport class, add the possibility to filter the
evicted module while getting the list of DownloadArtifact
-----------------------------------------------------------------------------------------------------------------------
Key: IVY-704
URL: https://issues.apache.org/jira/browse/IVY-704
Project: Ivy
Issue Type: Improvement
Components: Core
Affects Versions: 2.0.0-beta-2
Reporter: Nicolas Lalevée
Fix For: 2.0.0-beta-2
Attachments: IVY-704-r612799.patch
As disscussed here :
http://mail-archives.apache.org/mod_mbox/ant-dev/200801.mbox/[EMAIL PROTECTED]
In order to get the list of artifacts which are part of the
dependencies of a module, it will be useful to have a function in
the ResolveReport class to get the download reports without the
ones from the evited modules.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]