Automated rollback of commit 3e79b0dbd93deeb3a2d970371f1b72845613ac06.

*** Reason for rollback ***

need a dummy toolchain

*** Original change description ***

Add BazelSdkToolchainRule and GoogleSdkToolchainRule as ancestors to rules that currently access the AndroidSdkProvider from the :android_sdk attr.

This requires a lot of test infrastructure updates.

PiperOrigin-RevId: 332270984
diff --git a/src/main/java/com/google/devtools/build/lib/analysis/platform/ToolchainInfo.java b/src/main/java/com/google/devtools/build/lib/analysis/platform/ToolchainInfo.java
index cdc2915..c4593eb 100644
--- a/src/main/java/com/google/devtools/build/lib/analysis/platform/ToolchainInfo.java
+++ b/src/main/java/com/google/devtools/build/lib/analysis/platform/ToolchainInfo.java
@@ -69,11 +69,6 @@
     this.values = copyValues(values);
   }
 
-  public ToolchainInfo(Map<String, Object> values) {
-    super(PROVIDER, Location.BUILTIN);
-    this.values = copyValues(values);
-  }
-
   /**
    * Preprocesses a map of field values to convert the field names and field values to
    * Starlark-acceptable names and types.
diff --git a/src/main/java/com/google/devtools/build/lib/bazel/rules/android/BazelAarImportRule.java b/src/main/java/com/google/devtools/build/lib/bazel/rules/android/BazelAarImportRule.java
index a08bbd3..db7e47d 100644
--- a/src/main/java/com/google/devtools/build/lib/bazel/rules/android/BazelAarImportRule.java
+++ b/src/main/java/com/google/devtools/build/lib/bazel/rules/android/BazelAarImportRule.java
@@ -36,7 +36,7 @@
   public Metadata getMetadata() {
     return RuleDefinition.Metadata.builder()
         .name("aar_import")
-        .ancestors(AarImportBaseRule.class, JavaBaseRule.class, BazelSdkToolchainRule.class)
+        .ancestors(AarImportBaseRule.class, JavaBaseRule.class)
         .factoryClass(BazelAarImport.class)
         .build();
   }
diff --git a/src/main/java/com/google/devtools/build/lib/bazel/rules/android/BazelAndroidBinaryRule.java b/src/main/java/com/google/devtools/build/lib/bazel/rules/android/BazelAndroidBinaryRule.java
index 9fe858a..5897f71 100644
--- a/src/main/java/com/google/devtools/build/lib/bazel/rules/android/BazelAndroidBinaryRule.java
+++ b/src/main/java/com/google/devtools/build/lib/bazel/rules/android/BazelAndroidBinaryRule.java
@@ -88,7 +88,6 @@
         .ancestors(
             AndroidRuleClasses.AndroidBinaryBaseRule.class,
             BazelJavaRuleClasses.JavaBaseRule.class,
-            BazelSdkToolchainRule.class,
             CcToolchainRequiringRule.class)
         .factoryClass(BazelAndroidBinary.class)
         .build();
diff --git a/src/main/java/com/google/devtools/build/lib/bazel/rules/android/BazelAndroidInstrumentationTestRule.java b/src/main/java/com/google/devtools/build/lib/bazel/rules/android/BazelAndroidInstrumentationTestRule.java
index b5cb483..e7ad444 100644
--- a/src/main/java/com/google/devtools/build/lib/bazel/rules/android/BazelAndroidInstrumentationTestRule.java
+++ b/src/main/java/com/google/devtools/build/lib/bazel/rules/android/BazelAndroidInstrumentationTestRule.java
@@ -42,7 +42,6 @@
         .ancestors(
             AndroidInstrumentationTestBaseRule.class,
             AndroidRuleClasses.AndroidBaseRule.class,
-            BazelSdkToolchainRule.class,
             BaseRuleClasses.TestBaseRule.class)
         .factoryClass(BazelAndroidInstrumentationTest.class)
         .build();
diff --git a/src/main/java/com/google/devtools/build/lib/bazel/rules/android/BazelAndroidLibraryRule.java b/src/main/java/com/google/devtools/build/lib/bazel/rules/android/BazelAndroidLibraryRule.java
index 6eecbd9..5000c67 100644
--- a/src/main/java/com/google/devtools/build/lib/bazel/rules/android/BazelAndroidLibraryRule.java
+++ b/src/main/java/com/google/devtools/build/lib/bazel/rules/android/BazelAndroidLibraryRule.java
@@ -56,8 +56,7 @@
         .name("android_library")
         .ancestors(
             BazelJavaRuleClasses.JavaBaseRule.class,
-            AndroidLibraryBaseRule.class,
-            BazelSdkToolchainRule.class)
+            AndroidLibraryBaseRule.class)
         .factoryClass(BazelAndroidLibrary.class)
         .build();
   }
diff --git a/src/main/java/com/google/devtools/build/lib/rules/android/AndroidSdkBase.java b/src/main/java/com/google/devtools/build/lib/rules/android/AndroidSdkBase.java
index 911e440..8d0f2d9 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/android/AndroidSdkBase.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/android/AndroidSdkBase.java
@@ -13,7 +13,6 @@
 // limitations under the License.
 package com.google.devtools.build.lib.rules.android;
 
-import com.google.common.collect.ImmutableMap;
 import com.google.devtools.build.lib.actions.Artifact;
 import com.google.devtools.build.lib.actions.MutableActionGraph.ActionConflictException;
 import com.google.devtools.build.lib.analysis.ConfiguredTarget;
@@ -23,7 +22,6 @@
 import com.google.devtools.build.lib.analysis.RuleContext;
 import com.google.devtools.build.lib.analysis.RunfilesProvider;
 import com.google.devtools.build.lib.analysis.TransitiveInfoCollection;
-import com.google.devtools.build.lib.analysis.platform.ToolchainInfo;
 import com.google.devtools.build.lib.collect.nestedset.NestedSetBuilder;
 import com.google.devtools.build.lib.collect.nestedset.Order;
 import com.google.devtools.build.lib.packages.AggregatingAttributeMapper;
@@ -76,30 +74,27 @@
       return null;
     }
 
-    AndroidSdkProvider sdk =
-        new AndroidSdkProvider(
-            buildToolsVersion,
-            frameworkAidl,
-            aidlLib,
-            androidJar,
-            sourceProperties,
-            shrinkedAndroidJar,
-            mainDexClasses,
-            adb,
-            dx,
-            mainDexListCreator,
-            aidl,
-            aapt,
-            aapt2,
-            apkBuilder,
-            apkSigner,
-            proguard,
-            zipalign,
-            /* system= */ null);
-
     return new RuleConfiguredTargetBuilder(ruleContext)
