Add rules_license to workspace suffixes, and a dependency of the built-in module bazel_tools

The former is for pre-Bzlmod; the latter for post-Bzlmod.

See https://github.com/bazelbuild/bazel/commit/56d8134fd527510c18f07bd0dfb5bbe8723c68ba#r83225792 for more background.

PiperOrigin-RevId: 472946524
Change-Id: I1f5e0d1e5201b16c2abea839a3081e72c103876c
diff --git a/BUILD b/BUILD
index 45fd1d0..0f8fdb6 100644
--- a/BUILD
+++ b/BUILD
@@ -130,6 +130,7 @@
     srcs = [
         "//src/main/java/com/google/devtools/build/lib/bazel/rules:builtins_bzl.zip",
         "//src/main/java/com/google/devtools/build/lib/bazel/rules:coverage.WORKSPACE",
+        "//src/main/java/com/google/devtools/build/lib/bazel/rules:rules_license.WORKSPACE",
         "//src/main/java/com/google/devtools/build/lib/bazel/rules/cpp:cc_configure.WORKSPACE",
         "//src/main/java/com/google/devtools/build/lib/bazel/rules/java:jdk.WORKSPACE",
     ],
diff --git a/src/MODULE.tools b/src/MODULE.tools
index a0e78e4..bc8b9c2 100644
--- a/src/MODULE.tools
+++ b/src/MODULE.tools
@@ -2,6 +2,7 @@
 
 bazel_dep(name = "rules_cc", version = "0.0.1")
 bazel_dep(name = "rules_java", version = "5.1.0")
+bazel_dep(name = "rules_license", version = "0.0.3")
 bazel_dep(name = "rules_proto", version = "4.0.0")
 bazel_dep(name = "rules_python", version = "0.4.0")
 
diff --git a/src/main/java/com/google/devtools/build/lib/bazel/rules/BUILD b/src/main/java/com/google/devtools/build/lib/bazel/rules/BUILD
index c91d93e..ab812be 100644
--- a/src/main/java/com/google/devtools/build/lib/bazel/rules/BUILD
+++ b/src/main/java/com/google/devtools/build/lib/bazel/rules/BUILD
@@ -28,6 +28,7 @@
         "xcode_configure.WORKSPACE",
         ":builtins_bzl_zip",
         ":coverage.WORKSPACE",
+        ":rules_license.WORKSPACE",
     ],
     deps = [
         "//src/main/java/com/google/devtools/build/lib:runtime",
@@ -138,3 +139,15 @@
     use_maybe = 1,
     visibility = ["//:__pkg__"],
 )
+
+gen_workspace_stanza(
+    name = "rules_license",
+    out = "rules_license.WORKSPACE",
+    preamble = """
+        load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
+        load("@bazel_tools//tools/build_defs/repo:utils.bzl", "maybe")
+    """,
+    repos = ["rules_license"],
+    use_maybe = 1,
+    visibility = ["//:__pkg__"],
+)
diff --git a/src/main/java/com/google/devtools/build/lib/bazel/rules/BazelRulesModule.java b/src/main/java/com/google/devtools/build/lib/bazel/rules/BazelRulesModule.java
index 57f35ae..09ea8d7 100644
--- a/src/main/java/com/google/devtools/build/lib/bazel/rules/BazelRulesModule.java
+++ b/src/main/java/com/google/devtools/build/lib/bazel/rules/BazelRulesModule.java
@@ -597,6 +597,11 @@
           ResourceFileLoader.loadResource(BazelRulesModule.class, "xcode_configure.WORKSPACE"));
       builder.addWorkspaceFileSuffix(
           ResourceFileLoader.loadResource(BazelShRuleClasses.class, "sh_configure.WORKSPACE"));
+
+      // Load rules_license, which is needed for license attestations for many rules, including
+      // things in @bazel_tools
+      builder.addWorkspaceFileSuffix(
+          ResourceFileLoader.loadResource(BazelRulesModule.class, "rules_license.WORKSPACE"));
     } catch (IOException e) {
       throw new IllegalStateException(e);
     }