From 7e73a28c3da7011a2b808f4561918bd676bc66c4 Mon Sep 17 00:00:00 2001 From: Liam Miller-Cushon Date: Thu, 12 Feb 2015 01:39:32 +0000 Subject: Don't mark types used in dagger-generated code as explicit deps. The previous fix suppressed strict deps errors, but continued to record explicit deps for types in dagger generated code. This prevented unused_deps from removing deps that were only needed by dagger. Follow-up to [] RELNOTES: N/A -- MOS_MIGRATED_REVID=86136508 --- .../javac/plugins/dependency/StrictJavaDepsPlugin.java | 16 +++++----------- 1 file changed, 5 insertions(+), 11 deletions(-) (limited to 'src/java_tools/buildjar/java/com/google/devtools/build') diff --git a/src/java_tools/buildjar/java/com/google/devtools/build/buildjar/javac/plugins/dependency/StrictJavaDepsPlugin.java b/src/java_tools/buildjar/java/com/google/devtools/build/buildjar/javac/plugins/dependency/StrictJavaDepsPlugin.java index 12072983a4..6ad6d58c7c 100644 --- a/src/java_tools/buildjar/java/com/google/devtools/build/buildjar/javac/plugins/dependency/StrictJavaDepsPlugin.java +++ b/src/java_tools/buildjar/java/com/google/devtools/build/buildjar/javac/plugins/dependency/StrictJavaDepsPlugin.java @@ -251,7 +251,7 @@ public final class StrictJavaDepsPlugin extends BlazeJavaCompilerPlugin { * replaced by the more complete Blaze implementation). */ private void collectExplicitDependency(String jarName, JCTree node, Symbol.TypeSymbol sym) { - if (strictJavaDepsMode.isEnabled() && !isStrictDepsExempt) { + if (strictJavaDepsMode.isEnabled()) { // Does it make sense to emit a warning/error for this pair of (type, target)? // We want to emit only one error/warning per target. String target = indirectJarsToTargets.get(jarName); @@ -324,9 +324,6 @@ public final class StrictJavaDepsPlugin extends BlazeJavaCompilerPlugin { } } - // Relax strict deps for dagger-generated code (b/17979436). - private boolean isStrictDepsExempt = false; - public static boolean generatedByDagger(JCTree.JCClassDecl tree) { if (tree.sym == null) { return false; @@ -345,14 +342,11 @@ public final class StrictJavaDepsPlugin extends BlazeJavaCompilerPlugin { @Override public void visitClassDef(JCTree.JCClassDecl tree) { - boolean prev = isStrictDepsExempt; - try { - // disable checks if current class or any enclosing classes are generated by dagger - isStrictDepsExempt |= generatedByDagger(tree); - super.visitClassDef(tree); - } finally { - isStrictDepsExempt = prev; + // Relax strict deps for dagger-generated code (b/17979436). + if (generatedByDagger(tree)) { + return; } + super.visitClassDef(tree); } } -- cgit v1.2.3