diff --git a/src/java_tools/buildjar/java/com/google/devtools/build/buildjar/ReducedClasspathJavaLibraryBuilder.java b/src/java_tools/buildjar/java/com/google/devtools/build/buildjar/ReducedClasspathJavaLibraryBuilder.java index 17a1f44a7e09b4..6eabd414ac5fac 100644 --- a/src/java_tools/buildjar/java/com/google/devtools/build/buildjar/ReducedClasspathJavaLibraryBuilder.java +++ b/src/java_tools/buildjar/java/com/google/devtools/build/buildjar/ReducedClasspathJavaLibraryBuilder.java @@ -67,6 +67,7 @@ BlazeJavacResult compileSources(JavaLibraryBuildRequest build, JavacRunner javac .toBuilder() .transitiveClasspathLength(build.getClassPath().size()) .reducedClasspathLength(compressedClasspath.size()) + .minClasspathLength(build.getDependencyModule().getUsedClasspath().size()) .transitiveClasspathFallback(fallback); build.getProcessors().stream() .map(p -> p.substring(p.lastIndexOf('.') + 1)) diff --git a/src/java_tools/buildjar/java/com/google/devtools/build/buildjar/javac/plugins/dependency/DependencyModule.java b/src/java_tools/buildjar/java/com/google/devtools/build/buildjar/javac/plugins/dependency/DependencyModule.java index 75b36ba7029cdc..3aa1a499a70e83 100644 --- a/src/java_tools/buildjar/java/com/google/devtools/build/buildjar/javac/plugins/dependency/DependencyModule.java +++ b/src/java_tools/buildjar/java/com/google/devtools/build/buildjar/javac/plugins/dependency/DependencyModule.java @@ -210,8 +210,8 @@ public Path getOutputDepsProtoFile() { return outputDepsProtoFile; } - @VisibleForTesting - Set getUsedClasspath() { + /** Returns the classpath that was actually used during the compilation. */ + public Set getUsedClasspath() { return usedClasspath; } diff --git a/src/java_tools/buildjar/java/com/google/devtools/build/buildjar/javac/statistics/BlazeJavacStatistics.java b/src/java_tools/buildjar/java/com/google/devtools/build/buildjar/javac/statistics/BlazeJavacStatistics.java index e75a0361dc205b..f3a1430303590d 100644 --- a/src/java_tools/buildjar/java/com/google/devtools/build/buildjar/javac/statistics/BlazeJavacStatistics.java +++ b/src/java_tools/buildjar/java/com/google/devtools/build/buildjar/javac/statistics/BlazeJavacStatistics.java @@ -65,6 +65,7 @@ private static Builder newBuilder() { return new AutoValue_BlazeJavacStatistics.Builder() .transitiveClasspathLength(0) .reducedClasspathLength(0) + .minClasspathLength(0) .transitiveClasspathFallback(false); } @@ -81,6 +82,8 @@ private static Builder newBuilder() { public abstract int reducedClasspathLength(); + public abstract int minClasspathLength(); + public abstract boolean transitiveClasspathFallback(); // TODO(glorioso): We really need to think out more about what data to collect/store here. @@ -115,6 +118,8 @@ public abstract static class Builder { public abstract Builder reducedClasspathLength(int length); + public abstract Builder minClasspathLength(int length); + public abstract Builder transitiveClasspathFallback(boolean fallback); public Builder addErrorProneTiming(String key, Duration value) {