From b6c985a7db6907ada0f99829724daacff4231014 Mon Sep 17 00:00:00 2001 From: Christian Legnitto Date: Wed, 23 May 2018 13:13:22 -0700 Subject: [PATCH] Drop `arm` as a default CPU ABI With the latest version of the NDK, `arm` is not supported. Fixes https://github.com/facebook/buck/issues/1890. --- docs/concept/buckconfig.soy | 4 ++-- .../toolchain/ndk/impl/NdkCxxPlatforms.java | 3 +-- .../android/AndroidAarIntegrationTest.java | 4 ---- .../AndroidBinaryCxxIntegrationTest.java | 10 ---------- .../android/AndroidBinaryIntegrationTest.java | 12 ++++++------ .../AndroidBinaryNativeIntegrationTest.java | 4 ++-- ...AndroidExopackageBinaryIntegrationTest.java | 18 +++++++++--------- ...oidFullExopackageBinaryIntegrationTest.java | 2 +- ...droidInstrumentationApkIntegrationTest.java | 2 -- .../android_project/apps/multidex/BUCK.fixture | 6 +++--- .../android_project/apps/sample/BUCK.fixture | 4 ---- .../{armeabi => armeabi-v7a}/libprebuilt.so | 0 .../libprebuilt_asset.so | 0 .../native/proguard_gen/expected.pro | 2 -- .../impl/NdkCxxPlatformIntegrationTest.java | 3 ++- 15 files changed, 26 insertions(+), 48 deletions(-) rename test/com/facebook/buck/android/testdata/android_project/native/fakenative/jni/prebuilt/{armeabi => armeabi-v7a}/libprebuilt.so (100%) rename test/com/facebook/buck/android/testdata/android_project/native/fakenative/jni/prebuilt_asset/{armeabi => armeabi-v7a}/libprebuilt_asset.so (100%) diff --git a/docs/concept/buckconfig.soy b/docs/concept/buckconfig.soy index aab4a8eba5f..071c0f06171 100644 --- a/docs/concept/buckconfig.soy +++ b/docs/concept/buckconfig.soy @@ -2873,10 +2873,10 @@ your .buckjavaargs file: {call buckconfig.entry} {param section: 'ndk' /} {param name: 'cpu_abis' /} - {param example_value: 'armv7, x86' /} + {param example_value: 'armv7, arm64, x86' /} {param description} A comma separated list of the CPU ABIs that this repo supports. Buck will only build NDK code - for these ABIs. + for these ABIs. The default is armv7, x86. {/param} {/call} diff --git a/src/com/facebook/buck/android/toolchain/ndk/impl/NdkCxxPlatforms.java b/src/com/facebook/buck/android/toolchain/ndk/impl/NdkCxxPlatforms.java index c2b8c4d50f5..9d594359ca6 100644 --- a/src/com/facebook/buck/android/toolchain/ndk/impl/NdkCxxPlatforms.java +++ b/src/com/facebook/buck/android/toolchain/ndk/impl/NdkCxxPlatforms.java @@ -85,8 +85,7 @@ public class NdkCxxPlatforms { public static final NdkCompilerType DEFAULT_COMPILER_TYPE = NdkCompilerType.GCC; public static final String DEFAULT_TARGET_APP_PLATFORM = "android-16"; - public static final ImmutableSet DEFAULT_CPU_ABIS = - ImmutableSet.of("arm", "armv7", "x86"); + public static final ImmutableSet DEFAULT_CPU_ABIS = ImmutableSet.of("armv7", "x86"); public static final NdkCxxRuntime DEFAULT_CXX_RUNTIME = NdkCxxRuntime.GNUSTL; private static final ImmutableMap BUILD_PLATFORMS = diff --git a/test/com/facebook/buck/android/AndroidAarIntegrationTest.java b/test/com/facebook/buck/android/AndroidAarIntegrationTest.java index 924f9935a6a..f71cdcf2231 100644 --- a/test/com/facebook/buck/android/AndroidAarIntegrationTest.java +++ b/test/com/facebook/buck/android/AndroidAarIntegrationTest.java @@ -226,8 +226,6 @@ public void testCxxLibraryDependent() throws InterruptedException, IOException { zipInspector.assertFileExists("classes.jar"); zipInspector.assertFileExists("R.txt"); zipInspector.assertFileExists("res/"); - zipInspector.assertFileExists("jni/armeabi/libdep.so"); - zipInspector.assertFileExists("jni/armeabi/libnative.so"); zipInspector.assertFileExists("jni/armeabi-v7a/libdep.so"); zipInspector.assertFileExists("jni/armeabi-v7a/libnative.so"); zipInspector.assertFileExists("jni/x86/libdep.so"); @@ -254,10 +252,8 @@ public void testNativeLibraryDependent() throws InterruptedException, IOExceptio zipInspector.assertFileExists("classes.jar"); zipInspector.assertFileExists("R.txt"); zipInspector.assertFileExists("res/"); - zipInspector.assertFileExists("assets/lib/armeabi/libfoo.so"); zipInspector.assertFileExists("assets/lib/armeabi-v7a/libfoo.so"); zipInspector.assertFileExists("assets/lib/x86/libfoo.so"); - zipInspector.assertFileExists("jni/armeabi/libbar.so"); zipInspector.assertFileExists("jni/armeabi-v7a/libbar.so"); zipInspector.assertFileExists("jni/x86/libbar.so"); } diff --git a/test/com/facebook/buck/android/AndroidBinaryCxxIntegrationTest.java b/test/com/facebook/buck/android/AndroidBinaryCxxIntegrationTest.java index 21c4208a598..eb8b07684eb 100644 --- a/test/com/facebook/buck/android/AndroidBinaryCxxIntegrationTest.java +++ b/test/com/facebook/buck/android/AndroidBinaryCxxIntegrationTest.java @@ -90,8 +90,6 @@ public void testCxxLibraryDep() throws IOException { workspace.getPath( BuildTargets.getGenPath( filesystem, BuildTargetFactory.newInstance(target), "%s.apk"))); - zipInspector.assertFileExists("lib/armeabi/libnative_cxx_lib.so"); - zipInspector.assertFileExists("lib/armeabi/libgnustl_shared.so"); zipInspector.assertFileExists("lib/armeabi-v7a/libnative_cxx_lib.so"); zipInspector.assertFileExists("lib/armeabi-v7a/libgnustl_shared.so"); zipInspector.assertFileExists("lib/x86/libnative_cxx_lib.so"); @@ -108,8 +106,6 @@ public void testCxxLibraryDepModular() throws IOException { workspace.getPath( BuildTargets.getGenPath( filesystem, BuildTargetFactory.newInstance(target), "%s.apk"))); - zipInspector.assertFileDoesNotExist("lib/armeabi/libnative_cxx_lib.so"); - zipInspector.assertFileExists("lib/armeabi/libgnustl_shared.so"); zipInspector.assertFileDoesNotExist("lib/armeabi-v7a/libnative_cxx_lib.so"); zipInspector.assertFileExists("lib/armeabi-v7a/libgnustl_shared.so"); zipInspector.assertFileDoesNotExist("lib/x86/libnative_cxx_lib.so"); @@ -131,8 +127,6 @@ public void testCxxLibraryDepClang() throws IOException { workspace.getPath( BuildTargets.getGenPath( filesystem, BuildTargetFactory.newInstance(target), "%s.apk"))); - zipInspector.assertFileExists("lib/armeabi/libnative_cxx_lib.so"); - zipInspector.assertFileExists("lib/armeabi/libc++_shared.so"); zipInspector.assertFileExists("lib/armeabi-v7a/libnative_cxx_lib.so"); zipInspector.assertFileExists("lib/armeabi-v7a/libc++_shared.so"); zipInspector.assertFileExists("lib/x86/libnative_cxx_lib.so"); @@ -149,7 +143,6 @@ public void testCxxLibraryDepWithNoFilters() throws IOException { workspace.getPath( BuildTargets.getGenPath( filesystem, BuildTargetFactory.newInstance(target), "%s.apk"))); - zipInspector.assertFileExists("lib/armeabi/libnative_cxx_lib.so"); zipInspector.assertFileExists("lib/armeabi-v7a/libnative_cxx_lib.so"); zipInspector.assertFileExists("lib/x86/libnative_cxx_lib.so"); } @@ -164,7 +157,6 @@ public void testNoCxxDepsDoesNotIncludeNdkRuntime() throws IOException { workspace.getPath( BuildTargets.getGenPath( filesystem, BuildTargetFactory.newInstance(target), "%s.apk"))); - zipInspector.assertFileDoesNotExist("lib/armeabi/libgnustl_shared.so"); zipInspector.assertFileDoesNotExist("lib/armeabi-v7a/libgnustl_shared.so"); zipInspector.assertFileDoesNotExist("lib/x86/libgnustl_shared.so"); } @@ -207,8 +199,6 @@ public void testX86OnlyCxxLibrary() throws IOException { filesystem, BuildTargetFactory.newInstance(target), "%s.apk"))); zipInspector.assertFileDoesNotExist("lib/armeabi-v7a/libnative_cxx_x86-only.so"); zipInspector.assertFileDoesNotExist("lib/armeabi-v7a/libgnustl_shared.so"); - zipInspector.assertFileDoesNotExist("lib/armeabi/libnative_cxx_x86-only.so"); - zipInspector.assertFileDoesNotExist("lib/armeabi/libgnustl_shared.so"); zipInspector.assertFileExists("lib/x86/libnative_cxx_x86-only.so"); zipInspector.assertFileExists("lib/x86/libgnustl_shared.so"); } diff --git a/test/com/facebook/buck/android/AndroidBinaryIntegrationTest.java b/test/com/facebook/buck/android/AndroidBinaryIntegrationTest.java index 00b5ab24a9b..b572d5b2597 100644 --- a/test/com/facebook/buck/android/AndroidBinaryIntegrationTest.java +++ b/test/com/facebook/buck/android/AndroidBinaryIntegrationTest.java @@ -109,7 +109,7 @@ public void testNonExopackageHasSecondary() throws IOException { zipInspector.assertFileDoesNotExist("classes2.dex"); zipInspector.assertFileExists("classes.dex"); - zipInspector.assertFileExists("lib/armeabi/libnative_cxx_lib.so"); + zipInspector.assertFileExists("lib/armeabi-v7a/libnative_cxx_lib.so"); } @Test @@ -124,7 +124,7 @@ public void testProguardBuild() throws IOException { zipInspector.assertFileDoesNotExist("classes2.dex"); zipInspector.assertFileExists("classes.dex"); - zipInspector.assertFileExists("lib/armeabi/libnative_cxx_lib.so"); + zipInspector.assertFileExists("lib/armeabi-v7a/libnative_cxx_lib.so"); } @Test @@ -143,21 +143,21 @@ public void testRawSplitDexHasSecondary() throws IOException { zipInspector.assertFileExists("classes2.dex"); zipInspector.assertFileExists("classes.dex"); - zipInspector.assertFileExists("lib/armeabi/libnative_cxx_lib.so"); + zipInspector.assertFileExists("lib/armeabi-v7a/libnative_cxx_lib.so"); } @Test public void testDisguisedExecutableIsRenamed() throws IOException { Path output = workspace.buildAndReturnOutput("//apps/sample:app_with_disguised_exe"); ZipInspector zipInspector = new ZipInspector(output); - zipInspector.assertFileExists("lib/armeabi/libmybinary.so"); + zipInspector.assertFileExists("lib/armeabi-v7a/libmybinary.so"); } @Test public void testNdkLibraryIsIncluded() throws IOException { Path output = workspace.buildAndReturnOutput("//apps/sample:app_with_ndk_library"); ZipInspector zipInspector = new ZipInspector(output); - zipInspector.assertFileExists("lib/armeabi/libfakenative.so"); + zipInspector.assertFileExists("lib/armeabi-v7a/libfakenative.so"); } @Test @@ -165,7 +165,7 @@ public void testEditingNdkLibraryForcesRebuild() throws IOException, Interrupted String apkWithNdkLibrary = "//apps/sample:app_with_ndk_library"; Path output = workspace.buildAndReturnOutput(apkWithNdkLibrary); ZipInspector zipInspector = new ZipInspector(output); - zipInspector.assertFileExists("lib/armeabi/libfakenative.so"); + zipInspector.assertFileExists("lib/armeabi-v7a/libfakenative.so"); // Sleep 1 second (plus another half to be super duper safe) to make sure that // fakesystem.c gets a later timestamp than the fakesystem.o that was produced diff --git a/test/com/facebook/buck/android/AndroidBinaryNativeIntegrationTest.java b/test/com/facebook/buck/android/AndroidBinaryNativeIntegrationTest.java index e68b443b0b6..3652124d66e 100644 --- a/test/com/facebook/buck/android/AndroidBinaryNativeIntegrationTest.java +++ b/test/com/facebook/buck/android/AndroidBinaryNativeIntegrationTest.java @@ -76,14 +76,14 @@ public void setUp() throws InterruptedException, IOException { public void testPrebuiltNativeLibraryIsIncluded() throws IOException { Path output = workspace.buildAndReturnOutput("//apps/sample:app_with_prebuilt_native_libs"); ZipInspector zipInspector = new ZipInspector(output); - zipInspector.assertFileExists("lib/armeabi/libprebuilt.so"); + zipInspector.assertFileExists("lib/armeabi-v7a/libprebuilt.so"); } @Test public void testPrebuiltNativeLibraryAsAssetIsIncluded() throws IOException { Path output = workspace.buildAndReturnOutput("//apps/sample:app_with_prebuilt_native_libs"); ZipInspector zipInspector = new ZipInspector(output); - zipInspector.assertFileExists("assets/lib/armeabi/libprebuilt_asset.so"); + zipInspector.assertFileExists("assets/lib/armeabi-v7a/libprebuilt_asset.so"); } @Test diff --git a/test/com/facebook/buck/android/AndroidExopackageBinaryIntegrationTest.java b/test/com/facebook/buck/android/AndroidExopackageBinaryIntegrationTest.java index 038d1834fae..bb1c8179713 100644 --- a/test/com/facebook/buck/android/AndroidExopackageBinaryIntegrationTest.java +++ b/test/com/facebook/buck/android/AndroidExopackageBinaryIntegrationTest.java @@ -90,7 +90,7 @@ public void testDexExopackageHasNoSecondary() throws IOException { zipInspector.assertFileDoesNotExist("classes2.dex"); zipInspector.assertFileExists("classes.dex"); - zipInspector.assertFileExists("lib/armeabi/libnative_cxx_lib.so"); + zipInspector.assertFileExists("lib/armeabi-v7a/libnative_cxx_lib.so"); // It would be better if we could call getExopackageInfo on the app rule. Path secondaryDir = @@ -130,7 +130,7 @@ public void testNativeExopackageHasNoNativeLibraries() throws IOException { zipInspector.assertFileExists("classes.dex"); - zipInspector.assertFileDoesNotExist("lib/armeabi/libnative_cxx_lib.so"); + zipInspector.assertFileDoesNotExist("lib/armeabi-v7a/libnative_cxx_lib.so"); } @Test @@ -145,7 +145,7 @@ public void testDexAndNativeExopackageHasNeitherSecondaryNorNativeLibraries() th zipInspector.assertFileDoesNotExist("assets/secondary-program-dex-jars/metadata.txt"); zipInspector.assertFileDoesNotExist("classes2.dex"); - zipInspector.assertFileDoesNotExist("lib/armeabi/libnative_cxx_lib.so"); + zipInspector.assertFileDoesNotExist("lib/armeabi-v7a/libnative_cxx_lib.so"); zipInspector.assertFileExists("classes.dex"); } @@ -226,8 +226,8 @@ public void testEditingNativeForcesRebuild() throws IOException { workspace.getBuildLog().assertTargetBuiltLocally(DEX_EXOPACKAGE_TARGET); zipInspector = new ZipInspector(workspace.getPath("buck-out/gen/apps/multidex/app-dex-exo.apk")); - zipInspector.assertFileExists("lib/armeabi/libnative_cxx_lib.so"); - zipInspector.assertFileDoesNotExist("assets/lib/armeabi/libnative_cxx_lib.so"); + zipInspector.assertFileExists("lib/armeabi-v7a/libnative_cxx_lib.so"); + zipInspector.assertFileDoesNotExist("assets/lib/armeabi-v7a/libnative_cxx_lib.so"); // Now convert it into an asset native library and ensure that we re-run apkbuilder. workspace.replaceFileContents( @@ -239,8 +239,8 @@ public void testEditingNativeForcesRebuild() throws IOException { workspace.getBuildLog().assertTargetBuiltLocally(DEX_EXOPACKAGE_TARGET); zipInspector = new ZipInspector(workspace.getPath("buck-out/gen/apps/multidex/app-dex-exo.apk")); - zipInspector.assertFileDoesNotExist("lib/armeabi/libnative_cxx_lib.so"); - zipInspector.assertFileExists("assets/lib/armeabi/libnative_cxx_lib.so"); + zipInspector.assertFileDoesNotExist("lib/armeabi-v7a/libnative_cxx_lib.so"); + zipInspector.assertFileExists("assets/lib/armeabi-v7a/libnative_cxx_lib.so"); // Now edit it again and make sure we re-run apkbuilder. workspace.replaceFileContents("native/cxx/lib.cpp", "return 4", "return 5"); @@ -254,8 +254,8 @@ public void testEditingNativeForcesRebuild() throws IOException { workspace.getPath( BuildTargets.getGenPath( filesystem, BuildTargetFactory.newInstance(DEX_EXOPACKAGE_TARGET), "%s.apk"))); - zipInspector.assertFileDoesNotExist("lib/armeabi/libnative_cxx_lib.so"); - zipInspector.assertFileExists("assets/lib/armeabi/libnative_cxx_lib.so"); + zipInspector.assertFileDoesNotExist("lib/armeabi-v7a/libnative_cxx_lib.so"); + zipInspector.assertFileExists("assets/lib/armeabi-v7a/libnative_cxx_lib.so"); } @Test diff --git a/test/com/facebook/buck/android/AndroidFullExopackageBinaryIntegrationTest.java b/test/com/facebook/buck/android/AndroidFullExopackageBinaryIntegrationTest.java index f6910dda96c..36de3b03f56 100644 --- a/test/com/facebook/buck/android/AndroidFullExopackageBinaryIntegrationTest.java +++ b/test/com/facebook/buck/android/AndroidFullExopackageBinaryIntegrationTest.java @@ -60,7 +60,7 @@ public void testApkHasABunchOfThingsNotIncluded() throws IOException { zipInspector.assertFileDoesNotExist("assets/secondary-program-dex-jars/metadata.txt"); zipInspector.assertFileDoesNotExist("classes2.dex"); - zipInspector.assertFileDoesNotExist("lib/armeabi/libnative_cxx_lib.so"); + zipInspector.assertFileDoesNotExist("lib/armeabi-v7a/libnative_cxx_lib.so"); zipInspector.assertFileDoesNotExist("assets/hilarity.txt"); zipInspector.assertFileExists("classes.dex"); diff --git a/test/com/facebook/buck/android/AndroidInstrumentationApkIntegrationTest.java b/test/com/facebook/buck/android/AndroidInstrumentationApkIntegrationTest.java index 08f13c9aa35..7115d956f29 100644 --- a/test/com/facebook/buck/android/AndroidInstrumentationApkIntegrationTest.java +++ b/test/com/facebook/buck/android/AndroidInstrumentationApkIntegrationTest.java @@ -54,8 +54,6 @@ public void testCxxLibraryDep() throws InterruptedException, IOException { workspace.getPath( BuildTargets.getGenPath( filesystem, BuildTargetFactory.newInstance(target), "%s.apk"))); - zipInspector.assertFileExists("lib/armeabi/libcxx.so"); - zipInspector.assertFileExists("lib/armeabi/libgnustl_shared.so"); zipInspector.assertFileExists("lib/armeabi-v7a/libcxx.so"); zipInspector.assertFileExists("lib/armeabi-v7a/libgnustl_shared.so"); zipInspector.assertFileExists("lib/x86/libcxx.so"); diff --git a/test/com/facebook/buck/android/testdata/android_project/apps/multidex/BUCK.fixture b/test/com/facebook/buck/android/testdata/android_project/apps/multidex/BUCK.fixture index 379d8e7e269..1e2cf65ee1d 100644 --- a/test/com/facebook/buck/android/testdata/android_project/apps/multidex/BUCK.fixture +++ b/test/com/facebook/buck/android/testdata/android_project/apps/multidex/BUCK.fixture @@ -208,7 +208,7 @@ android_binary( android_binary( name = "app-native-exo", cpu_filters = [ - "arm", + "armv7", ], exopackage_modes = ["native_library"], keystore = "//keystores:debug", @@ -228,7 +228,7 @@ android_binary( android_binary( name = "app-dex-native-exo", cpu_filters = [ - "arm", + "armv7", ], exopackage_modes = [ "native_library", @@ -251,7 +251,7 @@ android_binary( android_binary( name = "app-full-exo", cpu_filters = [ - "arm", + "armv7", ], exopackage_modes = [ "native_library", diff --git a/test/com/facebook/buck/android/testdata/android_project/apps/sample/BUCK.fixture b/test/com/facebook/buck/android/testdata/android_project/apps/sample/BUCK.fixture index 50ccaa7b1f8..f6e3bb97792 100644 --- a/test/com/facebook/buck/android/testdata/android_project/apps/sample/BUCK.fixture +++ b/test/com/facebook/buck/android/testdata/android_project/apps/sample/BUCK.fixture @@ -178,7 +178,6 @@ android_binary( android_binary( name = "app_cxx_lib_dep", cpu_filters = [ - "arm", "armv7", "x86", ], @@ -244,7 +243,6 @@ android_binary( "//native/cxx:lib", ], cpu_filters = [ - "arm", "armv7", "x86", ], @@ -312,7 +310,6 @@ android_binary( android_binary( name = "app_no_cxx_deps", cpu_filters = [ - "arm", "armv7", "x86", ], @@ -383,7 +380,6 @@ android_binary( android_binary( name = "app_with_native_lib_proguard", cpu_filters = [ - "arm", "armv7", "x86", ], diff --git a/test/com/facebook/buck/android/testdata/android_project/native/fakenative/jni/prebuilt/armeabi/libprebuilt.so b/test/com/facebook/buck/android/testdata/android_project/native/fakenative/jni/prebuilt/armeabi-v7a/libprebuilt.so similarity index 100% rename from test/com/facebook/buck/android/testdata/android_project/native/fakenative/jni/prebuilt/armeabi/libprebuilt.so rename to test/com/facebook/buck/android/testdata/android_project/native/fakenative/jni/prebuilt/armeabi-v7a/libprebuilt.so diff --git a/test/com/facebook/buck/android/testdata/android_project/native/fakenative/jni/prebuilt_asset/armeabi/libprebuilt_asset.so b/test/com/facebook/buck/android/testdata/android_project/native/fakenative/jni/prebuilt_asset/armeabi-v7a/libprebuilt_asset.so similarity index 100% rename from test/com/facebook/buck/android/testdata/android_project/native/fakenative/jni/prebuilt_asset/armeabi/libprebuilt_asset.so rename to test/com/facebook/buck/android/testdata/android_project/native/fakenative/jni/prebuilt_asset/armeabi-v7a/libprebuilt_asset.so diff --git a/test/com/facebook/buck/android/testdata/android_project/native/proguard_gen/expected.pro b/test/com/facebook/buck/android/testdata/android_project/native/proguard_gen/expected.pro index 51fbe293a5d..4aad9e8e73e 100644 --- a/test/com/facebook/buck/android/testdata/android_project/native/proguard_gen/expected.pro +++ b/test/com/facebook/buck/android/testdata/android_project/native/proguard_gen/expected.pro @@ -1,5 +1,3 @@ -# buck-out/bin/apps/sample/__native_dex_app_with_native_lib_proguard#copy_native_libs_dex__/libs/armeabi/libgnustl_shared.so -# buck-out/bin/apps/sample/__native_dex_app_with_native_lib_proguard#copy_native_libs_dex__/libs/armeabi/libnative_cxx_lib.so # buck-out/bin/apps/sample/__native_dex_app_with_native_lib_proguard#copy_native_libs_dex__/libs/armeabi-v7a/libgnustl_shared.so # buck-out/bin/apps/sample/__native_dex_app_with_native_lib_proguard#copy_native_libs_dex__/libs/armeabi-v7a/libnative_cxx_lib.so # buck-out/bin/apps/sample/__native_dex_app_with_native_lib_proguard#copy_native_libs_dex__/libs/x86/libgnustl_shared.so diff --git a/test/com/facebook/buck/android/toolchain/ndk/impl/NdkCxxPlatformIntegrationTest.java b/test/com/facebook/buck/android/toolchain/ndk/impl/NdkCxxPlatformIntegrationTest.java index 5d09fc477e8..a35efa73395 100644 --- a/test/com/facebook/buck/android/toolchain/ndk/impl/NdkCxxPlatformIntegrationTest.java +++ b/test/com/facebook/buck/android/toolchain/ndk/impl/NdkCxxPlatformIntegrationTest.java @@ -139,7 +139,8 @@ public void changedPlatformTarget() throws InterruptedException, IOException { workspace.getBuildLog().assertTargetBuiltLocally(linkTarget.toString()); // Change the app platform and verify that our rulekey has changed. - workspace.writeContentsToPath("[ndk]\n app_platform = android-12", ".buckconfig"); + workspace.writeContentsToPath( + "[ndk]\n app_platform = android-12\n cpu_abis = arm, armv7, x86", ".buckconfig"); workspace.runBuckCommand("build", target.toString()).assertSuccess(); workspace.getBuildLog().assertTargetBuiltLocally(linkTarget.toString()); }