aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/tools/android/java/com/google/devtools/build/android/AndroidResourceProcessingAction.java
diff options
context:
space:
mode:
authorGravatar Googler <noreply@google.com>2018-02-06 12:36:27 -0800
committerGravatar Copybara-Service <copybara-piper@google.com>2018-02-06 12:37:47 -0800
commitfe68c6b586e96aff48259f78f82568c59260a1ef (patch)
tree0048699815ac206d142406ed95c1332f7a2c10a2 /src/tools/android/java/com/google/devtools/build/android/AndroidResourceProcessingAction.java
parent5e573b6d7227d0e0146f5ac63956848a1c366c21 (diff)
Always do filtering in execution (even after doing it in analysis)
Filtering only in analysis was neglecting the possibility of resources being in filesets, the contents of which are not available in analysis. As such, we must *always* filter in execution, even though it's usually just going to be a no-op. Also, add some documentation of same. RELNOTES: none PiperOrigin-RevId: 184722564
Diffstat (limited to 'src/tools/android/java/com/google/devtools/build/android/AndroidResourceProcessingAction.java')
-rw-r--r--src/tools/android/java/com/google/devtools/build/android/AndroidResourceProcessingAction.java15
1 files changed, 8 insertions, 7 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 e988a61c3c..27c9aa2237 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
@@ -262,6 +262,7 @@ public class AndroidResourceProcessingAction {
converter = CommaSeparatedOptionListConverter.class,
category = "config",
documentationCategory = OptionDocumentationCategory.UNCATEGORIZED,
+ deprecationWarning = "use '--densities' instead.",
effectTags = {OptionEffectTag.UNKNOWN},
help =
"Densities to specify in the manifest. If 'densities' is specified, that value will be"
@@ -411,18 +412,18 @@ public class AndroidResourceProcessingAction {
logger.fine(String.format("Merging finished at %sms", timer.elapsed(TimeUnit.MILLISECONDS)));
- final List<String> densitiesForManifest =
- 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;
+ // TODO(b/72995408): Remove the densitiesForManifest option once it is no longer being passed.
+ final List<String> densities =
+ options.densities.isEmpty() ? options.densitiesForManifest : options.densities;
final DensityFilteredAndroidData filteredData =
mergedData.filter(
+ // Even if filtering was done in analysis, we still need to filter by density again
+ // in execution since Fileset contents are not available in analysis.
new DensitySpecificResourceFilter(
- densitiesToFilter, filteredResources, mergedResources),
- new DensitySpecificManifestProcessor(densitiesForManifest, densityManifest));
+ densities, filteredResources, mergedResources),
+ new DensitySpecificManifestProcessor(densities, densityManifest));
logger.fine(
String.format(