boschglobal / doxysphinx

A lightweight Doxygen extension for Sphinx
https://boschglobal.github.io/doxysphinx/
MIT License
13 stars 11 forks source link

FileNotFoundError doxygen.css when using custom HTML_STYLESHEET #106

Closed Maetveis closed 1 year ago

Maetveis commented 1 year ago

Description:

When doxygen is used with a custom stylesheet (HTML_STYLESHEET is set) running doxysphinx after doxygen fails with an error similar to:

Error log ```console doxysphinx v3.3.0 starting build command... debug: copied files: debug: - /workspace/doxysphinx/.build/html/docs/doxygen/demo/html/tabs.css debug: - /workspace/doxysphinx/.build/html/docs/doxygen/demo/html/custom.css debug: - /workspace/doxysphinx/.build/html/docs/doxygen/demo/html/jquery.js debug: - /workspace/doxysphinx/.build/html/docs/doxygen/demo/html/svgpan.js debug: - /workspace/doxysphinx/.build/html/docs/doxygen/demo/html/menu.js debug: - /workspace/doxysphinx/.build/html/docs/doxygen/demo/html/dynsections.js debug: - /workspace/doxysphinx/.build/html/docs/doxygen/demo/html/menudata.js debug: - /workspace/doxysphinx/.build/html/docs/doxygen/demo/html/classdoxysphinx_1_1rst_1_1Engine__coll__graph.map debug: - /workspace/doxysphinx/.build/html/docs/doxygen/demo/html/classdoxysphinx_1_1rst_1_1Car__inherit__graph.map debug: - /workspace/doxysphinx/.build/html/docs/doxygen/demo/html/inherit_graph_1.map debug: - /workspace/doxysphinx/.build/html/docs/doxygen/demo/html/inherit_graph_0.map debug: - /workspace/doxysphinx/.build/html/docs/doxygen/demo/html/inherit_graph_3.map debug: - /workspace/doxysphinx/.build/html/docs/doxygen/demo/html/classdoxysphinx_1_1rst_1_1Car__coll__graph.map debug: - /workspace/doxysphinx/.build/html/docs/doxygen/demo/html/classdoxysphinx_1_1rst_1_1Engine__inherit__graph.map debug: - /workspace/doxysphinx/.build/html/docs/doxygen/demo/html/inherit_graph_2.map debug: - /workspace/doxysphinx/.build/html/docs/doxygen/demo/html/classdoxysphinx_1_1rst_1_1Engine__coll__graph.md5 debug: - /workspace/doxysphinx/.build/html/docs/doxygen/demo/html/inherit_graph_2.md5 debug: - /workspace/doxysphinx/.build/html/docs/doxygen/demo/html/classdoxysphinx_1_1rst_1_1Car__inherit__graph.md5 debug: - /workspace/doxysphinx/.build/html/docs/doxygen/demo/html/graph_legend.md5 debug: - /workspace/doxysphinx/.build/html/docs/doxygen/demo/html/inherit_graph_1.md5 debug: - /workspace/doxysphinx/.build/html/docs/doxygen/demo/html/inherit_graph_3.md5 debug: - /workspace/doxysphinx/.build/html/docs/doxygen/demo/html/inherit_graph_0.md5 debug: - /workspace/doxysphinx/.build/html/docs/doxygen/demo/html/classdoxysphinx_1_1rst_1_1Car__coll__graph.md5 debug: - /workspace/doxysphinx/.build/html/docs/doxygen/demo/html/classdoxysphinx_1_1rst_1_1Engine__inherit__graph.md5 debug: - /workspace/doxysphinx/.build/html/docs/doxygen/demo/html/doxygen.svg debug: - /workspace/doxysphinx/.build/html/docs/doxygen/demo/html/doxysphinx_logo.svg debug: - /workspace/doxysphinx/.build/html/docs/doxygen/demo/html/classdoxysphinx_1_1rst_1_1Car__coll__graph.svg debug: - /workspace/doxysphinx/.build/html/docs/doxygen/demo/html/inherit_graph_2.svg debug: - /workspace/doxysphinx/.build/html/docs/doxygen/demo/html/graph_legend.svg debug: - /workspace/doxysphinx/.build/html/docs/doxygen/demo/html/classdoxysphinx_1_1rst_1_1Car__inherit__graph.svg debug: - /workspace/doxysphinx/.build/html/docs/doxygen/demo/html/classdoxysphinx_1_1rst_1_1Engine__coll__graph.svg debug: - /workspace/doxysphinx/.build/html/docs/doxygen/demo/html/classdoxysphinx_1_1rst_1_1Engine__inherit__graph.svg debug: - /workspace/doxysphinx/.build/html/docs/doxygen/demo/html/inherit_graph_0.svg debug: - /workspace/doxysphinx/.build/html/docs/doxygen/demo/html/inherit_graph_1.svg debug: - /workspace/doxysphinx/.build/html/docs/doxygen/demo/html/inherit_graph_3.svg debug: - /workspace/doxysphinx/.build/html/docs/doxygen/demo/html/tab_a.png debug: - /workspace/doxysphinx/.build/html/docs/doxygen/demo/html/tab_b.png debug: - /workspace/doxysphinx/.build/html/docs/doxygen/demo/html/tab_h.png debug: - /workspace/doxysphinx/.build/html/docs/doxygen/demo/html/tab_s.png debug: - /workspace/doxysphinx/.build/html/docs/doxygen/demo/html/nav_h.png debug: - /workspace/doxysphinx/.build/html/docs/doxygen/demo/html/nav_f.png debug: - /workspace/doxysphinx/.build/html/docs/doxygen/demo/html/bc_s.png debug: - /workspace/doxysphinx/.build/html/docs/doxygen/demo/html/closed.png debug: - /workspace/doxysphinx/.build/html/docs/doxygen/demo/html/open.png debug: - /workspace/doxysphinx/.build/html/docs/doxygen/demo/html/bdwn.png debug: - /workspace/doxysphinx/.build/html/docs/doxygen/demo/html/sync_on.png debug: - /workspace/doxysphinx/.build/html/docs/doxygen/demo/html/sync_off.png debug: - /workspace/doxysphinx/.build/html/docs/doxygen/demo/html/nav_g.png debug: - /workspace/doxysphinx/.build/html/docs/doxygen/demo/html/splitbar.png debug: - /workspace/doxysphinx/.build/html/docs/doxygen/demo/html/doc.png debug: - /workspace/doxysphinx/.build/html/docs/doxygen/demo/html/folderclosed.png debug: - /workspace/doxysphinx/.build/html/docs/doxygen/demo/html/folderopen.png Traceback (most recent call last): File "", line 1, in File "/workspace/doxysphinx/.venv/lib/python3.10/site-packages/click/core.py", line 1130, in __call__ return self.main(*args, **kwargs) File "/workspace/doxysphinx/.venv/lib/python3.10/site-packages/click/core.py", line 1055, in main rv = self.invoke(ctx) File "/workspace/doxysphinx/.venv/lib/python3.10/site-packages/click/core.py", line 1657, in invoke return _process_result(sub_ctx.command.invoke(sub_ctx)) File "/workspace/doxysphinx/.venv/lib/python3.10/site-packages/click/core.py", line 1404, in invoke return ctx.invoke(self.callback, **ctx.params) File "/workspace/doxysphinx/.venv/lib/python3.10/site-packages/click/core.py", line 760, in invoke return __callback(*args, **kwargs) File "/workspace/doxysphinx/doxysphinx/cli.py", line 135, in build builder.build(doxy_output) File "/workspace/doxysphinx/doxysphinx/process.py", line 87, in build copied_resources = self._resource_provider.provide_resources(doxygen_html_dir) File "/workspace/doxysphinx/doxysphinx/resources.py", line 130, in provide_resources written_doxygen_css = self._css_scoper.scope( File "/workspace/doxysphinx/doxysphinx/resources.py", line 221, in scope css_content = stylesheet.read_text() File "/usr/lib/python3.10/pathlib.py", line 1134, in read_text with self.open(mode='r', encoding=encoding, errors=errors) as f: File "/usr/lib/python3.10/pathlib.py", line 1119, in open return self._accessor.open(self, mode, buffering, encoding, errors, FileNotFoundError: [Errno 2] No such file or directory: '/workspace/doxysphinx/docs/doxygen/demo/html/doxygen.css' make: *** [Makefile:41: doxysphinx_demo] Error 1 ```

Doxygen does not write doxygen.css in this case so doxysphinx fails.

To Reproduce From the repository root run:

rm -rf .build docs/doxygen/demo/html # Remove generated files to avoid false positives
touch demo/custom.css
sed -i 's|\(HTML_STYLESHEET \+=\).*|\1 demo/custom.css|' demo/demo.doxyfile
make doxygen
make doxysphinx

Expected behavior If doxygen.css is not found it is not pre-processed, same as before 3.3.0