aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorGravatar John Cater <jcater@google.com>2017-07-28 16:28:32 +0200
committerGravatar Dmitry Lomov <dslomov@google.com>2017-07-31 16:32:06 +0200
commitbb87c12dda25ebad124907625a9cdb973cf9e1f2 (patch)
tree6ed36049953345f96aacb43f126299536962b1a1
parentc8331a7af24eca1ab8b8997589f1ea07ee5220e5 (diff)
Remove the type data from ToolchainInfo, it is reduntant with DeclaredToolchainInfo.
Fixes #3458. Change-Id: I24dd6d9d24432b9aaf0229de658f07e465ad63cb PiperOrigin-RevId: 163466882
-rw-r--r--src/main/java/com/google/devtools/build/lib/analysis/platform/ToolchainInfo.java34
-rw-r--r--src/test/java/com/google/devtools/build/lib/analysis/platform/ToolchainInfoTest.java12
-rw-r--r--src/test/java/com/google/devtools/build/lib/rules/platform/ToolchainTest.java3
-rw-r--r--src/test/java/com/google/devtools/build/lib/rules/platform/ToolchainTestCase.java1
-rwxr-xr-xsrc/test/shell/bazel/toolchain_test.sh4
5 files changed, 12 insertions, 42 deletions
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 16e5a857ac..d8d1282ef4 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
@@ -16,7 +16,6 @@ package com.google.devtools.build.lib.analysis.platform;
import com.google.common.collect.ImmutableList;
import com.google.common.collect.ImmutableMap;
-import com.google.devtools.build.lib.cmdline.Label;
import com.google.devtools.build.lib.concurrent.ThreadSafety.Immutable;
import com.google.devtools.build.lib.events.Location;
import com.google.devtools.build.lib.packages.NativeClassObjectConstructor;
@@ -49,13 +48,12 @@ public class ToolchainInfo extends SkylarkClassObject {
FunctionSignature.of(
/*numMandatoryPositionals=*/ 0,
/*numOptionalPositionals=*/ 0,
- /*numMandatoryNamedOnly*/ 1,
+ /*numMandatoryNamedOnly*/ 0,
/*starArg=*/ false,
/*kwArg=*/ true,
- /*names=*/ "type",
- "data"),
+ /*names=*/ "data"),
/*defaultValues=*/ null,
- /*types=*/ ImmutableList.<SkylarkType>of(SkylarkType.of(Label.class), SkylarkType.DICT));
+ /*types=*/ ImmutableList.<SkylarkType>of(SkylarkType.DICT));
/** Skylark constructor and identifier for this provider. */
public static final NativeClassObjectConstructor<ToolchainInfo> SKYLARK_CONSTRUCTOR =
@@ -64,34 +62,24 @@ public class ToolchainInfo extends SkylarkClassObject {
@Override
protected ToolchainInfo createInstanceFromSkylark(Object[] args, Location loc)
throws EvalException {
- // Based on SIGNATURE above, the args are label, map.
- Label type = (Label) args[0];
Map<String, Object> data =
- SkylarkDict.castSkylarkDictOrNoneToDict(args[1], String.class, Object.class, "data");
- return ToolchainInfo.create(type, data, loc);
+ SkylarkDict.castSkylarkDictOrNoneToDict(args[0], String.class, Object.class, "data");
+ return ToolchainInfo.create(data, loc);
}
};
- private final Label type;
-
- private ToolchainInfo(Label type, Map<String, Object> toolchainData, Location loc) {
+ private ToolchainInfo(Map<String, Object> toolchainData, Location loc) {
super(
SKYLARK_CONSTRUCTOR,
- ImmutableMap.<String, Object>builder().put("type", type).putAll(toolchainData).build(),
+ ImmutableMap.<String, Object>builder().putAll(toolchainData).build(),
loc);
-
- this.type = type;
- }
-
- public Label type() {
- return type;
}
- public static ToolchainInfo create(Label type, Map<String, Object> toolchainData) {
- return create(type, toolchainData, Location.BUILTIN);
+ public static ToolchainInfo create(Map<String, Object> toolchainData) {
+ return create(toolchainData, Location.BUILTIN);
}
- public static ToolchainInfo create(Label type, Map<String, Object> toolchainData, Location loc) {
- return new ToolchainInfo(type, toolchainData, loc);
+ public static ToolchainInfo create(Map<String, Object> toolchainData, Location loc) {
+ return new ToolchainInfo(toolchainData, loc);
}
}
diff --git a/src/test/java/com/google/devtools/build/lib/analysis/platform/ToolchainInfoTest.java b/src/test/java/com/google/devtools/build/lib/analysis/platform/ToolchainInfoTest.java
index b37ee76666..d642994955 100644
--- a/src/test/java/com/google/devtools/build/lib/analysis/platform/ToolchainInfoTest.java
+++ b/src/test/java/com/google/devtools/build/lib/analysis/platform/ToolchainInfoTest.java
@@ -35,7 +35,6 @@ public class ToolchainInfoTest extends BuildViewTestCase {
"test/toolchain/my_toolchain.bzl",
"def _impl(ctx):",
" toolchain = platform_common.ToolchainInfo(",
- " type = Label('//test/toolchain:my_toolchain_type'),",
" extra_label = ctx.attr.extra_label,",
" extra_str = ctx.attr.extra_str)",
" return [toolchain]",
@@ -61,8 +60,6 @@ public class ToolchainInfoTest extends BuildViewTestCase {
ToolchainInfo provider = PlatformProviderUtils.toolchain(toolchain);
assertThat(provider).isNotNull();
- assertThat(provider.type()).isEqualTo(makeLabel("//test/toolchain:my_toolchain_type"));
-
ConfiguredTarget extraLabel = (ConfiguredTarget) provider.getValue("extra_label");
assertThat(extraLabel).isNotNull();
assertThat(extraLabel.getLabel()).isEqualTo(makeLabel("//test/toolchain:dep"));
@@ -75,23 +72,14 @@ public class ToolchainInfoTest extends BuildViewTestCase {
.addEqualityGroup(
// Base case.
ToolchainInfo.create(
- makeLabel("//toolchain:tc1"),
ImmutableMap.<String, Object>of("foo", "val1", "bar", "val2"),
Location.BUILTIN),
ToolchainInfo.create(
- makeLabel("//toolchain:tc1"),
- ImmutableMap.<String, Object>of("foo", "val1", "bar", "val2"),
- Location.BUILTIN))
- .addEqualityGroup(
- // Different type.
- ToolchainInfo.create(
- makeLabel("//toolchain:tc2"),
ImmutableMap.<String, Object>of("foo", "val1", "bar", "val2"),
Location.BUILTIN))
.addEqualityGroup(
// Different data.
ToolchainInfo.create(
- makeLabel("//toolchain:tc1"),
ImmutableMap.<String, Object>of("foo", "val1", "bar", "val3"),
Location.BUILTIN))
.testEquals();
diff --git a/src/test/java/com/google/devtools/build/lib/rules/platform/ToolchainTest.java b/src/test/java/com/google/devtools/build/lib/rules/platform/ToolchainTest.java
index e00314b84e..c58af1f069 100644
--- a/src/test/java/com/google/devtools/build/lib/rules/platform/ToolchainTest.java
+++ b/src/test/java/com/google/devtools/build/lib/rules/platform/ToolchainTest.java
@@ -48,15 +48,12 @@ public class ToolchainTest extends BuildViewTestCase {
scratch.file(
"toolchain/toolchain_def.bzl",
"def _impl(ctx):",
- " toolchain_type = ctx.attr._toolchain_type[platform_common.ToolchainTypeInfo]",
" toolchain = platform_common.ToolchainInfo(",
- " type = toolchain_type,",
" data = ctx.attr.data)",
" return [toolchain]",
"toolchain_def = rule(",
" implementation = _impl,",
" attrs = {",
- " '_toolchain_type': attr.label(default = Label('//toolchain:demo_toolchain')),",
" 'data': attr.string()})");
scratch.file(
"toolchain/BUILD",
diff --git a/src/test/java/com/google/devtools/build/lib/rules/platform/ToolchainTestCase.java b/src/test/java/com/google/devtools/build/lib/rules/platform/ToolchainTestCase.java
index 3b9548d9a6..bea2f5f227 100644
--- a/src/test/java/com/google/devtools/build/lib/rules/platform/ToolchainTestCase.java
+++ b/src/test/java/com/google/devtools/build/lib/rules/platform/ToolchainTestCase.java
@@ -89,7 +89,6 @@ public abstract class ToolchainTestCase extends SkylarkTestCase {
"toolchain/toolchain_def.bzl",
"def _impl(ctx):",
" toolchain = platform_common.ToolchainInfo(",
- " type = Label('//toolchain:test_toolchain'),",
" data = ctx.attr.data)",
" return [toolchain]",
"test_toolchain = rule(",
diff --git a/src/test/shell/bazel/toolchain_test.sh b/src/test/shell/bazel/toolchain_test.sh
index 6490bf2d13..19739d3631 100755
--- a/src/test/shell/bazel/toolchain_test.sh
+++ b/src/test/shell/bazel/toolchain_test.sh
@@ -52,7 +52,6 @@ function write_test_toolchain() {
cat >> toolchain/toolchain.bzl <<EOF
def _test_toolchain_impl(ctx):
toolchain = platform_common.ToolchainInfo(
- type = Label('//toolchain:test_toolchain'),
extra_label = ctx.attr.extra_label,
extra_str = ctx.attr.extra_str)
return [toolchain]
@@ -153,13 +152,12 @@ test_toolchain(
)
report_toolchain(
name = 'report',
- fields = ['type', 'extra_label', 'extra_str'],
+ fields = ['extra_label', 'extra_str'],
toolchain = ':linux_toolchain',
)
EOF
bazel build //:report &> $TEST_log || fail "Build failed"
- expect_log 'type = "//toolchain:test_toolchain"'
expect_log 'extra_label = "//:dep_rule"'
expect_log 'extra_str = "bar"'
}