Remove sdk_version_for_platform from ctx.fragments.apple .
Progress towards #3424.
RELNOTES[INC]: ctx.fragments.apple.sdk_version_for_platform is not supported anymore. The same information is accessible through the target @bazel_tools//tools/osx:current_xcode_config: point an implicit attribute to it (i.e. attr.label(default=Label("@bazel_tools//tools/osx:current_xcode_config")) then use ctx.attr._xcode_config[apple_common].XcodeVersionConfig].sdk_version_for_platform .
PiperOrigin-RevId: 171652446
diff --git a/src/main/java/com/google/devtools/build/lib/rules/apple/AppleConfiguration.java b/src/main/java/com/google/devtools/build/lib/rules/apple/AppleConfiguration.java
index 24a31d6..fd39b65 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/apple/AppleConfiguration.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/apple/AppleConfiguration.java
@@ -204,29 +204,14 @@
/**
- * Returns the SDK version for ios SDKs (whether they be for simulator or device). This is
- * directly derived from --ios_sdk_version.
- *
- * @deprecated use {@link XcodeConfig#getSdkVersionForPlatform(RuleContext, ApplePlatform)}
- */
- // Bug tracking the removal of this method: https://github.com/bazelbuild/bazel/issues/3424
- @Deprecated public DottedVersion getIosSdkVersion() {
- return getSdkVersionForPlatform(ApplePlatform.IOS_DEVICE);
- }
-
- /**
* Returns the SDK version for a platform (whether they be for simulator or device). This is
* directly derived from command line args.
*
* @deprecated use {@link XcodeConfig#getSdkVersionForPlatform(RuleContext, ApplePlatform)}
*/
- @SkylarkCallable(
- name = "sdk_version_for_platform",
- doc = "The version of the platform SDK that will be used to build targets for the given "
- + "platform.")
@Deprecated
// Bug tracking the removal of this method: https://github.com/bazelbuild/bazel/issues/3424
- public DottedVersion getSdkVersionForPlatform(ApplePlatform platform) {
+ private DottedVersion getSdkVersionForPlatform(ApplePlatform platform) {
switch (platform) {
case IOS_DEVICE:
case IOS_SIMULATOR:
diff --git a/src/main/java/com/google/devtools/build/lib/rules/apple/XcodeConfig.java b/src/main/java/com/google/devtools/build/lib/rules/apple/XcodeConfig.java
index 0323a05..9749a9e 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/apple/XcodeConfig.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/apple/XcodeConfig.java
@@ -353,13 +353,7 @@
XcodeConfigRule.XCODE_CONFIG_ATTR_NAME,
RuleConfiguredTarget.Mode.TARGET,
XcodeConfigProvider.PROVIDER);
- DottedVersion fromProvider = versions.getSdkVersionForPlatform(platform);
- DottedVersion fromConfig = ruleContext.getFragment(AppleConfiguration.class)
- .getSdkVersionForPlatform(platform);
- // This sanity check is there to keep this provider in sync with AppleConfiguration until the
- // latter can be removed. Tracking bug: https://github.com/bazelbuild/bazel/issues/3424
- Preconditions.checkState(fromProvider.equals(fromConfig));
- return fromProvider;
+ return versions.getSdkVersionForPlatform(platform);
}
/**
diff --git a/src/test/java/com/google/devtools/build/lib/rules/objc/ObjcSkylarkTest.java b/src/test/java/com/google/devtools/build/lib/rules/objc/ObjcSkylarkTest.java
index 10d60a9..9a2fdf2 100644
--- a/src/test/java/com/google/devtools/build/lib/rules/objc/ObjcSkylarkTest.java
+++ b/src/test/java/com/google/devtools/build/lib/rules/objc/ObjcSkylarkTest.java
@@ -262,9 +262,10 @@
" xcode_config = ctx.attr._xcode_config[apple_common.XcodeVersionConfig]",
" cpu = ctx.fragments.apple.ios_cpu()",
" platform = ctx.fragments.apple.ios_cpu_platform()",
+ " xcode_config = ctx.attr._xcode_config[apple_common.XcodeVersionConfig]",
" env = ctx.fragments.apple.target_apple_env(platform)",
" xcode_version = xcode_config.xcode_version()",
- " sdk_version = ctx.fragments.apple.sdk_version_for_platform(platform)",
+ " sdk_version = xcode_config.sdk_version_for_platform(platform)",
" single_arch_platform = ctx.fragments.apple.single_arch_platform",
" single_arch_cpu = ctx.fragments.apple.single_arch_cpu",
" platform_type = single_arch_platform.platform_type",