This change generates tags for maven artifacts that can be used to do classpath reduction on Bazel side. This builds on top of existing implementation where direct dependency information is embedded in tags and our Bazel fork uses it to do classpath reduction.
Design Decisions
All maven targets irrespective of which classpath they are in WORKSPACE, have @maven// prefix.
Entire transitive classpath of each maven target is made direct since there are many dependencies internal that does not follow proper compile/runtime in their pom.xml. To overcome this, Grazel flattens this and adds them to tags.
With this change, we can enable compiling with direct dependencies for both internal and external targets which brings significant performance increase for both clean and incremental builds.
Proposed Changes
This change generates tags for maven artifacts that can be used to do classpath reduction on Bazel side. This builds on top of existing implementation where direct dependency information is embedded in tags and our Bazel fork uses it to do classpath reduction.
Design Decisions
WORKSPACE
, have@maven// prefix
.With this change, we can enable compiling with direct dependencies for both internal and external targets which brings significant performance increase for both clean and incremental builds.