On Wed, Mar 5, 2008 at 1:17 PM, Hans Dockter <[EMAIL PROTECTED]> wrote:
> In my environment I use multiple settings to work with Ivy.
>
> One setting is the ivysettings.xml for building my build tool. The
> other setting is when I use my build tool which defines its own
> resolvers. If for example my build tool has been executed and has
> used Ivy to resolve a dependency that is also used by the build of my
> build tool, I get the following messages when building my build tool
> (chain is the name of a resolver defined by my build tool).
>
> [ivy:cachepath] == resolving dependencies
> org.gradle#gradle;[EMAIL PROTECTED]>commons-lang#commons-lang;2.3
> [compile->default]
> [ivy:cachepath] loadData of commons-lang#commons-lang;2.3 of
> rootConf=compile
> [ivy:cachepath] using default to resolve commons-lang#commons-
> lang;2.3
> [ivy:cachepath] default: Checking cache for: dependency: commons-
> lang#commons-lang;2.3 {compile=[default]}
> Resource org/apache/ivy/plugins/parser/xml/ivy.xsd loaded from ant
> loader
> [ivy:cachepath] pre 1.3 ivy file: using exactOrRegexp as default matcher
> [ivy:cachepath] ERROR: unknown resolver chain
> [ivy:cachepath] resolver not found: chain => trying to use
> the one configured for commons-lang#commons-lang;2.3
> [ivy:cachepath] configured resolver found for commons-
> lang#commons-lang;2.3: default: saving this data
> [ivy:cachepath] ERROR: unknown resolver chain
> [ivy:cachepath] found ivy file in cache for commons-
> lang#commons-lang;2.3 (resolved by default): /Users/hans/.ivy2/cache/
> commons-lang/commons-lang/ivy-2.3.xml
> [ivy:cachepath] default: module revision found in cache: commons-
> lang#commons-lang;2.3
> [ivy:cachepath] found commons-lang#commons-lang;2.3 in default
>
> Everything works but for me ERROR messages in the build log are very
> irritating if everything is OK.
>
> This problem has also been there with Ivy beta1 and is still there
> with Ivy beta2.
The problem is that Ivy caches which resolver was used to resolve a
dependency, and when it reuses the cache, it tries to locate the resolver
previously used. This makes using the same cache with different settings
reporting errors like you see. I agree this is not very nice, but I haven't
found a pleasant solution yet. The easiest would be to have a parameter to
disable these messages, since it should work like this in most cases. But to
be clean we'd need to deeply review the usage of this information, to know
exactly what can be failing when the resolver information is not present or
missing in current settings.
Please open an issue about that to be sure we don't forget to handle this
sooner or later.
Xavier
>
>
> - Hans
>
>
>
--
Xavier Hanin - Independent Java Consultant
http://xhab.blogspot.com/
http://ant.apache.org/ivy/
http://www.xoocode.org/