Howdy, all -- I have a reproducer for an issue similar to IVY-1333 ("impossible to get artifacts when data has not been loaded") which demonstrates some surprising behavior, and would appreciate feedback from folks more familiar with the ResolveEngine's internals:
An <override> tag in a transitive dependency is impacting the overall resolution, even when no child of that dependency matches the pattern described by the tag in question. The tree looks as follows: reproducer/top-level |- conflict/conflict==1 [conf="with-direct-dep->default"] |- reproducer/phase-one==1 [conf="master->*"] | |- conflict/conflict==2 | |- reproducer/phase-two==1 | | |- empty-module/empty-module==1 | | |- [override:conflict/conflict==1] Because phase-two has no children with a dependency on conflict/conflict (its only child being empty-module), it is entirely surprising to me that its override tag has any effect whatsoever. (However, removing the dependency on empty-module *also* circumvents the bug). The top-level reproducer has two confs descended from master, "with-direct-dep" and "without-direct-dep". In both, conflict/conflict is resolved to version 2, but in the latter, conflict/conflict==1 is not loaded at all. Only when both of these confs are invoked within a single ivy:resolve task does the issue in question trigger. Could I ask for some pointers in the right direction to get a better handle on what might be going on here? The reproducer in question is attached to IVY-1455 as a zip file. Many thanks, -- Charles