aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorCristián Maureira-Fredes <cristian.maureira-fredes@qt.io>2024-01-18 14:22:40 +0100
committerQt Cherry-pick Bot <cherrypick_bot@qt-project.org>2024-01-18 16:46:33 +0000
commit818c361a61db21d5d39b719c772f27ab5db0a292 (patch)
treecbb5d462a9d470990c801fee223b4dac05dabaed
parenta6b47fbd8f3f4a4b93ded10cbdf2c3358de20e16 (diff)
doc: propagate error from qdoc_spawner
Amends f2db4487f5902d47496bc9c00896f81566d3b59a. Task-number: PYSIDE-1106 Change-Id: Ibcc229d28e797235b7d62a471d1ff51917c59d80 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> (cherry picked from commit 9bbbb29809ec7552698680a40e20ec271d929c67) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
-rw-r--r--sources/pyside6/doc/CMakeLists.txt6
-rw-r--r--sources/pyside6/doc/qdoc_spawner.py.in31
2 files changed, 22 insertions, 15 deletions
diff --git a/sources/pyside6/doc/CMakeLists.txt b/sources/pyside6/doc/CMakeLists.txt
index 74d91d66b..bf55263ff 100644
--- a/sources/pyside6/doc/CMakeLists.txt
+++ b/sources/pyside6/doc/CMakeLists.txt
@@ -172,8 +172,8 @@ if (FULLDOCSBUILD)
add_custom_target(qdoc DEPENDS "${DOC_DATA_DIR}/webxml/qtcore-index.webxml")
add_custom_command(OUTPUT "${DOC_DATA_DIR}/webxml/qtcore-index.webxml"
- # Use dummy Qt version information, QDoc needs it but has no effect on WebXML output
- COMMAND ${python_executable} qdoc_spawner.py
+ Use dummy Qt version information, QDoc needs it but has no effect on WebXML output
+ COMMAND ${CMAKE_COMMAND} -E env ${python_executable} qdoc_spawner.py
--qt=${QT_VERSION_MAJOR}.${QT_VERSION_MINOR}.${QT_VERSION_PATCH}
--doc-data-dir=${DOC_DATA_DIR}
--qdoc-binary=${qdoc_binary}
@@ -203,6 +203,7 @@ if(DOC_OUTPUT_FORMAT STREQUAL "html")
${CMAKE_CURRENT_BINARY_DIR}/../../shiboken6/doc/html
${CMAKE_CURRENT_BINARY_DIR}/html/shiboken6
COMMENT "Copying Shiboken docs..."
+ DEPENDS "${DOC_DATA_DIR}/webxml/qtcore-index.webxml"
VERBATIM)
else()
if(qhelpgenerator_binary)
@@ -214,6 +215,7 @@ else()
COMMAND ${python_executable} ${PATCH_QHP_SCRIPT} -p -v pyside6 ${QHP_FILE}
COMMAND "${qhelpgenerator_binary}" ${QHP_FILE}
COMMENT "Generating QCH from a QHP file..."
+ DEPENDS "${DOC_DATA_DIR}/webxml/qtcore-index.webxml"
VERBATIM
)
else()
diff --git a/sources/pyside6/doc/qdoc_spawner.py.in b/sources/pyside6/doc/qdoc_spawner.py.in
index 55afbf6e6..fb0a8f2cd 100644
--- a/sources/pyside6/doc/qdoc_spawner.py.in
+++ b/sources/pyside6/doc/qdoc_spawner.py.in
@@ -3,19 +3,19 @@
import argparse
import subprocess
+import os
import sys
from multiprocessing import Pool, cpu_count
from pathlib import Path
def run_qdoc(file, qdoc_args, args):
- env = {
- "BUILDDIR": args.build_dir,
- "QT_INSTALL_DOCS": args.qt_install_docs,
- "QT_VERSION": args.qt_version,
- "QT_VER": ".".join(args.qt_version.split(".")[:2]),
- "QT_VERSION_TAG": args.qt_version,
- }
+ env = os.environ
+ env["BUILDDIR"] = args.build_dir
+ env["QT_INSTALL_DOCS"] = args.qt_install_docs
+ env["QT_VERSION"] = args.qt_version
+ env["QT_VER"] = ".".join(args.qt_version.split(".")[:2])
+ env["QT_VERSION_TAG"] = args.qt_version
command = [
args.qdoc_bin,
@@ -38,6 +38,7 @@ def run_qdoc(file, qdoc_args, args):
print(out, file=sys.stdout)
if err:
print(err, file=sys.stderr)
+ raise Exception(f"Failing executing the command {command}")
else:
_.wait()
@@ -84,10 +85,14 @@ if __name__ == "__main__":
if parallel == "auto":
parallel = cpu_count()
- # mode: -prepare -no-link-errors
- with Pool(int(parallel)) as p:
- p.starmap(run_qdoc, [(str(f), ["-prepare", "-no-link-errors"], args) for f in files_prepare])
+ try:
+ # mode: -prepare -no-link-errors
+ with Pool(int(parallel)) as p:
+ p.starmap(run_qdoc, [(str(f), ["-prepare", "-no-link-errors"], args) for f in files_prepare])
- # mode: -single-exec
- with Pool(int(parallel)) as p:
- p.starmap(run_qdoc, [(str(f), ["-single-exec"], args) for f in files_single_exec])
+ # mode: -single-exec
+ with Pool(int(parallel)) as p:
+ p.starmap(run_qdoc, [(str(f), ["-single-exec"], args) for f in files_single_exec])
+ except Exception as e:
+ print(f"Error while running qdoc_spawner: {e}", file=sys.stderr)
+ sys.exit(-1)