diff --git a/src/main/java/com/google/devtools/build/lib/BUILD b/src/main/java/com/google/devtools/build/lib/BUILD index b2a63715a389ef..3a22a1b8261cbe 100644 --- a/src/main/java/com/google/devtools/build/lib/BUILD +++ b/src/main/java/com/google/devtools/build/lib/BUILD @@ -497,3 +497,26 @@ genrule( tools = ["//src/main/java/com/google/devtools/build/docgen:skydoc_bin"], visibility = ["//site:__pkg__"], ) + +genrule( + name = "gen_reference_docs", + srcs = [ + ":build-encyclopedia.zip", + ":command-line-reference.html", + ":skylark-library.zip", + "//tools/build_defs/repo:doc", + ], + outs = ["reference-docs.zip"], + cmd = "mkdir -p $(@D)/gen_docs/reference/be && " + + "cp $(location :command-line-reference.html) $(@D)/gen_docs/reference/ && " + + "unzip -q -d $(@D)/gen_docs/reference/be/ $(location :build-encyclopedia.zip) && " + + "mkdir -p $(@D)/gen_docs/rules/lib/repo && " + + "unzip -q -d $(@D)/gen_docs/rules/lib/ $(location :skylark-library.zip) && " + + "tar -xf $(location //tools/build_defs/repo:doc) -C $(@D)/gen_docs/rules/lib/repo/ && " + + # Ugly hack: we want to preserve paths relative to gen_docs/, + # which means we have to temporarily cd into that directory and zip with -r. + "pushd $(@D)/gen_docs && " + + "zip -qr tmp.zip . && " + + "popd && mv $(@D)/gen_docs/tmp.zip $@", + visibility = ["//scripts/docs:__pkg__"], +) diff --git a/tools/build_defs/repo/BUILD b/tools/build_defs/repo/BUILD index 103d7c707db9df..dee7008d7fae49 100644 --- a/tools/build_defs/repo/BUILD +++ b/tools/build_defs/repo/BUILD @@ -63,5 +63,8 @@ pkg_tar( name = "doc", srcs = ["%s_md" % (name,) for name in REPO_BZL_FILES] + ["index.md"], strip_prefix = "/tools/build_defs/repo", - visibility = ["//site:__subpackages__"], + visibility = [ + "//site:__subpackages__", + "//src/main/java/com/google/devtools/build/lib:__pkg__", + ], )