curved-vase-73456
08/30/2018, 9:33 PMMore subtly, if you have many intermediateHow 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 😕targets between yourjava_library
and yourjvm_binaries
targets (which is normaly the case), simply changing which combination ofjar_library
targets are in the samejava_library
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../pants