diff options
author | 2018-06-06 14:32:29 -0700 | |
---|---|---|
committer | 2018-06-06 14:33:48 -0700 | |
commit | ccaccb2b277a82f7264567563a02ab133a0f6e6f (patch) | |
tree | 62f5f3a6a89ec3892d565b4ee630387d0f8e85db /src/test | |
parent | 899a3e7ad9853c036bc84b7b6905516df6b7f62b (diff) |
Let blaze obfuscate manual main_dex_list according to proguard map.
PiperOrigin-RevId: 199529974
Diffstat (limited to 'src/test')
-rw-r--r-- | src/test/java/com/google/devtools/build/lib/analysis/mock/BazelAnalysisMock.java | 3 | ||||
-rw-r--r-- | src/test/java/com/google/devtools/build/lib/rules/android/AndroidBinaryTest.java | 28 |
2 files changed, 30 insertions, 1 deletions
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..6c17d9465c 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 @@ -180,6 +180,34 @@ public class AndroidBinaryTest extends AndroidBuildViewTestCase { } @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.txt"); + List<String> 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", "android_binary(name = 'a',", |