cert-manager/docs/generated/reference/generate/BUILD.bazel
James Munnelly b71944b5a4 Move reference-docs generation tools into docs/ subdir
Signed-off-by: James Munnelly <james@munnelly.eu>
2018-11-14 00:48:06 +00:00

105 lines
4.3 KiB
Python

genrule(
name = "__internal_markdown_tar",
srcs = [
"//docs/generated/reference/generate:config.yaml",
"//docs/generated/reference/generate/static_includes:all-srcs",
"//docs/generated/reference/generate/json_swagger:swagger.json",
],
outs = ["defs.tar.gz"],
cmd = "; ".join([
"tmpdir=$$(mktemp -d)",
"mkdir -p \"$$tmpdir/static_includes/\"",
"mkdir -p \"$$tmpdir/includes/\"",
"mkdir -p \"$$tmpdir/openapi-spec/\"",
"cp -L \"$(location //docs/generated/reference/generate/json_swagger:swagger.json)\" \"$$tmpdir/openapi-spec/\"",
"cp -L \"$(location //docs/generated/reference/generate:config.yaml)\" \"$$tmpdir/\"",
"cp -LR $(locations //docs/generated/reference/generate/static_includes:all-srcs) \"$$tmpdir/static_includes/\"",
"rm \"$$tmpdir/static_includes/BUILD.bazel\"",
"$(location @io_kubernetes_incubator_reference_docs//gen-apidocs) --copyright \"<a href=\\\"https://jetstack.io\\\">Copyright 2018 Jetstack Ltd.</a>\" --title \"Cert-manager API Reference\" -config-dir $$tmpdir",
"orig=$$(pwd)",
"cd $$tmpdir",
"tar -cf \"$$orig/$@\" ./manifest.json ./includes/",
]),
tools = [
"@io_kubernetes_incubator_reference_docs//gen-apidocs",
],
visibility = ["//visibility:private"],
)
genrule(
name = "__internal_brodocs_out",
srcs = [
"//docs/generated/reference/generate:__internal_markdown_tar",
],
outs = [
"index.html",
"navData.js",
],
cmd = "; ".join([
"input=$$(mktemp -d)",
"output=$$(mktemp -d)",
"tar -C \"$$input\" -xf $(location //docs/generated/reference/generate:__internal_markdown_tar)",
"$(location //docs/generated/reference/generate/bin:brodocs) \"$$input/manifest.json\" \"$$input/includes\" \"$$output\"",
"cp $$output/index.html $(@D)",
"cp $$output/navData.js $(@D)",
]),
tools = [
"//docs/generated/reference/generate/bin:brodocs",
],
visibility = ["//visibility:private"],
)
# This file constructs an archive containing the full generated reference docs
# website, including all required node_modules.
# The output this script is then consumed by the hack/update-reference-docs.sh
# to place the data into the correct directory to be displayed by readthedocs.
genrule(
name = "generate",
srcs = [
":__internal_brodocs_out",
"@brodocs//:static",
"@brodocs_modules//node_modules/jquery:jquery__files",
"@brodocs_modules//node_modules/bootstrap:bootstrap__files",
"@brodocs_modules//node_modules/font-awesome:font-awesome__files",
"@brodocs_modules//node_modules/highlight.js:highlight.js__files",
"@brodocs_modules//node_modules/jquery.scrollto:jquery.scrollto__files",
],
outs = ["generated.tar.gz"],
cmd = "; ".join([
"bm=external/brodocs_modules",
"out=$$(mktemp -d)",
"cp -L $(locations :__internal_brodocs_out) $$out",
"cp -L $(locations @brodocs//:static) $$out",
"p=node_modules/jquery/dist; mkdir -p $$out/$$p && cp -L $$bm/$$p/jquery.min.js $$out/$$p",
"p=node_modules/bootstrap/dist/css; mkdir -p $$out/$$p && cp -L $$bm/$$p/bootstrap.min.css $$out/$$p",
"p=node_modules/font-awesome/css; mkdir -p $$out/$$p && cp -L $$bm/$$p/* $$out/$$p",
"p=node_modules/font-awesome/fonts; mkdir -p $$out/$$p && cp -L $$bm/$$p/* $$out/$$p",
"p=node_modules/highlight.js/styles; mkdir -p $$out/$$p && cp -L $$bm/$$p/default.css $$out/$$p",
"p=node_modules/jquery.scrollto; mkdir -p $$out/$$p && cp -L $$bm/$$p/jquery.scrollTo.min.js $$out/$$p",
"orig=$$(pwd)",
"cd $$out",
"tar -cf $$orig/$@ ./",
]),
visibility = ["//visibility:public"],
)
filegroup(
name = "package-srcs",
srcs = glob(["**"]),
tags = ["automanaged"],
visibility = ["//visibility:private"],
)
filegroup(
name = "all-srcs",
srcs = [
":package-srcs",
"//docs/generated/reference/generate/bin:all-srcs",
"//docs/generated/reference/generate/go_openapi:all-srcs",
"//docs/generated/reference/generate/json_swagger:all-srcs",
"//docs/generated/reference/generate/static_includes:all-srcs",
],
tags = ["automanaged"],
visibility = ["//visibility:public"],
)