Move coverage script / flag to public package (#867)

Test rules that can produce coverage for transitive cc rules need to
reference this script with something like:

```bzl
"_collect_cc_coverage": attr.label(
    default = "@rules_cc//cc/coverage:collect_cc_coverage",
    executable = True,
    cfg = config.exec(exec_group = "test"),
)
```

So it shouldn't be private.

Closes #867

COPYBARA_INTEGRATE_REVIEW=https://github.com/bazelbuild/rules_cc/pull/867 from keith:ks/move-coverage-script-flag-to-public-package 3c01cb716b13b59e569246749d031c46d0ab584b
PiperOrigin-RevId: 981202792
Change-Id: I977b04e69987c9bf022cfdf7594ea4e37d4788da
diff --git a/cc/BUILD b/cc/BUILD
index 10f735a..615b430 100644
--- a/cc/BUILD
+++ b/cc/BUILD
@@ -78,6 +78,7 @@
     ]) + [
         "//cc/common:srcs",
         "//cc/compiler:srcs",
+        "//cc/coverage:srcs",
         "//cc/private:srcs",
         "//cc/proto:srcs",
         "//cc/runfiles:srcs",
diff --git a/cc/common/semantics.bzl b/cc/common/semantics.bzl
index fdb403c..1f61516 100644
--- a/cc/common/semantics.bzl
+++ b/cc/common/semantics.bzl
@@ -91,7 +91,7 @@
             cfg = config.exec(exec_group = "test"),
         ),
         "_collect_cc_coverage": attr.label(
-            default = Label("//cc/private/coverage:collect_cc_coverage"),
+            default = Label("//cc/coverage:collect_cc_coverage"),
             executable = True,
             cfg = config.exec(exec_group = "test"),
         ),
diff --git a/cc/coverage/BUILD.bazel b/cc/coverage/BUILD.bazel
new file mode 100644
index 0000000..7a5370e
--- /dev/null
+++ b/cc/coverage/BUILD.bazel
@@ -0,0 +1,23 @@
+config_setting(
+    name = "incompatible_use_native_collect_cc_coverage_enabled",
+    flag_values = {
+        "//cc/settings:incompatible_use_native_collect_cc_coverage": "true",
+    },
+)
+
+filegroup(
+    name = "collect_cc_coverage",
+    srcs = select({
+        ":incompatible_use_native_collect_cc_coverage_enabled": ["@bazel_tools//tools/test:collect_cc_coverage"],
+        "//conditions:default": ["collect_cc_coverage.sh"],
+    }),
+    visibility = ["//visibility:public"],
+)
+
+filegroup(
+    name = "srcs",
+    srcs = glob([
+        "**",
+    ]),
+    visibility = ["//visibility:public"],
+)
diff --git a/cc/private/coverage/collect_cc_coverage.sh b/cc/coverage/collect_cc_coverage.sh
similarity index 100%
rename from cc/private/coverage/collect_cc_coverage.sh
rename to cc/coverage/collect_cc_coverage.sh
diff --git a/cc/private/BUILD b/cc/private/BUILD
index 475461f..9959fec 100644
--- a/cc/private/BUILD
+++ b/cc/private/BUILD
@@ -36,7 +36,6 @@
     ]) + [
         "//cc/private/bazel7:BUILD",
         "//cc/private/compile:srcs",
-        "//cc/private/coverage:srcs",
         "//cc/private/link:srcs",
         "//cc/private/rules_impl:srcs",
         "//cc/private/toolchain:srcs",
diff --git a/cc/private/coverage/BUILD.bazel b/cc/private/coverage/BUILD.bazel
index 7a5370e..198fd6a 100644
--- a/cc/private/coverage/BUILD.bazel
+++ b/cc/private/coverage/BUILD.bazel
@@ -1,23 +1,6 @@
-config_setting(
-    name = "incompatible_use_native_collect_cc_coverage_enabled",
-    flag_values = {
-        "//cc/settings:incompatible_use_native_collect_cc_coverage": "true",
-    },
-)
-
-filegroup(
+alias(
     name = "collect_cc_coverage",
-    srcs = select({
-        ":incompatible_use_native_collect_cc_coverage_enabled": ["@bazel_tools//tools/test:collect_cc_coverage"],
-        "//conditions:default": ["collect_cc_coverage.sh"],
-    }),
-    visibility = ["//visibility:public"],
-)
-
-filegroup(
-    name = "srcs",
-    srcs = glob([
-        "**",
-    ]),
+    actual = "//cc/coverage:collect_cc_coverage",
+    deprecation = "Please use //cc/coverage:collect_cc_coverage instead.",
     visibility = ["//visibility:public"],
 )