-        .addNativeDeclaredProvider(sdk)
-        .addNativeDeclaredProvider(new ToolchainInfo(ImmutableMap.of("android_sdk_info", sdk)))
+        .addNativeDeclaredProvider(
+            new AndroidSdkProvider(
+                buildToolsVersion,
+                frameworkAidl,
+                aidlLib,
+                androidJar,
+                sourceProperties,
+                shrinkedAndroidJar,
+                mainDexClasses,
+                adb,
+                dx,
+                mainDexListCreator,
+                aidl,
+                aapt,
+                aapt2,
+                apkBuilder,
+                apkSigner,
+                proguard,
+                zipalign,
+                /* system= */ null))
         .addProvider(RunfilesProvider.class, RunfilesProvider.EMPTY)
         .setFilesToBuild(NestedSetBuilder.<Artifact>emptySet(Order.STABLE_ORDER))
         .build();
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 4ec359b..f0c6304 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
@@ -87,7 +87,6 @@
             "bind(name = 'android/sdk', actual='@bazel_tools//tools/android:sdk')",
             "register_toolchains('@bazel_tools//tools/cpp:all')",
             "register_toolchains('@bazel_tools//tools/jdk:all')",
-            "register_toolchains('@bazel_tools//tools/android:all')",
             "register_toolchains('@bazel_tools//tools/python:autodetecting_toolchain')",
             "local_repository(name = 'local_config_platform', path = '"
                 + localConfigPlatformWorkspace
@@ -339,11 +338,6 @@
 
     androidBuildContents.add(
         "toolchain_type(name = 'sdk_toolchain_type')",
-        "toolchain(",
-        "  name = 'sdk_toolchain',",
-        "  toolchain = ':sdk',",
-        "  toolchain_type = ':sdk_toolchain_type',",
-        ")",
         "android_sdk(",
         "    name = 'sdk',",
         "    aapt = ':static_aapt_tool',",
diff --git a/src/test/shell/testenv.sh b/src/test/shell/testenv.sh
index a0ad144..8d84f01 100755
--- a/src/test/shell/testenv.sh
+++ b/src/test/shell/testenv.sh
@@ -339,13 +339,11 @@
   local android=$(dirname $android_jar)
   local platforms=$(dirname $android)
   ANDROID_SDK=$(dirname $platforms)
-
 cat >> WORKSPACE <<EOF
 android_sdk_repository(
     name = "androidsdk",
     path = "$ANDROID_SDK",
 )
-register_toolchains("//tools/android:all")
 EOF
 }
 
diff --git a/tools/android/android_sdk_repository_template.bzl b/tools/android/android_sdk_repository_template.bzl
index 3f254f5..5482b35 100644
--- a/tools/android/android_sdk_repository_template.bzl
+++ b/tools/android/android_sdk_repository_template.bzl
@@ -170,8 +170,6 @@
             toolchain = ":sdk-%d" % api_level,
         )
 
-    create_dummy_sdk_toolchain()
-
     native.alias(
         name = "org_apache_http_legacy",
         actual = ":org_apache_http_legacy-%d" % default_api_level,
@@ -317,43 +315,6 @@
     "armeabi-v7a": "arm",
 }
 
-# This is a dummy sdk toolchain that matches any platform. It will
-# fail if actually resolved to and used.
-def create_dummy_sdk_toolchain():
-    native.toolchain(
-        name = "sdk-dummy-toolchain",
-        toolchain_type = "@bazel_tools//tools/android:sdk_toolchain_type",
-        toolchain = ":sdk-dummy",
-    )
-
-    native.filegroup(name = "jar-filegroup", srcs = ["dummy.jar"])
-
-    native.genrule(
-        name = "genrule",
-        srcs = [],
-        outs = ["empty.sh"],
-        cmd = "echo '' >> \"$@\"",
-        executable = 1,
-    )
-
-    native.sh_binary(name = "empty-binary", srcs = [":genrule"])
-
-    native.android_sdk(
-        name = "sdk-dummy",
-        aapt = ":empty-binary",
-        adb = ":empty-binary",
-        aidl = ":empty-binary",
-        android_jar = ":jar-filegroup",
-        apksigner = ":empty-binary",
-        dx = ":empty-binary",
-        framework_aidl = "dummy.jar",
-        main_dex_classes = "dummy.jar",
-        main_dex_list_creator = ":empty-binary",
-        proguard = ":empty-binary",
-        shrinked_android_jar = "dummy.jar",
-        zipalign = ":empty-binary",
-    )
-
 def create_system_images_filegroups(system_image_dirs):
     """Generate filegroups for the system images in the Android SDK.