diff options
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib')
3 files changed, 24 insertions, 8 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/rules/apple/XcodeVersion.java b/src/main/java/com/google/devtools/build/lib/rules/apple/XcodeVersion.java index c0929ea4ee..7d94b725d8 100644 --- a/src/main/java/com/google/devtools/build/lib/rules/apple/XcodeVersion.java +++ b/src/main/java/com/google/devtools/build/lib/rules/apple/XcodeVersion.java @@ -18,7 +18,6 @@ import com.google.devtools.build.lib.analysis.ConfiguredTarget; import com.google.devtools.build.lib.analysis.RuleConfiguredTargetBuilder; import com.google.devtools.build.lib.analysis.RuleContext; import com.google.devtools.build.lib.analysis.RunfilesProvider; -import com.google.devtools.build.lib.packages.RuleClass.ConfiguredTargetFactory.RuleErrorException; import com.google.devtools.build.lib.rules.RuleConfiguredTargetFactory; /** diff --git a/src/main/java/com/google/devtools/build/lib/rules/apple/XcodeVersionRule.java b/src/main/java/com/google/devtools/build/lib/rules/apple/XcodeVersionRule.java index 214ba8ae99..6dcbb80dfa 100644 --- a/src/main/java/com/google/devtools/build/lib/rules/apple/XcodeVersionRule.java +++ b/src/main/java/com/google/devtools/build/lib/rules/apple/XcodeVersionRule.java @@ -34,8 +34,12 @@ public class XcodeVersionRule implements RuleDefinition { static final String DEFAULT_IOS_SDK_VERSION_ATTR_NAME = "default_ios_sdk_version"; static final String DEFAULT_WATCHOS_SDK_VERSION_ATTR_NAME = "default_watchos_sdk_version"; static final String DEFAULT_TVOS_SDK_VERSION_ATTR_NAME = "default_tvos_sdk_version"; - static final String DEFAULT_MACOSX_SDK_VERSION_ATTR_NAME = "default_macosx_sdk_version"; - + // TODO(b/37508376): Remove in lieu of default_macos_sdk_version. + static final String DEPRECATED_DEFAULT_MACOSX_SDK_VERSION_ATTR_NAME = + "default_macosx_sdk_version"; + static final String DEFAULT_MACOS_SDK_VERSION_ATTR_NAME = + "default_macos_sdk_version"; + @Override public RuleClass build(Builder builder, RuleDefinitionEnvironment env) { return builder @@ -73,11 +77,13 @@ public class XcodeVersionRule implements RuleDefinition { <!-- #END_BLAZE_RULE.ATTRIBUTE --> */ .add(attr(DEFAULT_TVOS_SDK_VERSION_ATTR_NAME, STRING) .nonconfigurable("this rule determines configuration")) - /* <!-- #BLAZE_RULE(xcode_version).ATTRIBUTE(default_macosx_sdk_version) --> + /* <!-- #BLAZE_RULE(xcode_version).ATTRIBUTE(default_macos_sdk_version) --> The macosx sdk version that is used by default when this version of xcode is being used. - The <code>macosx_sdk_version</code> build flag will override the value specified here. + The <code>macos_sdk_version</code> build flag will override the value specified here. <!-- #END_BLAZE_RULE.ATTRIBUTE --> */ - .add(attr(DEFAULT_MACOSX_SDK_VERSION_ATTR_NAME, STRING) + .add(attr(DEFAULT_MACOS_SDK_VERSION_ATTR_NAME, STRING) + .nonconfigurable("this rule determines configuration")) + .add(attr(DEPRECATED_DEFAULT_MACOSX_SDK_VERSION_ATTR_NAME, STRING) .nonconfigurable("this rule determines configuration")) .build(); } diff --git a/src/main/java/com/google/devtools/build/lib/rules/apple/XcodeVersionRuleData.java b/src/main/java/com/google/devtools/build/lib/rules/apple/XcodeVersionRuleData.java index 020caf34e2..7a40726cb5 100644 --- a/src/main/java/com/google/devtools/build/lib/rules/apple/XcodeVersionRuleData.java +++ b/src/main/java/com/google/devtools/build/lib/rules/apple/XcodeVersionRuleData.java @@ -14,6 +14,7 @@ package com.google.devtools.build.lib.rules.apple; +import com.google.common.base.Strings; import com.google.common.collect.ImmutableList; import com.google.devtools.build.lib.cmdline.Label; import com.google.devtools.build.lib.packages.NonconfigurableAttributeMapper; @@ -51,8 +52,7 @@ public class XcodeVersionRuleData { attrMapper.get(XcodeVersionRule.DEFAULT_WATCHOS_SDK_VERSION_ATTR_NAME, Type.STRING); String tvosSdkVersionString = attrMapper.get(XcodeVersionRule.DEFAULT_TVOS_SDK_VERSION_ATTR_NAME, Type.STRING); - String macosxSdkVersionString = - attrMapper.get(XcodeVersionRule.DEFAULT_MACOSX_SDK_VERSION_ATTR_NAME, Type.STRING); + String macosxSdkVersionString = getMacosSdkVersionString(attrMapper); this.version = xcodeVersion; this.xcodeVersionProperties = new XcodeVersionProperties(xcodeVersion, iosSdkVersionString, watchosSdkVersionString, tvosSdkVersionString, macosxSdkVersionString); @@ -87,4 +87,15 @@ public class XcodeVersionRuleData { public List<String> getAliases() { return aliases; } + + private static String getMacosSdkVersionString(NonconfigurableAttributeMapper attrMapper) { + String versionAttr = + attrMapper.get(XcodeVersionRule.DEFAULT_MACOS_SDK_VERSION_ATTR_NAME, Type.STRING); + if (Strings.isNullOrEmpty(versionAttr)) { + return attrMapper.get(XcodeVersionRule.DEPRECATED_DEFAULT_MACOSX_SDK_VERSION_ATTR_NAME, + Type.STRING); + } else { + return versionAttr; + } + } } |