load("@bazel_skylib//rules:build_test.bzl", "build_test") load("//python/private:util.bzl", "IS_BAZEL_7_OR_HIGHER") # buildifier: disable=bzl-visibility load("//sphinxdocs:sphinx.bzl", "sphinx_build_binary", "sphinx_docs") load(":defs.bzl", "gen_directory") # We only build for Linux and Mac because: # 1. The actual doc process only runs on Linux # 2. Mac is a common development platform, and is close enough to Linux # it's feasible to make work. # Making CI happy under Windows is too much of a headache, though, so we don't # bother with that. _TARGET_COMPATIBLE_WITH = select({ "@platforms//os:linux": [], "@platforms//os:macos": [], "//conditions:default": ["@platforms//:incompatible"], }) if IS_BAZEL_7_OR_HIGHER else ["@platforms//:incompatible"] sphinx_docs( name = "docs", srcs = glob(["*.md"]) + [ ":generated_directory", ], config = "conf.py", formats = ["html"], sphinx = ":sphinx-build", target_compatible_with = _TARGET_COMPATIBLE_WITH, ) gen_directory( name = "generated_directory", ) sphinx_build_binary( name = "sphinx-build", tags = ["manual"], # Only needed as part of sphinx doc building deps = [ "@dev_pip//myst_parser", "@dev_pip//sphinx", ], ) build_test( name = "build_tests", targets = [":docs"], )