From 9c68c3a1bd50ee56b5b7592a5f2ff918b16a2bab Mon Sep 17 00:00:00 2001 From: Googler Date: Fri, 8 Jun 2018 15:53:50 -0700 Subject: Automated rollback of commit 5df8eb24f84a6943e70876c805c77f06e719dcd7. PiperOrigin-RevId: 199864175 --- .../build/lib/analysis/mock/BazelAnalysisMock.java | 3 ++- .../build/lib/rules/android/AndroidBinaryTest.java | 28 ++++++++++++++++++++++ 2 files changed, 30 insertions(+), 1 deletion(-) (limited to 'src/test/java/com') diff --git a/src/test/java/com/google/devtools/build/lib/analysis/mock/BazelAnalysisMock.java b/src/test/java/com/google/devtools/build/lib/analysis/mock/BazelAnalysisMock.java index af2220d0f6..3b7579909b 100644 --- a/src/test/java/com/google/devtools/build/lib/analysis/mock/BazelAnalysisMock.java +++ b/src/test/java/com/google/devtools/build/lib/analysis/mock/BazelAnalysisMock.java @@ -272,7 +272,8 @@ public final class BazelAnalysisMock extends AnalysisMock { .add("sh_binary(name = 'instrumentation_test_check', srcs = ['empty.sh'])") .add("package_group(name = 'android_device_whitelist', packages = ['//...'])") .add("package_group(name = 'export_deps_whitelist', packages = ['//...'])") - .add("android_tools_defaults_jar(name = 'android_jar')"); + .add("android_tools_defaults_jar(name = 'android_jar')") + .add("sh_binary(name = 'dex_list_obfuscator', srcs = ['empty.sh'])"); return androidBuildContents.build(); } 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 f894e4d32b..b073452b0e 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 @@ -179,6 +179,34 @@ public class AndroidBinaryTest extends AndroidBuildViewTestCase { assertThat(Joiner.on(" ").join(args)).doesNotContain("mainDexClasses.rules"); } + @Test + public void testMainDexListObfuscation() throws Exception { + useConfiguration("--noincremental_dexing"); + scratch.file("/java/a/list.txt"); + ConfiguredTarget ct = + scratchConfiguredTarget( + "java/a", + "a", + "android_binary(", + " name = 'a',", + " srcs = ['A.java'],", + " manifest = 'AndroidManifest.xml',", + " multidex = 'manual_main_dex',", + " proguard_generate_mapping = 1,", + " main_dex_list = 'list.txt')"); + + Artifact obfuscatedDexList = + artifactByPath( + ImmutableList.of(getCompressedUnsignedApk(ct)), + ".apk", + ".dex.zip", + ".dex.zip", + "main_dex_list_obfuscated.txt"); + List args = getGeneratingSpawnActionArgs(obfuscatedDexList); + assertThat(args.get(0)).contains("dex_list_obfuscator"); + MoreAsserts.assertContainsSublist(args, "--input", "java/a/list.txt"); + } + @Test public void testNonLegacyNativeDepsDoesNotPolluteDexSharding() throws Exception { scratch.file("java/a/BUILD", -- cgit v1.2.3