diff options
author | Googler <noreply@google.com> | 2018-01-04 09:18:37 -0800 |
---|---|---|
committer | Copybara-Service <copybara-piper@google.com> | 2018-01-04 09:20:06 -0800 |
commit | a5e9a0c6f46ccc6d7f899e5c5bc1414bc429d1f2 (patch) | |
tree | 6e141ff7cdc36099c704ffe64110dcccad029c0c | |
parent | a495baef6d63cedb589024c34108d34559e36a78 (diff) |
Always filter resources by density in execution
Newly discovered bugs indicate that density filtering in analysis does not
cover all cases. Filter in execution as a workaround for these cases. This will
let us turn resource filtering in analysis on and avoid these bugs. (I will
work on actually fixing these bugs in parallel.)
Non-density filtering already runs in execution, even when already filtering in
analysis, due to known limitations of filtering in analysis. (Specifically,
aapt filters more strictly than android_ide_common, and also needs the resource
filters passed anyway to generate pseudolocalized resources.)
RELNOTES: none
PiperOrigin-RevId: 180806206
-rw-r--r-- | src/tools/android/java/com/google/devtools/build/android/AndroidResourceProcessingAction.java | 11 |
1 files changed, 5 insertions, 6 deletions
diff --git a/src/tools/android/java/com/google/devtools/build/android/AndroidResourceProcessingAction.java b/src/tools/android/java/com/google/devtools/build/android/AndroidResourceProcessingAction.java index 86e5ec4d82..e988a61c3c 100644 --- a/src/tools/android/java/com/google/devtools/build/android/AndroidResourceProcessingAction.java +++ b/src/tools/android/java/com/google/devtools/build/android/AndroidResourceProcessingAction.java @@ -49,7 +49,6 @@ import java.io.InputStream; import java.nio.file.FileSystems; import java.nio.file.Files; import java.nio.file.Path; -import java.util.Collections; import java.util.List; import java.util.concurrent.TimeUnit; import java.util.logging.Level; @@ -412,12 +411,12 @@ public class AndroidResourceProcessingAction { logger.fine(String.format("Merging finished at %sms", timer.elapsed(TimeUnit.MILLISECONDS))); - final List<String> densitiesToFilter = - options.prefilteredResources.isEmpty() - ? options.densities - : Collections.<String>emptyList(); final List<String> densitiesForManifest = - densitiesToFilter.isEmpty() ? options.densitiesForManifest : densitiesToFilter; + options.densities.isEmpty() ? options.densitiesForManifest : options.densities; + + // TODO(b/71576526): Stop applying density filtering in execution when resources are filtered + // in analysis once density filtering in analysis actually covers all cases. + final List<String> densitiesToFilter = densitiesForManifest; final DensityFilteredAndroidData filteredData = mergedData.filter( |