aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/java_tools/buildjar/java/com/google/devtools/build
diff options
context:
space:
mode:
authorGravatar Liam Miller-Cushon <cushon@google.com>2015-02-12 01:39:32 +0000
committerGravatar Han-Wen Nienhuys <hanwen@google.com>2015-02-12 01:39:32 +0000
commit7e73a28c3da7011a2b808f4561918bd676bc66c4 (patch)
tree24e133950452a921a2fe4b63170ba03995df8673 /src/java_tools/buildjar/java/com/google/devtools/build
parent08efba3048af0876ba2bcdbbf6efa44bf2949ea4 (diff)
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
Diffstat (limited to 'src/java_tools/buildjar/java/com/google/devtools/build')
-rw-r--r--src/java_tools/buildjar/java/com/google/devtools/build/buildjar/javac/plugins/dependency/StrictJavaDepsPlugin.java16
1 files changed, 5 insertions, 11 deletions
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);
}
}