xref: /aosp_15_r20/external/bazelbuild-rules_python/sphinxdocs/sphinx.bzl (revision 60517a1edbc8ecf509223e9af94a7adec7d736b8)
1# Copyright 2023 The Bazel Authors. All rights reserved.
2#
3# Licensed under the Apache License, Version 2.0 (the "License");
4# you may not use this file except in compliance with the License.
5# You may obtain a copy of the License at
6#
7#     http://www.apache.org/licenses/LICENSE-2.0
8#
9# Unless required by applicable law or agreed to in writing, software
10# distributed under the License is distributed on an "AS IS" BASIS,
11# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12# See the License for the specific language governing permissions and
13# limitations under the License.
14
15"""Rules to generate Sphinx documentation.
16
17The general usage of the Sphinx rules requires two pieces:
18
191. Using `sphinx_docs` to define the docs to build and options for building.
202. Defining a `sphinx-build` binary to run Sphinx with the necessary
21   dependencies to be used by (1); the `sphinx_build_binary` rule helps with
22   this.
23
24Defining your own `sphinx-build` binary is necessary because Sphinx uses
25a plugin model to support extensibility.
26
27The Sphinx integration is still experimental.
28"""
29
30load(
31    "//sphinxdocs/private:sphinx.bzl",
32    _sphinx_build_binary = "sphinx_build_binary",
33    _sphinx_docs = "sphinx_docs",
34    _sphinx_inventory = "sphinx_inventory",
35    _sphinx_run = "sphinx_run",
36)
37
38sphinx_build_binary = _sphinx_build_binary
39sphinx_docs = _sphinx_docs
40sphinx_inventory = _sphinx_inventory
41sphinx_run = _sphinx_run
42