blob: 6af908dc4c8bd7042165a376464a9f8ca71dc359 [file] [log] [blame]
load("//python/private:util.bzl", "IS_BAZEL_7_OR_HIGHER") # buildifier: disable=bzl-visibility
load("//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
load("//sphinxdocs:sphinx_stardoc.bzl", "sphinx_stardocs")
package(default_visibility = ["//:__subpackages__"])
# 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_library(
name = "docs_lib",
deps = [
":artisian_api_docs",
":bzl_docs",
":py_api_srcs",
":regular_docs",
],
)
sphinx_docs_library(
name = "regular_docs",
srcs = glob(
["**/*.md"],
exclude = ["api/**"],
),
prefix = "sphinxdocs/",
)
sphinx_docs_library(
name = "artisian_api_docs",
srcs = glob(
["api/**/*.md"],
),
prefix = "api/sphinxdocs/",
strip_prefix = "sphinxdocs/docs/api/",
)
sphinx_stardocs(
name = "bzl_docs",
srcs = [
"//sphinxdocs:readthedocs_bzl",
"//sphinxdocs:sphinx_bzl",
"//sphinxdocs:sphinx_docs_library_bzl",
"//sphinxdocs:sphinx_stardoc_bzl",
"//sphinxdocs/private:sphinx_docs_library_bzl",
],
prefix = "api/sphinxdocs/",
target_compatible_with = _TARGET_COMPATIBLE_WITH,
)
sphinx_docs_library(
name = "py_api_srcs",
srcs = ["//sphinxdocs/src/sphinx_bzl"],
strip_prefix = "sphinxdocs/src/",
)