Skip to content

Commit 88bd7ce

Browse files
ramcebhoe-jo
andauthored
Add sphinx_module support (#366)
Co-authored-by: Jochen Hoenle <jochen.hoenle@bmw.de>
1 parent 5008ea2 commit 88bd7ce

2 files changed

Lines changed: 27 additions & 1 deletion

File tree

MODULE.bazel

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -109,7 +109,7 @@ git_override(
109109

110110
# Add Linter
111111
bazel_dep(name = "rules_multitool", version = "1.9.0")
112-
bazel_dep(name = "score_tooling", version = "1.1.0")
112+
bazel_dep(name = "score_tooling", version = "1.1.1")
113113

114114
multitool_root = use_extension("@rules_multitool//multitool:extension.bzl", "multitool")
115115
use_repo(multitool_root, "actionlint_hub", "multitool", "ruff_hub", "shellcheck_hub", "yamlfmt_hub")

docs.bzl

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,7 @@ load("@pip_process//:requirements.bzl", "all_requirements")
4646
load("@rules_pkg//pkg:mappings.bzl", "pkg_files", "strip_prefix")
4747
load("@rules_python//sphinxdocs:sphinx.bzl", "sphinx_build_binary", "sphinx_docs")
4848
load("@score_tooling//:defs.bzl", "score_virtualenv")
49+
load("@score_tooling//bazel/rules/rules_score:rules_score.bzl", "sphinx_module")
4950

5051
def _rewrite_needs_json_to_docs_sources(labels):
5152
"""Replace '@repo//:needs_json' -> '@repo//:docs_sources' for every item."""
@@ -106,6 +107,7 @@ def docs(source_dir = "docs", data = [], deps = [], scan_code = []):
106107
if call_path != "":
107108
fail("docs() must be called from the root package. Current package: " + call_path)
108109

110+
module_deps = deps
109111
deps = deps + all_requirements + [
110112
"@score_docs_as_code//src:plantuml_for_python",
111113
"@score_docs_as_code//src/extensions/score_sphinx_bundle:score_sphinx_bundle",
@@ -255,6 +257,30 @@ def docs(source_dir = "docs", data = [], deps = [], scan_code = []):
255257
visibility = ["//visibility:public"],
256258
)
257259

260+
sphinx_module(
261+
name = native.module_name() + "_module",
262+
srcs = native.glob([
263+
source_dir + "/**/*.rst",
264+
source_dir + "/**/*.png",
265+
source_dir + "/**/*.svg",
266+
source_dir + "/**/*.md",
267+
source_dir + "/**/*.html",
268+
source_dir + "/**/*.css",
269+
source_dir + "/**/*.puml",
270+
source_dir + "/**/*.need",
271+
source_dir + "/**/*.yaml",
272+
source_dir + "/**/*.json",
273+
source_dir + "/**/*.csv",
274+
source_dir + "/**/*.inc",
275+
"more_docs/**/*.rst",
276+
], allow_empty = True),
277+
# config = ":" + source_dir + "/conf.py",
278+
index = source_dir + "/index.rst",
279+
sphinx = "@score_tooling//bazel/rules/rules_score:score_build",
280+
deps = module_deps,
281+
visibility = ["//visibility:public"],
282+
)
283+
258284
def _sourcelinks_json(name, srcs):
259285
"""
260286
Creates a target that generates a JSON file with source code links.

0 commit comments

Comments
 (0)