svenevs / exhale

Automatic C++ library api documentation generation: breathe doxygen in and exhale it out.
BSD 3-Clause "New" or "Revised" License
219 stars 51 forks source link

make html error #101

Closed PuppetA17 closed 3 years ago

PuppetA17 commented 3 years ago

The follow is my conf.py


# Configuration file for the Sphinx documentation builder.
#
# This file only contains a selection of the most common options. For a full
# list see the documentation:
# https://www.sphinx-doc.org/en/master/usage/configuration.html

-- Path setup --------------------------------------------------------------

If extensions (or modules to document with autodoc) are in another directory,

add these directories to sys.path here. If the directory is relative to the

documentation root, use os.path.abspath to make it absolute, like shown here.

# import os

import sys

sys.path.insert(0, os.path.abspath('.'))

on_rtd is whether we are on readthedocs.org, this line of code grabbed from docs.readthedocs.org

on_rtd = os.environ.get('READTHEDOCS', None) == 'True'

if not on_rtd: # only import and set the theme if we're building docs locally import sphinx_rtd_theme html_theme = 'sphinx_rtd_theme' html_theme_path = [sphinx_rtd_theme.get_html_theme_path()]

-- Project information -----------------------------------------------------

project = 'masterkit' copyright = '2021, masterkit' author = 'masterkit'

The full version, including alpha/beta/rc tags

release = 'latest'

-- General configuration ---------------------------------------------------

Add any Sphinx extension module names here, as strings. They can be

extensions coming with Sphinx (named 'sphinx.ext.*') or your custom

ones.

extensions = [ 'breathe', 'exhale' ]

breathe_projects = { "My Project": "./doxyoutput/xml" } breathe_default_project = "My Project"

Setup the exhale extension

exhale_args = {

These arguments are required

"containmentFolder":     "./api",
"rootFileName":          "library_root.rst",
"rootFileTitle":         "Library API",
"doxygenStripFromPath":  "..",
# Suggested optional arguments
"createTreeView":        True,
# TIP: if using the sphinx-bootstrap-theme, you need
# "treeViewIsBootstrap": True,
"exhaleExecutesDoxygen": True,
"exhaleDoxygenStdin":    "INPUT = ../source/lanhu/master"

}

Tell sphinx what the primary language being documented is.

primary_domain = 'cpp'

Tell sphinx what the pygments highlight language should be.

highlight_language = 'cpp'

Add any paths that contain templates here, relative to this directory.

templates_path = ['_templates']

List of patterns, relative to source directory, that match files and

directories to ignore when looking for source files.

This pattern also affects html_static_path and html_extra_path.

exclude_patterns = ['_build', 'Thumbs.db', '.DS_Store']

-- Options for HTML output -------------------------------------------------

The theme to use for HTML and HTML Help pages. See the documentation for

a list of builtin themes.

# html_theme = 'alabaster'

Add any paths that contain custom static files (such as style sheets) here,

relative to this directory. They are copied after the builtin static files,

so a file named "default.css" will overwrite the builtin "default.css".

html_static_path = ['_static'] root@b52f2a519efb:/masterkit/docs#


> then I'm use "make html",But report error message:

[+] Exhale: doxygen ran successfully in 29.96 seconds. [~] Exhale: adding tree view css / javascript. [+] Exhale: added tree view css / javascript. [~] Exhale: parsing Doxygen XML. (!) Exception caught while parsing:Traceback (most recent call last): File "/usr/local/lib/python3.8/dist-packages/exhale/deploy.py", line 394, in explode textRoot.parse() File "/usr/local/lib/python3.8/dist-packages/exhale/graph.py", line 1045, in parse self.discoverAllNodes() File "/usr/local/lib/python3.8/dist-packages/exhale/graph.py", line 1345, in discoverAllNodes cdef = f.soup.doxygen.compounddef AttributeError: 'ExhaleNode' object has no attribute 'soup' make: *** [Makefile:20: html] Error 1

PuppetA17 commented 3 years ago

Everything happens in Docker!

svenevs commented 3 years ago

Gah! This error is sporadic and usually can be caused by a couple of things, do you have code for me to clone and build or attach here as a .zip archive? If not, can you set "verboseBuild": True in your exhale_args and share the (probably very long) build log?

svenevs commented 3 years ago

Closing due to lack of activity, feel free to re-open with more information.