From 61fa11b3f69644ae0648faab894f5424bc1e3505 Mon Sep 17 00:00:00 2001 From: Matt Clarkson Date: Fri, 5 Jul 2024 09:29:12 +0100 Subject: [PATCH] refactor: move visibility of providers to `defs.bzl` We keep file visibility hidden and only expose the minimal set of symbols downstream. This is to reduce our API surface area to maintain. --- curl/upload/ManifestInfo.bzl | 2 +- curl/upload/ManifestsInfo.bzl | 2 +- curl/upload/manifest/BUILD.bazel | 0 curl/upload/manifest/defs.bzl | 5 +++++ curl/upload/manifests/defs.bzl | 4 ++++ e2e/mock/manifest/rule.bzl | 2 +- e2e/mock/manifests/rule.bzl | 5 ++--- 7 files changed, 14 insertions(+), 6 deletions(-) create mode 100644 curl/upload/manifest/BUILD.bazel create mode 100644 curl/upload/manifest/defs.bzl diff --git a/curl/upload/ManifestInfo.bzl b/curl/upload/ManifestInfo.bzl index 60d5d60..2694446 100644 --- a/curl/upload/ManifestInfo.bzl +++ b/curl/upload/ManifestInfo.bzl @@ -1,6 +1,6 @@ load("@bazel_skylib//lib:types.bzl", "types") -visibility("public") +visibility("//...") def init(file, url): """ diff --git a/curl/upload/ManifestsInfo.bzl b/curl/upload/ManifestsInfo.bzl index 9bf15e7..800e6d3 100644 --- a/curl/upload/ManifestsInfo.bzl +++ b/curl/upload/ManifestsInfo.bzl @@ -1,6 +1,6 @@ load("@bazel_skylib//lib:types.bzl", "types") -visibility("public") +visibility("//...") def init(manifests): """ diff --git a/curl/upload/manifest/BUILD.bazel b/curl/upload/manifest/BUILD.bazel new file mode 100644 index 0000000..e69de29 diff --git a/curl/upload/manifest/defs.bzl b/curl/upload/manifest/defs.bzl new file mode 100644 index 0000000..ce7ef89 --- /dev/null +++ b/curl/upload/manifest/defs.bzl @@ -0,0 +1,5 @@ +load("//curl/upload:ManifestInfo.bzl", _Manifest = "Info") + +visibility("public") + +CurlUploadManifestInfo = _Manifest diff --git a/curl/upload/manifests/defs.bzl b/curl/upload/manifests/defs.bzl index 0625998..0da0eba 100644 --- a/curl/upload/manifests/defs.bzl +++ b/curl/upload/manifests/defs.bzl @@ -1,5 +1,9 @@ load(":rule.bzl", _manifests = "manifests") +load("//curl/upload:ManifestInfo.bzl", _Manifest = "Info") +load("//curl/upload:ManifestsInfo.bzl", _Manifests = "Info") visibility("public") curl_upload_manifests = _manifests +CurlUploadManifestInfo = _Manifest +CurlUploadManifestsInfo = _Manifests diff --git a/e2e/mock/manifest/rule.bzl b/e2e/mock/manifest/rule.bzl index 6d3bbe2..8dcd738 100644 --- a/e2e/mock/manifest/rule.bzl +++ b/e2e/mock/manifest/rule.bzl @@ -1,4 +1,4 @@ -load("@rules_curl//curl/upload:ManifestInfo.bzl", "ManifestInfo") +load("@rules_curl//curl/upload/manifest:defs.bzl", ManifestInfo = "CurlUploadManifestInfo") DOC = """Mock rule with output `ManifestInfo` provider. diff --git a/e2e/mock/manifests/rule.bzl b/e2e/mock/manifests/rule.bzl index 8f3caea..d786e4e 100644 --- a/e2e/mock/manifests/rule.bzl +++ b/e2e/mock/manifests/rule.bzl @@ -1,5 +1,4 @@ -load("@rules_curl//curl/upload:ManifestInfo.bzl", "ManifestInfo", "manifest_info") -load("@rules_curl//curl/upload:ManifestsInfo.bzl", "ManifestsInfo") +load("@rules_curl//curl/upload/manifests:defs.bzl", ManifestsInfo = "CurlUploadManifestsInfo", ManifestInfo = "CurlUploadManifestInfo") DOC = """Mock rule with output `ManifestsInfo` provider. @@ -33,7 +32,7 @@ def _impl(ctx): files = depset(outs) - manifests = [manifest_info(file = o, url = "{{.URL.Href}}/{{.File.Path}}") for o in outs] + manifests = [ManifestInfo(file = o, url = "{{.URL.Href}}/{{.File.Path}}") for o in outs] manifests.extend([dep[ManifestInfo] for dep in ctx.attr.deps if ManifestInfo in dep]) transitive = [dep[ManifestsInfo].manifests for dep in ctx.attr.deps if ManifestsInfo in dep] -- GitLab