-
PrebuiltJar
attempted to transitively fetch runtime deps. This means that if you had a chain of prebuilt jars depending on each other, e.g. [binary] -> A -> B -> C -> D, we would attempt to traverse the runtime deps of A 1x, B 2x, C 3x and D 4x. This is unncessary as JavaBinary
does the transitive traversal itself, so just stop doing it.
-
JavaBinary
was resolving transitive runtime deps via concat(A, concat(B, concat(C, ...)))
. This is extremely inefficient since concat
adds another stack frame for every call which can result in StackOverflowException
. Use flatMap
instead.