[ 
https://issues.apache.org/jira/browse/IVY-389?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12468282
 ] 

Xavier Hanin commented on IVY-389:
----------------------------------

Thanks for your contribution Johan!

In a few words, I agree with almost all your assertions, and also with the fact 
that Ivy won't be fully backward compatible. Indeed the previous behaviour is 
impossible without a performance impact, so I agree that people should use 
checkModified="true" if they want to take into account a module descriptor 
dropped somewhere in the chain. The only case where I'm wondering if it's 
really a good thing is when the cached module descriptor is a default one (i.e. 
no module descriptor was found in the chain). In this case, I think we should 
search the chain each time to be compatible with the behaviour of other 
resolvers. This mean that the performance in this case won't be optimal, but 
most users are confused when a module descriptor is not found simply because 
they have used Ivy to resolve dependencies once before putting the module 
descriptor file. 

What do you think?

> Detection of newer and better artifacts should not happen if 'checkModified' 
> is set to 'false'
> ----------------------------------------------------------------------------------------------
>
>                 Key: IVY-389
>                 URL: https://issues.apache.org/jira/browse/IVY-389
>             Project: Ivy
>          Issue Type: Bug
>          Components: Core
>    Affects Versions: 1.4.1
>            Reporter: Johan Stuyts
>            Priority: Minor
>         Attachments: ivy-389.patch, ivy-389.patch
>
>
> With 'checkModified' set to 'false' Ivy still looks for an artifact in 
> repositories when there is a copy of the artifact in the cache. The 
> repositories that are searched are the ones that are specified before the 
> repository from which the copy in the cache was retrieved. The latter is not 
> contacted.
> The above happens when 'returnFirst' is set to 'true' on the chain of 
> repositories.
> Here is some example output from a build:
>      local: no ivy file nor artifact found for [ javax.jdo | jdo2-api | 2.0 ]
>              tried 
> C:\home\jstuyts\data\ivy\hippo-open-source\local/javax.jdo/jdo2-api/2.0/ivy-2.0.xml
>              tried 
> C:\home\jstuyts\data\ivy\hippo-open-source\local/javax.jdo/jdo2-api/2.0/jdo2-api-2.0.jar
>     CLIENT ERROR: Not Found 
> url=http://repository.hippocms.org/ivy/javax.jdo/jdo2-api/2.0/ivy-2.0.xml
>     CLIENT ERROR: Not Found 
> url=http://repository.hippocms.org/ivy/javax.jdo/jdo2-api/2.0/jdo2-api-2.0.jar
>      hipporep: no ivy file nor artifact found for [ javax.jdo | jdo2-api | 
> 2.0 ]
>              tried 
> http://repository.hippocms.org/ivy/javax.jdo/jdo2-api/2.0/ivy-2.0.xml
>              tried 
> http://repository.hippocms.org/ivy/javax.jdo/jdo2-api/2.0/jdo2-api-2.0.jar
>      hippomavenrep: revision in cache: [ javax.jdo | jdo2-api | 2.0 ]
>      found [ javax.jdo | jdo2-api | 2.0 ] in hippomavenrep

-- 
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