[doc] Allow multiple IP directories per dashboard
Allow to specify more than one directory to search for IP blocks for a
dashboard.
This commit doesn't change the generted dashboard, it looks as it did
before.
Signed-off-by: Philipp Wagner <phw@lowrisc.org>
diff --git a/util/build_docs.py b/util/build_docs.py
index e45d5f4..effceba 100755
--- a/util/build_docs.py
+++ b/util/build_docs.py
@@ -86,9 +86,11 @@
],
# Pre-generate dashboard fragments from these directories.
- "dashboard_definitions": [
- "hw/ip",
- ],
+ "dashboard_definitions": {
+ "comportable": [
+ "hw/ip",
+ ],
+ },
# Pre-generate testplan fragments from these files.
"testplan_definitions": [
@@ -137,13 +139,16 @@
def generate_dashboards():
- for dashboard in config["dashboard_definitions"]:
+ for dashboard_name, dirs in config["dashboard_definitions"].items():
hjson_paths = []
- hjson_paths.extend(
- sorted(SRCTREE_TOP.joinpath(dashboard).rglob('*.prj.hjson')))
+ for d in dirs:
+ hjson_paths += SRCTREE_TOP.joinpath(d).rglob('*.prj.hjson')
+
+ hjson_paths.sort(key=lambda f: f.name)
dashboard_path = config["outdir-generated"].joinpath(
- dashboard, 'dashboard')
+ dashboard_name, 'dashboard')
+ dashboard_path.parent.mkdir(exist_ok=True, parents=True)
dashboard_html = open(str(dashboard_path), mode='w')
for hjson_path in hjson_paths:
gen_dashboard_entry.gen_dashboard_html(hjson_path, dashboard_html)