有没有办法让sphinx调用脚本或可执行文件作为预构建任务



我正试图用breath将脱氧氧和斯芬克斯缝合在一起。

breath需要首先生成doxygenxml输出:https://breathe.readthedocs.io/en/latest/quickstart.html

我不想单独做这件事。我可以让sphinx-build在构建时为我执行doxygen吗?我只需要它先用一些参数运行这个命令。这可能不需要编写自定义的sphinx插件吗?

编辑

这适用于

# Need to sleep because sometimes doxygen doesnt finish writing files before sphinx runs 
cwd = os.path.dirname(os.path.realpath(__file__))
os.system('doxygen')
time.sleep(3)

当然,在开始文档构建过程之前,Sphinx将执行您添加到其配置文件conf.py中的任何Python代码。

来自狮身人面像文件:

配置文件在构建时作为Python代码执行(使用importlib.import_module(),并将当前目录设置为其包含目录(,因此可以执行任意复杂的代码。然后,Sphinx从文件的命名空间中读取简单名称作为其配置。

这意味着预构建任务可以简单地通过在conf.py中的任何位置运行外部程序(如您的案例中的Doxygen(作为子流程来实现。

相关内容

最新更新