Delete CcHostToolchainAlias rule.
RELNOTES: This is a breaking change. `cc_host_toolchain_alias` rule is obsolete and can be interchangeably used with `cc_toolchain_alias` rule.
PiperOrigin-RevId: 549922106
Change-Id: I585af28fef8b63155311b43ce99633af079ba96d
diff --git a/MODULE.bazel b/MODULE.bazel
index beaff95..4c14098 100644
--- a/MODULE.bazel
+++ b/MODULE.bazel
@@ -15,7 +15,7 @@
bazel_dep(name = "stardoc", version = "0.5.3", repo_name = "io_bazel_skydoc")
bazel_dep(name = "zstd-jni", version = "1.5.2-3")
bazel_dep(name = "zlib", version = "1.2.13")
-bazel_dep(name = "rules_cc", version = "0.0.6")
+bazel_dep(name = "rules_cc", version = "0.0.8")
bazel_dep(name = "rules_java", version = "6.2.2")
bazel_dep(name = "rules_proto", version = "5.3.0-21.7")
bazel_dep(name = "rules_jvm_external", version = "5.2")
diff --git a/distdir_deps.bzl b/distdir_deps.bzl
index ff88235..cf9bd19 100644
--- a/distdir_deps.bzl
+++ b/distdir_deps.bzl
@@ -53,14 +53,14 @@
# Used in src/main/java/com/google/devtools/build/lib/bazel/rules/java/jdk.WORKSPACE.
# Used in src/test/java/com/google/devtools/build/lib/blackbox/framework/blackbox.WORKSAPCE
"rules_cc": {
- "archive": "rules_cc-0.0.6.tar.gz",
- "sha256": "3d9e271e2876ba42e114c9b9bc51454e379cbf0ec9ef9d40e2ae4cec61a31b40",
- "urls": ["https://github.com/bazelbuild/rules_cc/releases/download/0.0.6/rules_cc-0.0.6.tar.gz"],
+ "archive": "rules_cc-0.0.8.tar.gz",
+ "sha256": "ae46b722a8b8e9b62170f83bfb040cbf12adb732144e689985a66b26410a7d6f",
+ "urls": ["https://github.com/bazelbuild/rules_cc/releases/download/0.0.8/rules_cc-0.0.8.tar.gz"],
"used_in": [
"additional_distfiles",
],
- "package_version": "0.0.6",
- "strip_prefix": "rules_cc-0.0.6",
+ "package_version": "0.0.8",
+ "strip_prefix": "rules_cc-0.0.8",
},
"rules_java": {
"aliases": [
diff --git a/src/MODULE.tools b/src/MODULE.tools
index 8f1a3fd..ba39313 100644
--- a/src/MODULE.tools
+++ b/src/MODULE.tools
@@ -1,6 +1,6 @@
module(name = "bazel_tools")
-bazel_dep(name = "rules_cc", version = "0.0.6")
+bazel_dep(name = "rules_cc", version = "0.0.8")
bazel_dep(name = "rules_java", version = "6.2.2")
bazel_dep(name = "rules_license", version = "0.0.3")
bazel_dep(name = "rules_proto", version = "4.0.0")
diff --git a/src/main/java/com/google/devtools/build/lib/bazel/rules/CcRules.java b/src/main/java/com/google/devtools/build/lib/bazel/rules/CcRules.java
index e6a8355..22498d0 100644
--- a/src/main/java/com/google/devtools/build/lib/bazel/rules/CcRules.java
+++ b/src/main/java/com/google/devtools/build/lib/bazel/rules/CcRules.java
@@ -27,7 +27,6 @@
import com.google.devtools.build.lib.bazel.rules.cpp.BazelCppRuleClasses.CcToolchainRequiringRule;
import com.google.devtools.build.lib.rules.apple.AppleConfiguration;
import com.google.devtools.build.lib.rules.core.CoreRules;
-import com.google.devtools.build.lib.rules.cpp.CcHostToolchainAliasRule;
import com.google.devtools.build.lib.rules.cpp.CcImportRule;
import com.google.devtools.build.lib.rules.cpp.CcInfo;
import com.google.devtools.build.lib.rules.cpp.CcLibcTopAlias;
@@ -83,7 +82,6 @@
builder.addRuleDefinition(new CcToolchainRule());
builder.addRuleDefinition(new CcToolchainSuiteRule());
builder.addRuleDefinition(new CcToolchainAliasRule());
- builder.addRuleDefinition(new CcHostToolchainAliasRule());
builder.addRuleDefinition(new CcLibcTopAlias());
builder.addRuleDefinition(new CcImportRule());
builder.addRuleDefinition(new CcToolchainRequiringRule());
diff --git a/src/main/java/com/google/devtools/build/lib/rules/cpp/CcHostToolchainAliasRule.java b/src/main/java/com/google/devtools/build/lib/rules/cpp/CcHostToolchainAliasRule.java
deleted file mode 100644
index 759e884..0000000
--- a/src/main/java/com/google/devtools/build/lib/rules/cpp/CcHostToolchainAliasRule.java
+++ /dev/null
@@ -1,85 +0,0 @@
-// Copyright 2017 The Bazel Authors. All rights reserved.
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-// http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-package com.google.devtools.build.lib.rules.cpp;
-
-import static com.google.devtools.build.lib.packages.Attribute.attr;
-import static com.google.devtools.build.lib.packages.BuildType.LABEL;
-
-import com.google.devtools.build.lib.actions.MutableActionGraph.ActionConflictException;
-import com.google.devtools.build.lib.analysis.BaseRuleClasses;
-import com.google.devtools.build.lib.analysis.ConfiguredTarget;
-import com.google.devtools.build.lib.analysis.RuleConfiguredTargetBuilder;
-import com.google.devtools.build.lib.analysis.RuleConfiguredTargetFactory;
-import com.google.devtools.build.lib.analysis.RuleContext;
-import com.google.devtools.build.lib.analysis.RuleDefinition;
-import com.google.devtools.build.lib.analysis.RuleDefinitionEnvironment;
-import com.google.devtools.build.lib.analysis.Runfiles;
-import com.google.devtools.build.lib.analysis.RunfilesProvider;
-import com.google.devtools.build.lib.analysis.TemplateVariableInfo;
-import com.google.devtools.build.lib.analysis.TransitiveInfoCollection;
-import com.google.devtools.build.lib.analysis.config.ExecutionTransitionFactory;
-import com.google.devtools.build.lib.analysis.platform.ToolchainInfo;
-import com.google.devtools.build.lib.packages.RuleClass;
-import javax.annotation.Nullable;
-
-/** Implementation of the {@code cc_toolchain_alias} rule. */
-public class CcHostToolchainAliasRule implements RuleDefinition {
-
- @Override
- public RuleClass build(RuleClass.Builder builder, RuleDefinitionEnvironment env) {
- return builder
- .requiresConfigurationFragments(CppConfiguration.class)
- .removeAttribute("licenses")
- .removeAttribute("distribs")
- .add(
- attr("$cc_toolchain_alias", LABEL)
- .cfg(ExecutionTransitionFactory.createFactory())
- .value(env.getToolsLabel("//tools/cpp:current_cc_toolchain")))
- .build();
- }
-
- @Override
- public Metadata getMetadata() {
- return Metadata.builder()
- .name("cc_host_toolchain_alias")
- .ancestors(BaseRuleClasses.NativeBuildRule.class)
- .factoryClass(CcHostToolchainAlias.class)
- .build();
- }
-
- /** Implementation of cc_host_toolchain_alias. */
- public static class CcHostToolchainAlias implements RuleConfiguredTargetFactory {
- @Override
- @Nullable
- public ConfiguredTarget create(RuleContext ruleContext)
- throws InterruptedException, RuleErrorException, ActionConflictException {
-
- TransitiveInfoCollection ccToolchainAlias =
- ruleContext.getPrerequisite("$cc_toolchain_alias");
- CcToolchainProvider ccToolchainProvider = ccToolchainAlias.get(CcToolchainProvider.PROVIDER);
- TemplateVariableInfo templateVariableInfo =
- ccToolchainAlias.get(TemplateVariableInfo.PROVIDER);
- ToolchainInfo toolchain = ccToolchainAlias.get(ToolchainInfo.PROVIDER);
-
- return new RuleConfiguredTargetBuilder(ruleContext)
- .addProvider(RunfilesProvider.simple(Runfiles.EMPTY))
- .addNativeDeclaredProvider(ccToolchainProvider)
- .addNativeDeclaredProvider(toolchain)
- .addNativeDeclaredProvider(templateVariableInfo)
- .setFilesToBuild(ccToolchainProvider.getAllFilesIncludingLibc())
- .build();
- }
- }
-}
diff --git a/src/test/java/com/google/devtools/build/lib/rules/cpp/BUILD b/src/test/java/com/google/devtools/build/lib/rules/cpp/BUILD
index 7fca39b..24decb4 100644
--- a/src/test/java/com/google/devtools/build/lib/rules/cpp/BUILD
+++ b/src/test/java/com/google/devtools/build/lib/rules/cpp/BUILD
@@ -220,18 +220,6 @@
)
java_test(
- name = "CcHostToolchainAliasTest",
- srcs = ["CcHostToolchainAliasTest.java"],
- deps = [
- "//src/main/java/com/google/devtools/build/lib/analysis:configured_target",
- "//src/main/java/com/google/devtools/build/lib/rules/cpp",
- "//src/test/java/com/google/devtools/build/lib/analysis/util",
- "//third_party:junit4",
- "//third_party:truth",
- ],
-)
-
-java_test(
name = "CcImportConfiguredTargetTest",
srcs = ["CcImportConfiguredTargetTest.java"],
deps = [
diff --git a/src/test/java/com/google/devtools/build/lib/rules/cpp/CcHostToolchainAliasTest.java b/src/test/java/com/google/devtools/build/lib/rules/cpp/CcHostToolchainAliasTest.java
deleted file mode 100644
index ff450e6..0000000
--- a/src/test/java/com/google/devtools/build/lib/rules/cpp/CcHostToolchainAliasTest.java
+++ /dev/null
@@ -1,96 +0,0 @@
-// Copyright 2018 The Bazel Authors. All rights reserved.
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-// http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-package com.google.devtools.build.lib.rules.cpp;
-
-import static com.google.common.truth.Truth.assertThat;
-
-import com.google.devtools.build.lib.analysis.ConfiguredTarget;
-import com.google.devtools.build.lib.analysis.util.BuildViewTestCase;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.junit.runners.JUnit4;
-
-/** Tests for toolchain features. */
-@RunWith(JUnit4.class)
-public class CcHostToolchainAliasTest extends BuildViewTestCase {
-
- @Test
- public void testCcHostToolchainAliasRuleHasExecConfiguration() throws Exception {
- scratch.file("a/BUILD", "cc_host_toolchain_alias(name='current_cc_host_toolchain')");
-
- ConfiguredTarget target = getConfiguredTarget("//a:current_cc_host_toolchain");
- CcToolchainProvider toolchainProvider = target.get(CcToolchainProvider.PROVIDER);
-
- assertThat(toolchainProvider.isToolConfiguration()).isTrue();
- }
-
- @Test
- public void testThatHostCrosstoolTopCommandLineArgumentWorks() throws Exception {
- scratch.file(
- "b/BUILD",
- "load(':cc_toolchain_config.bzl', 'cc_toolchain_config')",
- "cc_toolchain_suite(",
- " name = 'my_custom_toolchain_suite',",
- " toolchains = {",
- " 'k8': '//b:toolchain_b',",
- " 'k8|gcc-4.4.0': '//b:toolchain_b',",
- " 'k8|compiler': '//b:toolchain_b',",
- " 'x64_windows|windows_msys64': '//b:toolchain_b',",
- " 'darwin_x86_64|compiler': '//b:toolchain_b',",
- "})",
- "cc_toolchain(",
- " name = 'toolchain_b',",
- " toolchain_config = ':mock_config',",
- " all_files = ':banana',",
- " ar_files = ':empty',",
- " as_files = ':empty',",
- " compiler_files = ':empty',",
- " dwp_files = ':empty',",
- " linker_files = ':empty',",
- " strip_files = ':empty',",
- " objcopy_files = ':empty')",
- "cc_toolchain_config(name='mock_config')");
-
- scratch.file(
- "b/cc_toolchain_config.bzl",
- "def _impl(ctx):",
- " return cc_common.create_cc_toolchain_config_info(",
- " ctx = ctx,",
- " toolchain_identifier = 'custom_toolchain',",
- " host_system_name = 'mock-system-name-for-k8',",
- " target_system_name = 'mock-target-system-name-for-k8',",
- " target_cpu = 'k8',",
- " target_libc = 'mock-libc-for-k8',",
- " compiler = 'mock-compiler-for-k8',",
- " abi_libc_version = 'mock-abi-libc-for-k8',",
- " abi_version = 'mock-abi-version-for-k8')",
- "cc_toolchain_config = rule(",
- " implementation = _impl,",
- " attrs = {},",
- " provides = [CcToolchainConfigInfo],",
- ")");
-
- scratch.file("a/BUILD", "cc_host_toolchain_alias(name='current_cc_host_toolchain')");
-
- useConfiguration(
- "--noincompatible_enable_cc_toolchain_resolution",
- "--host_crosstool_top=//b:my_custom_toolchain_suite",
- "--host_cpu=k8");
- ConfiguredTarget target = getConfiguredTarget("//a:current_cc_host_toolchain");
-
- CcToolchainProvider ccToolchainProvider = target.get(CcToolchainProvider.PROVIDER);
- assertThat(ccToolchainProvider.getToolchainIdentifier()).isEqualTo("custom_toolchain");
- }
-}
diff --git a/src/test/py/bazel/testdata/runfiles_test/WORKSPACE.mock b/src/test/py/bazel/testdata/runfiles_test/WORKSPACE.mock
index 7c57bf2..d2e2ec3 100644
--- a/src/test/py/bazel/testdata/runfiles_test/WORKSPACE.mock
+++ b/src/test/py/bazel/testdata/runfiles_test/WORKSPACE.mock
@@ -4,9 +4,9 @@
http_archive(
name = "rules_cc",
- sha256 = "3d9e271e2876ba42e114c9b9bc51454e379cbf0ec9ef9d40e2ae4cec61a31b40",
+ sha256 = "ae46b722a8b8e9b62170f83bfb040cbf12adb732144e689985a66b26410a7d6f",
urls = [
- "https://github.com/bazelbuild/rules_cc/releases/download/0.0.6/rules_cc-0.0.6.tar.gz",
+ "https://github.com/bazelbuild/rules_cc/releases/download/0.0.8/rules_cc-0.0.8.tar.gz",
],
- strip_prefix = "rules_cc-0.0.6",
+ strip_prefix = "rules_cc-0.0.8",
)