aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorGravatar corysmith <corysmith@google.com>2018-08-14 10:13:43 -0700
committerGravatar Copybara-Service <copybara-piper@google.com>2018-08-14 10:14:57 -0700
commit265f09429d84ecc8ff0f5fdd6eb5eae9f3b5134b (patch)
treef0132dc2e0f154632df945ce2acf68c41bedd0cb
parentfc6640e0ce75dd4bf5b48c8da60fcf489170d99f (diff)
Optimize the shrinking pass to prevent timeouts.
RELNOTES: None PiperOrigin-RevId: 208666806
-rw-r--r--src/tools/android/java/com/google/devtools/build/android/aapt2/ProtoResourceUsageAnalyzer.java5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/tools/android/java/com/google/devtools/build/android/aapt2/ProtoResourceUsageAnalyzer.java b/src/tools/android/java/com/google/devtools/build/android/aapt2/ProtoResourceUsageAnalyzer.java
index a1cd448827..c91ef65754 100644
--- a/src/tools/android/java/com/google/devtools/build/android/aapt2/ProtoResourceUsageAnalyzer.java
+++ b/src/tools/android/java/com/google/devtools/build/android/aapt2/ProtoResourceUsageAnalyzer.java
@@ -139,7 +139,10 @@ public class ProtoResourceUsageAnalyzer extends ResourceUsageAnalyzer {
resource.references.forEach(
r -> {
referenceLog.put(r, resource);
- queue.add(r);
+ // add if it has not been marked reachable, therefore processed.
+ if (!reachable.contains(r)) {
+ queue.add(r);
+ }
});
}
// if we see it, it is reachable.