Skip to content

Commit 4aab359

Browse files
Fix unused dependencies flag propagation and detection
1 parent b9e390b commit 4aab359

2 files changed

Lines changed: 4 additions & 2 deletions

File tree

src/java_tools/buildjar/java/com/google/devtools/build/buildjar/javac/plugins/dependency/StrictJavaDepsPlugin.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -213,7 +213,9 @@ public void finish() {
213213
: canonicalizeTarget(dependencyModule.getTargetLabel());
214214

215215
for (Path directJar : directJars) {
216-
if (!explicitDeps.containsKey(directJar) && !implicitDeps.containsKey(directJar)) {
216+
boolean isImplicitlyUsed = implicitDeps.containsKey(directJar)
217+
&& implicitDeps.get(directJar).getKind() != Dependency.Kind.INCOMPLETE;
218+
if (!explicitDeps.containsKey(directJar) && !isImplicitlyUsed) {
217219
JarOwner owner = readJarOwnerFromManifest(NonPlatformJar.forClasspathJar(directJar));
218220
String label = owner.label().isPresent()
219221
? canonicalizeTarget(owner.label().get())

src/main/java/com/google/devtools/build/lib/rules/java/JavaCompileActionBuilder.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -320,7 +320,7 @@ private CustomCommandLine buildParamFileContents(ImmutableList<String> javacOpts
320320
if (strictJavaDeps != StrictDepsMode.OFF) {
321321
result.add("--strict_java_deps", strictJavaDeps.toString());
322322
}
323-
if (unusedDeps != StrictDepsMode.OFF) {
323+
if (unusedDeps != StrictDepsMode.OFF && unusedDeps != StrictDepsMode.DEFAULT) {
324324
result.add("--experimental_unused_deps", unusedDeps.toString());
325325
}
326326
if (strictJavaDeps != StrictDepsMode.OFF || unusedDeps != StrictDepsMode.OFF) {

0 commit comments

Comments
 (0)