Pin Bazel's native Android tests to use aapt, and set --android_aapt=aapt2 in Bazel's own .bazelrc
Closes #8696.
PiperOrigin-RevId: 254507620
diff --git a/.bazelrc b/.bazelrc
index 293b90f..5a0bfe2 100644
--- a/.bazelrc
+++ b/.bazelrc
@@ -27,3 +27,4 @@
# Flags for Android
build:remote --noexperimental_check_desugar_deps # Workaround for singlejar incompatibility with RBE
+build --android_aapt=aapt2 # Turn aapt2 on by default for Bazel's own Android builds and tests.
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 252bf6d1..198f294 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
@@ -3580,6 +3580,7 @@
@Test
public void testAapt2WithoutAndroidSdk() throws Exception {
+ useConfiguration("--android_aapt=aapt2");
checkError(
"java/a",
"a",
diff --git a/src/test/java/com/google/devtools/build/lib/rules/android/AndroidBuildViewTestCase.java b/src/test/java/com/google/devtools/build/lib/rules/android/AndroidBuildViewTestCase.java
index 6319afe..a321f3c 100644
--- a/src/test/java/com/google/devtools/build/lib/rules/android/AndroidBuildViewTestCase.java
+++ b/src/test/java/com/google/devtools/build/lib/rules/android/AndroidBuildViewTestCase.java
@@ -52,10 +52,19 @@
import java.util.Map;
import java.util.Set;
import javax.annotation.Nullable;
+import org.junit.Before;
/** Common methods shared between Android related {@link BuildViewTestCase}s. */
public abstract class AndroidBuildViewTestCase extends BuildViewTestCase {
+ @Before
+ public void setup() throws Exception {
+ // Force tests to use aapt to unblock global aapt2 migration, until these
+ // tests are migrated to use aapt2.
+ // TODO(jingwen): https://github.com/bazelbuild/bazel/issues/6907
+ useConfiguration("--android_aapt=aapt");
+ }
+
protected Iterable<Artifact> getNativeLibrariesInApk(ConfiguredTarget target) {
return Iterables.filter(
getGeneratingAction(getCompressedUnsignedApk(target)).getInputs(),
diff --git a/src/test/java/com/google/devtools/build/lib/rules/android/AndroidCommonTest.java b/src/test/java/com/google/devtools/build/lib/rules/android/AndroidCommonTest.java
index 81de74d..c317b42 100644
--- a/src/test/java/com/google/devtools/build/lib/rules/android/AndroidCommonTest.java
+++ b/src/test/java/com/google/devtools/build/lib/rules/android/AndroidCommonTest.java
@@ -38,6 +38,14 @@
scratch.file("java/srcs/a.properties", "foo");
}
+ @Before
+ public void setup() throws Exception {
+ // Force tests to use aapt to unblock global aapt2 migration, until these
+ // tests are migrated to use aapt2.
+ // TODO(jingwen): https://github.com/bazelbuild/bazel/issues/6907
+ useConfiguration("--android_aapt=aapt");
+ }
+
// regression test for #3169099
@Test
public void testLibrarySrcs() throws Exception {
diff --git a/src/test/java/com/google/devtools/build/lib/rules/android/ResourceTestBase.java b/src/test/java/com/google/devtools/build/lib/rules/android/ResourceTestBase.java
index 2452c80..31ec55b 100644
--- a/src/test/java/com/google/devtools/build/lib/rules/android/ResourceTestBase.java
+++ b/src/test/java/com/google/devtools/build/lib/rules/android/ResourceTestBase.java
@@ -182,11 +182,17 @@
public FileSystem fileSystem;
public ArtifactRoot root;
+ @Override
@Before
- public void setup() {
+ public void setup() throws Exception {
errorConsumer = new FakeRuleErrorConsumer();
fileSystem = new InMemoryFileSystem();
root = ArtifactRoot.asSourceRoot(Root.fromPath(fileSystem.getPath("/")));
+
+ // Force tests to use aapt to unblock global aapt2 migration, until these
+ // tests are migrated to use aapt2.
+ // TODO(jingwen): https://github.com/bazelbuild/bazel/issues/6907
+ useConfiguration("--android_aapt=aapt");
}
@After
diff --git a/src/test/java/com/google/devtools/build/lib/skyframe/ConfigurationsForTargetsTest.java b/src/test/java/com/google/devtools/build/lib/skyframe/ConfigurationsForTargetsTest.java
index c39d3c2..143749e 100644
--- a/src/test/java/com/google/devtools/build/lib/skyframe/ConfigurationsForTargetsTest.java
+++ b/src/test/java/com/google/devtools/build/lib/skyframe/ConfigurationsForTargetsTest.java
@@ -349,7 +349,10 @@
"java/a/BUILD",
"cc_library(name = 'lib', srcs = ['lib.cc'])",
"android_binary(name='a', manifest = 'AndroidManifest.xml', deps = [':lib'])");
- useConfiguration("--fat_apk_cpu=k8,armeabi-v7a");
+ // Force tests to use aapt to unblock global aapt2 migration, until these
+ // tests are migrated to use aapt2.
+ // TODO(jingwen): https://github.com/bazelbuild/bazel/issues/6907
+ useConfiguration("--fat_apk_cpu=k8,armeabi-v7a", "--android_aapt=aapt");
List<ConfiguredTarget> deps = getConfiguredDeps("//java/a:a", "deps");
assertThat(deps).hasSize(2);
ConfiguredTarget dep1 = deps.get(0);