Fix handling of repackaged transitive classes in jdeps
Turbine supports running with only direct dependencies on the classpath (see
https://github.com/google/turbine/commit/d1509927c68b994ecb9eb95a8ae8478da9f04ed4).
In this mode it repackages transitive supertypes of classes referenced in the
compilation, and saves them in the output jar under `META-INF/TRANSITIVE`.
When turbine records classes that were used in the compilation for `jdeps`
output, it was reporting the jar that it loaded a repackaged transitive class
from, instead of the jar where that repackaged transitive class was originally
found.
This change adds a `TurbineTransitiveJar` class file attribute to the
repackaged classes that records the path of the jar file they were originally
seen in, and updates the `jdeps` logic to report that original path instead of
the jar where the repackaged class was observed.
PiperOrigin-RevId: 380075237
10 files changed