Automated rollback of commit 87506825333846359462f37d92b6f7bd2119f109.
*** Reason for rollback ***
Now that we've redesigned how xcode versions are going to be selected, it no longer makes sense for locality to be tagged in this way.
*** Original change description ***
Extend XcodeVersionRule to tag Xcode versions with their origin (local or remote).
RELNOTES: None.
PiperOrigin-RevId: 282052225
diff --git a/src/main/java/com/google/devtools/build/lib/rules/apple/XcodeVersionProperties.java b/src/main/java/com/google/devtools/build/lib/rules/apple/XcodeVersionProperties.java
index 589d23d..0d9bd86 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/apple/XcodeVersionProperties.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/apple/XcodeVersionProperties.java
@@ -39,7 +39,6 @@
@VisibleForTesting public static final String DEFAULT_MACOS_SDK_VERSION = "10.10";
@VisibleForTesting public static final String DEFAULT_TVOS_SDK_VERSION = "9.0";
- private final boolean isLocal;
private final Optional<DottedVersion> xcodeVersion;
private final DottedVersion defaultIosSdkVersion;
private final DottedVersion defaultWatchosSdkVersion;
@@ -63,7 +62,7 @@
* specified.
*/
XcodeVersionProperties(DottedVersion xcodeVersion) {
- this(xcodeVersion, true, null, null, null, null);
+ this(xcodeVersion, null, null, null, null);
}
/**
@@ -72,14 +71,12 @@
*/
XcodeVersionProperties(
DottedVersion xcodeVersion,
- boolean isLocal,
@Nullable String defaultIosSdkVersion,
@Nullable String defaultWatchosSdkVersion,
@Nullable String defaultTvosSdkVersion,
@Nullable String defaultMacosSdkVersion) {
super(SKYLARK_CONSTRUCTOR);
this.xcodeVersion = Optional.fromNullable(xcodeVersion);
- this.isLocal = isLocal;
this.defaultIosSdkVersion =
Strings.isNullOrEmpty(defaultIosSdkVersion)
? DottedVersion.fromStringUnchecked(DEFAULT_IOS_SDK_VERSION)
@@ -107,7 +104,6 @@
return null;
}
-
/** Returns the default ios sdk version to use if this xcode version is in use. */
@Override
public String getDefaultIosSdkVersionString() {
@@ -137,11 +133,6 @@
return xcodeVersion;
}
- @Override
- public boolean isLocal() {
- return isLocal;
- }
-
@Nullable
public DottedVersion getDefaultIosSdkVersion() {
return defaultIosSdkVersion;
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 e6467f4..2f6d0af 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
@@ -15,7 +15,6 @@
package com.google.devtools.build.lib.rules.apple;
import static com.google.devtools.build.lib.packages.Attribute.attr;
-import static com.google.devtools.build.lib.packages.Type.BOOLEAN;
import static com.google.devtools.build.lib.packages.Type.STRING;
import static com.google.devtools.build.lib.packages.Type.STRING_LIST;
@@ -31,7 +30,6 @@
static final String VERSION_ATTR_NAME = "version";
static final String ALIASES_ATTR_NAME = "aliases";
- static final String IS_LOCAL_ATTR_NAME = "is_local";
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";
@@ -58,13 +56,7 @@
.add(
attr(ALIASES_ATTR_NAME, STRING_LIST)
.nonconfigurable("this rule determines configuration"))
- /* <!-- #BLAZE_RULE(xcode_version).ATTRIBUTE(is_local) -->
- Whether this xcode version originated locally.
- <!-- #END_BLAZE_RULE.ATTRIBUTE --> */
- .add(
- attr(IS_LOCAL_ATTR_NAME, BOOLEAN)
- .nonconfigurable("this rule determines configuration")
- .value(true))
+
/* <!-- #BLAZE_RULE(xcode_version).ATTRIBUTE(default_ios_sdk_version) -->
The ios sdk version that is used by default when this version of xcode is being used.
The <code>ios_sdk_version</code> build flag will override the value specified here.
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 4bffc23..4d645de 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
@@ -48,7 +48,6 @@
DottedVersion xcodeVersion =
DottedVersion.fromStringUnchecked(
attrMapper.get(XcodeVersionRule.VERSION_ATTR_NAME, Type.STRING));
- boolean isLocal = attrMapper.get(XcodeVersionRule.IS_LOCAL_ATTR_NAME, Type.BOOLEAN);
String iosSdkVersionString =
attrMapper.get(XcodeVersionRule.DEFAULT_IOS_SDK_VERSION_ATTR_NAME, Type.STRING);
String watchosSdkVersionString =
@@ -61,7 +60,6 @@
this.xcodeVersionProperties =
new XcodeVersionProperties(
xcodeVersion,
- isLocal,
iosSdkVersionString,
watchosSdkVersionString,
tvosSdkVersionString,
diff --git a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/apple/XcodePropertiesApi.java b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/apple/XcodePropertiesApi.java
index ce99f14..3626d3d 100644
--- a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/apple/XcodePropertiesApi.java
+++ b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/apple/XcodePropertiesApi.java
@@ -40,13 +40,6 @@
public String getXcodeVersionString();
@SkylarkCallable(
- name = "is_local",
- doc = "Whether this xcode came from the user's machine. Defaults to true (local) if unknown.",
- structField = true,
- allowReturnNones = true)
- public boolean isLocal();
-
- @SkylarkCallable(
name = "default_ios_sdk_version",
doc = "The default iOS sdk version for this version of xcode, or <code>None</code> if "
+ "unknown.",
diff --git a/src/test/java/com/google/devtools/build/lib/rules/apple/XcodeVersionTest.java b/src/test/java/com/google/devtools/build/lib/rules/apple/XcodeVersionTest.java
index 247ae04..663674d 100644
--- a/src/test/java/com/google/devtools/build/lib/rules/apple/XcodeVersionTest.java
+++ b/src/test/java/com/google/devtools/build/lib/rules/apple/XcodeVersionTest.java
@@ -15,7 +15,6 @@
package com.google.devtools.build.lib.rules.apple;
import static com.google.common.truth.Truth.assertThat;
-import static com.google.devtools.build.lib.testutil.MoreAsserts.assertThrows;
import com.google.common.collect.ImmutableMap;
import com.google.devtools.build.lib.analysis.ConfiguredTarget;
@@ -44,14 +43,12 @@
"def my_rule_impl(ctx):",
" xcode_properties = ctx.attr.xcode[apple_common.XcodeProperties]",
" xcode_version = xcode_properties.xcode_version",
- " is_local = xcode_properties.is_local",
" ios_version = xcode_properties.default_ios_sdk_version",
" watchos_version = xcode_properties.default_watchos_sdk_version",
" tvos_version = xcode_properties.default_tvos_sdk_version",
" macos_version = xcode_properties.default_macos_sdk_version",
" return MyInfo(",
" xcode_version=xcode_version,",
- " is_local=is_local,",
" ios_version=ios_version,",
" watchos_version=watchos_version,",
" tvos_version=tvos_version,",
@@ -73,7 +70,6 @@
"xcode_version(",
" name = 'my_xcode',",
" version = '8',",
- " is_local = True,",
" default_ios_sdk_version = '9.0',",
" default_watchos_sdk_version = '9.1',",
" default_tvos_sdk_version = '9.2',",
@@ -87,7 +83,6 @@
Label.parseAbsolute("//examples/rule:apple_rules.bzl", ImmutableMap.of()), "MyInfo");
StructImpl myInfo = (StructImpl) skylarkTarget.get(key);
assertThat((String) myInfo.getValue("xcode_version")).isEqualTo("8");
- assertThat(String.valueOf(myInfo.getValue("is_local"))).isEqualTo("true");
assertThat((String) myInfo.getValue("ios_version")).isEqualTo("9.0");
assertThat((String) myInfo.getValue("watchos_version")).isEqualTo("9.1");
assertThat((String) myInfo.getValue("tvos_version")).isEqualTo("9.2");
@@ -95,57 +90,6 @@
}
@Test
- public void testBadXcodeLocalityThrows() throws Exception {
- scratch.file("examples/rule/BUILD");
- scratch.file(
- "examples/rule/apple_rules.bzl",
- "MyInfo = provider()",
- "def my_rule_impl(ctx):",
- " xcode_properties = ctx.attr.xcode[apple_common.XcodeProperties]",
- " xcode_version = xcode_properties.xcode_version",
- " is_local = xcode_properties.is_local",
- " ios_version = xcode_properties.default_ios_sdk_version",
- " watchos_version = xcode_properties.default_watchos_sdk_version",
- " tvos_version = xcode_properties.default_tvos_sdk_version",
- " macos_version = xcode_properties.default_macos_sdk_version",
- " return MyInfo(",
- " xcode_version=xcode_version,",
- " is_local=is_local,",
- " ios_version=ios_version,",
- " watchos_version=watchos_version,",
- " tvos_version=tvos_version,",
- " macos_version=macos_version,",
- " )",
- "my_rule = rule(implementation = my_rule_impl,",
- " attrs = {",
- " 'xcode': attr.label(),",
- " },",
- ")");
- scratch.file(
- "examples/apple_skylark/BUILD",
- "package(default_visibility = ['//visibility:public'])",
- "load('//examples/rule:apple_rules.bzl', 'my_rule')",
- "my_rule(",
- " name = 'my_target',",
- " xcode = ':my_xcode',",
- ")",
- "xcode_version(",
- " name = 'my_xcode',",
- " version = '8',",
- " is_local = true,",
- " default_ios_sdk_version = '9.0',",
- " default_watchos_sdk_version = '9.1',",
- " default_tvos_sdk_version = '9.2',",
- " default_macos_sdk_version = '9.3',",
- ")");
-
- Throwable thrown =
- assertThrows(
- AssertionError.class, () -> getConfiguredTarget("//examples/apple_skylark:my_target"));
- assertThat(thrown).hasMessageThat().contains("name 'true' is not defined");
- }
-
- @Test
public void testXcodeVersionCanBeReadFromNative() throws Exception {
scratch.file(
"examples/apple/BUILD",
@@ -153,7 +97,6 @@
"xcode_version(",
" name = 'my_xcode',",
" version = '8',",
- " is_local = False,",
" default_ios_sdk_version = '9.0',",
" default_watchos_sdk_version = '9.1',",
" default_tvos_sdk_version = '9.2',",
@@ -164,7 +107,6 @@
XcodeVersionProperties xcodeProperties =
nativeTarget.get(XcodeVersionProperties.SKYLARK_CONSTRUCTOR);
assertThat(xcodeProperties.getXcodeVersion().get().toString()).isEqualTo("8");
- assertThat(xcodeProperties.isLocal()).isFalse();
assertThat(xcodeProperties.getDefaultIosSdkVersion().toString()).isEqualTo("9.0");
assertThat(xcodeProperties.getDefaultWatchosSdkVersion().toString()).isEqualTo("9.1");
assertThat(xcodeProperties.getDefaultTvosSdkVersion().toString()).isEqualTo("9.2");