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.