Commit 8bf47d72 authored by Jeff Grafton's avatar Jeff Grafton

run buildifier on build/workspace_mirror.bzl

parent e76c6227
...@@ -15,31 +15,31 @@ ...@@ -15,31 +15,31 @@
prefix = "https://storage.googleapis.com/k8s-bazel-cache/" prefix = "https://storage.googleapis.com/k8s-bazel-cache/"
def mirror(url): def mirror(url):
"""Try downloading a URL from a GCS mirror first, then from the original. """Try downloading a URL from a GCS mirror first, then from the original.
Update the GCS bucket using bazel run //hack:update-mirror""" Update the GCS bucket using bazel run //hack:update-mirror"""
return [prefix + url, url] return [prefix + url, url]
# This function only gives proper results when executed from WORKSPACE,
# but the data is needed in sh_binary, which can only be in a BUILD file.
# Thus, it is be exported by a repository_rule (which executes in WORKSPACE)
# to be used by the sh_binary.
def mirror_urls(): def mirror_urls():
urls = [] # This function only gives proper results when executed from WORKSPACE,
for k, v in native.existing_rules().items(): # but the data is needed in sh_binary, which can only be in a BUILD file.
us = list(v.get('urls', [])) # Thus, it is be exported by a repository_rule (which executes in WORKSPACE)
if 'url' in v: # to be used by the sh_binary.
us.append(v['url']) urls = []
for u in us: for k, v in native.existing_rules().items():
if u and not u.startswith(prefix): us = list(v.get("urls", []))
urls.append(u) if "url" in v:
return sorted(urls) us.append(v["url"])
for u in us:
if u and not u.startswith(prefix):
urls.append(u)
return sorted(urls)
def export_urls_impl(repo_ctx): def export_urls_impl(repo_ctx):
repo_ctx.file(repo_ctx.path("BUILD.bazel"), """ repo_ctx.file(repo_ctx.path("BUILD.bazel"), """
exports_files(glob(["**"]), visibility=["//visibility:public"]) exports_files(glob(["**"]), visibility=["//visibility:public"])
""") """)
repo_ctx.file(repo_ctx.path("urls.txt"), content="\n".join(repo_ctx.attr.urls)) repo_ctx.file(repo_ctx.path("urls.txt"), content = "\n".join(repo_ctx.attr.urls))
_export_urls = repository_rule( _export_urls = repository_rule(
attrs = { attrs = {
...@@ -50,4 +50,4 @@ _export_urls = repository_rule( ...@@ -50,4 +50,4 @@ _export_urls = repository_rule(
) )
def export_urls(name): def export_urls(name):
return _export_urls(name=name, urls=mirror_urls()) return _export_urls(name = name, urls = mirror_urls())
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment