diff options
author | Cristián Maureira-Fredes <cristian.maureira-fredes@qt.io> | 2024-01-18 14:22:40 +0100 |
---|---|---|
committer | Qt Cherry-pick Bot <cherrypick_bot@qt-project.org> | 2024-01-18 16:46:33 +0000 |
commit | 818c361a61db21d5d39b719c772f27ab5db0a292 (patch) | |
tree | cbb5d462a9d470990c801fee223b4dac05dabaed | |
parent | a6b47fbd8f3f4a4b93ded10cbdf2c3358de20e16 (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.txt | 6 | ||||
-rw-r--r-- | sources/pyside6/doc/qdoc_spawner.py.in | 31 |
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) |