diff options
author | jmmv <jmmv@google.com> | 2018-06-07 20:04:23 -0700 |
---|---|---|
committer | Copybara-Service <copybara-piper@google.com> | 2018-06-07 20:05:39 -0700 |
commit | 5df8eb24f84a6943e70876c805c77f06e719dcd7 (patch) | |
tree | ec940fa8c3de452e746045df38747d0d2179727d /src | |
parent | 499503bbfe192f109f05270e5391265c0cd0966f (diff) |
Automated rollback of commit ccaccb2b277a82f7264567563a02ab133a0f6e6f.
*** Reason for rollback ***
Suspected root cause behind tons of Blaze nightly failures.
One example:
[]
*** Original change description ***
Let blaze obfuscate manual main_dex_list according to proguard map.
PiperOrigin-RevId: 199737371
Diffstat (limited to 'src')
4 files changed, 1 insertions, 64 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/rules/android/AndroidBinary.java b/src/main/java/com/google/devtools/build/lib/rules/android/AndroidBinary.java index f00416a711..96d4fb3e71 100644 --- a/src/main/java/com/google/devtools/build/lib/rules/android/AndroidBinary.java +++ b/src/main/java/com/google/devtools/build/lib/rules/android/AndroidBinary.java @@ -1044,9 +1044,6 @@ public abstract class AndroidBinary implements RuleConfiguredTargetFactory { proguardedJar, mainDexProguardSpec, proguardOutputMap); - } else if (multidexMode == MultidexMode.MANUAL_MAIN_DEX) { - mainDexList = - transformDexListThroughProguardMapAction(ruleContext, proguardOutputMap, mainDexList); } Artifact classesDex = getDxArtifact(ruleContext, "classes.dex.zip"); @@ -1794,32 +1791,6 @@ public abstract class AndroidBinary implements RuleConfiguredTargetFactory { return mainDexList; } - /** Transforms manual main_dex_list through proguard obfuscation map. */ - static Artifact transformDexListThroughProguardMapAction( - RuleContext ruleContext, @Nullable Artifact proguardOutputMap, Artifact mainDexList) - throws InterruptedException { - if (proguardOutputMap == null) { - return mainDexList; - } - Artifact obfuscatedMainDexList = AndroidBinary.getDxArtifact(ruleContext, "main_dex_list.txt"); - SpawnAction.Builder actionBuilder = - new SpawnAction.Builder() - .setMnemonic("MainDexProguardClasses") - .setProgressMessage("Obfuscating main dex classes list") - .setExecutable(ruleContext.getExecutablePrerequisite("$dex_list_obfuscator", Mode.HOST)) - .addInput(mainDexList) - .addInput(proguardOutputMap) - .addOutput(obfuscatedMainDexList) - .addCommandLine( - CustomCommandLine.builder() - .addExecPath("--input", mainDexList) - .addExecPath("--output", obfuscatedMainDexList) - .addExecPath("--obfuscation_map", proguardOutputMap) - .build()); - ruleContext.registerAction(actionBuilder.build(ruleContext)); - return obfuscatedMainDexList; - } - public static Artifact createMainDexProguardSpec(Label label, ActionConstructionContext context) { return ProguardHelper.getProguardConfigArtifact(label, context, "main_dex"); } diff --git a/src/main/java/com/google/devtools/build/lib/rules/android/AndroidRuleClasses.java b/src/main/java/com/google/devtools/build/lib/rules/android/AndroidRuleClasses.java index a9264b0c62..1c5d0116eb 100644 --- a/src/main/java/com/google/devtools/build/lib/rules/android/AndroidRuleClasses.java +++ b/src/main/java/com/google/devtools/build/lib/rules/android/AndroidRuleClasses.java @@ -944,11 +944,6 @@ public final class AndroidRuleClasses { .add(attr("proguard_apply_dictionary", LABEL).legacyAllowAnyFileType()) .add(attr(":extra_proguard_specs", LABEL_LIST).value(JavaSemantics.EXTRA_PROGUARD_SPECS)) .add( - attr("$dex_list_obfuscator", LABEL) - .cfg(HostTransition.INSTANCE) - .exec() - .value(env.getToolsLabel("//tools/android:dex_list_obfuscator"))) - .add( attr(":bytecode_optimizers", LABEL_LIST) .cfg(HostTransition.INSTANCE) .value(JavaSemantics.BYTECODE_OPTIMIZERS)) 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 3b7579909b..af2220d0f6 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,8 +272,7 @@ 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("sh_binary(name = 'dex_list_obfuscator', srcs = ['empty.sh'])"); + .add("android_tools_defaults_jar(name = 'android_jar')"); 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 6c17d9465c..f894e4d32b 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,34 +180,6 @@ 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',", |