regarding the recent topic of transitive dependenc...
# general
c
regarding the recent topic of transitive dependencies and this passage from docs:
More subtly, if you have many intermediate
java_library
targets between your
jvm_binaries
and your
jar_library
targets (which is normaly the case), simply changing which combination of
java_library
targets are in the same
./pants
invocation may invalidate the cache and force Pants to recompile them, even if their sources are unchanged. This is because they may resolve different versions of their transitive jar dependencies than the previous time they were compiled, which means their classpaths will be different. Getting a different classpath causes a cache-miss, forcing a recompile. In general recompiling when the classpath changes is the correct thing to do, however this means that unstable transitive dependencies will cause a lot of cache-thrashing. If you have a large repository with a large amount of code, recompiles get expensive.
How one can detect which dependencies/3rdparty jars are causing this behavior? I see a message when invoking strict_deps “check for conflicting dependencies with `-Ylog-classpath`” but the resulting output is quite huge and I’m not sure how to see/search for conflicts using it 😕