diff options
author | 2018-01-16 13:07:33 -0800 | |
---|---|---|
committer | 2018-01-16 13:10:17 -0800 | |
commit | 53e45318ad8da0a244639a44c1c9a1720d8c4b10 (patch) | |
tree | e9ec6b7651f02de510e1a10a19c490378f5e2b0f | |
parent | 5418362f878afc6c61ce7e5c190b9d234584d40f (diff) |
Default to filtering resources in analysis
RELNOTES: none
PiperOrigin-RevId: 182100169
-rw-r--r-- | src/main/java/com/google/devtools/build/lib/rules/android/AndroidConfiguration.java | 9 | ||||
-rw-r--r-- | src/test/java/com/google/devtools/build/lib/rules/android/AndroidBinaryTest.java | 41 |
2 files changed, 5 insertions, 45 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/rules/android/AndroidConfiguration.java b/src/main/java/com/google/devtools/build/lib/rules/android/AndroidConfiguration.java index 6e94e00632..08d4a0c611 100644 --- a/src/main/java/com/google/devtools/build/lib/rules/android/AndroidConfiguration.java +++ b/src/main/java/com/google/devtools/build/lib/rules/android/AndroidConfiguration.java @@ -664,7 +664,7 @@ public class AndroidConfiguration extends BuildConfiguration.Fragment { @Option( name = "experimental_android_resource_filtering_method", converter = ResourceFilterFactory.Converter.class, - defaultValue = "filter_in_execution", + defaultValue = "filter_in_analysis", documentationCategory = OptionDocumentationCategory.BUILD_TIME_OPTIMIZATION, effectTags = { OptionEffectTag.CHANGES_INPUTS, @@ -675,13 +675,12 @@ public class AndroidConfiguration extends BuildConfiguration.Fragment { help = "Determines when resource filtering attributes, such as the android_binary " + "'resource_configuration_filters' and 'densities' attributes, are applied. " - + "By default, bazel will 'filter_in_execution'. The experimental " - + "'filter_in_analysis' option instead applies these filters earlier in the build " - + "process, with corresponding gains in speed. The experimental " + + "By default, bazel will 'filter_in_analysis'. The experimental " + "'filter_in_analysis_with_dynamic_configuration' option also passes these options " + "to the android_binary's dependencies, which also filter their internal resources " + "in analysis, possibly making the build even faster (especially in systems that " - + "do not cache the results of those dependencies)." + + "do not cache the results of those dependencies). When using aapt2, filtering is " + + "only performed in execution, and this setting does nothing." ) // The ResourceFilterFactory object holds the filtering behavior as well as settings for which // resources should be filtered. The filtering behavior is set from the command line, but the diff --git a/src/test/java/com/google/devtools/build/lib/rules/android/AndroidBinaryTest.java b/src/test/java/com/google/devtools/build/lib/rules/android/AndroidBinaryTest.java index 25755bff87..e3971f489c 100644 --- a/src/test/java/com/google/devtools/build/lib/rules/android/AndroidBinaryTest.java +++ b/src/test/java/com/google/devtools/build/lib/rules/android/AndroidBinaryTest.java @@ -1199,8 +1199,6 @@ public class AndroidBinaryTest extends AndroidBuildViewTestCase { public void testFilteredResourcesInvalidFilter() throws Exception { String badQualifier = "invalid-qualifier"; - useConfiguration("--experimental_android_resource_filtering_method", "filter_in_analysis"); - checkError( "java/r/android", "r", @@ -1268,10 +1266,7 @@ public class AndroidBinaryTest extends AndroidBuildViewTestCase { mockAndroidSdkWithAapt2(); - useConfiguration( - "--android_sdk=//sdk:sdk", - "--experimental_android_resource_filtering_method", - "filter_in_analysis"); + useConfiguration("--android_sdk=//sdk:sdk"); ConfiguredTarget binary = scratchConfiguredTarget( @@ -1298,32 +1293,6 @@ public class AndroidBinaryTest extends AndroidBuildViewTestCase { } @Test - public void testFilteredResourcesFilteringNotSpecified() throws Exception { - // TODO(asteinb): Once prefiltering is run by default, remove this test and remove the - // prefilter_resources flag from tests that currently explicitly specify to filter - List<String> resources = - ImmutableList.of("res/values/foo.xml", "res/values-en/foo.xml", "res/values-fr/foo.xml"); - String dir = "java/r/android"; - - ConfiguredTarget binary = - scratchConfiguredTarget( - dir, - "r", - "android_binary(name = 'r',", - " manifest = 'AndroidManifest.xml',", - " resource_configuration_filters = ['en'],", - " resource_files = ['" + Joiner.on("', '").join(resources) + "'])"); - - ResourceContainer directResources = getResourceContainer(binary, /* transitive= */ false); - - // Validate that the AndroidResourceProvider for this binary contains all values. - assertThat(resourceContentsPaths(dir, directResources)).containsExactlyElementsIn(resources); - - // Validate that the input to resource processing contains all values. - assertThat(resourceInputPaths(dir, directResources)).containsAllIn(resources); - } - - @Test public void testFilteredResourcesSimple() throws Exception { testDirectResourceFiltering( "en", @@ -1641,8 +1610,6 @@ public class AndroidBinaryTest extends AndroidBuildViewTestCase { String dir = "java/r/android"; - useConfiguration("--experimental_android_resource_filtering_method", "filter_in_analysis"); - ConfiguredTarget binary = scratchConfiguredTarget( dir, @@ -1695,8 +1662,6 @@ public class AndroidBinaryTest extends AndroidBuildViewTestCase { String dir = "java/r/android"; - useConfiguration("--experimental_android_resource_filtering_method", "filter_in_analysis"); - ConfiguredTarget binary = scratchConfiguredTarget( dir, @@ -1733,8 +1698,6 @@ public class AndroidBinaryTest extends AndroidBuildViewTestCase { public void testFilteredTransitiveResourcesDifferentDensities() throws Exception { String dir = "java/r/android"; - useConfiguration("--experimental_android_resource_filtering_method", "filter_in_analysis"); - ConfiguredTarget binary = scratchConfiguredTarget( dir, @@ -1781,8 +1744,6 @@ public class AndroidBinaryTest extends AndroidBuildViewTestCase { public void testFilteredResourcesAllFilteredOut() throws Exception { String dir = "java/r/android"; - useConfiguration("--experimental_android_resource_filtering_method", "filter_in_analysis"); - final String keptBaseDir = "partly_filtered_dir"; String removedLibraryDir = "fully_filtered_library_dir"; String removedBinaryDir = "fully_filtered_binary_dir"; |