Hi all, **Please read below and let me know if I need to file a bug report.**
The Two Second Overview: ======================= When declaring a global exclude, the exclude only applies to immediate dependencies, and not transitive dependencies. This is distinct from local excludes, which appear to respect exclude statements throughout the entire dependency's transitive dependency graph. The Two Minute Overview: ======================= Let's say we have dependencies on Modules A (rev 1) and B (rev 3). Module A has a dependency on Module C. Module B has a dependency on Module A (rev 2), which in turn has a dependency on Module C as well. A (rev 1) -> C B -> A (rev 2) -> C So if one places a global exclude for Module C, it isn't respected by Module B. This seems to be because Module B retrieves module A, which retrieves Module C. The transitive dependency on Module C avoids exclusion. The only solution is to declare an exclusion explicitly for Module A and Module B, even though Module B has no direct dependency on Module C. This can get hairy if many projects reference Module C through a transitive dependency of their own (like mine with Hibernate and CGLIB). Conclusion ================== Unless I am missing something, the global excludes should behave much the same a local excludes and affect the exlcusion of transitive depedencies. -- View this message in context: http://www.nabble.com/Global-and-Local-Excludes-Being-Ignored-By-Ivy--Config-Prblm-of-Bug---tp17262577p17274992.html Sent from the ivy-user mailing list archive at Nabble.com.
