Exhale Deploy Module
The deploy module is responsible for two primary actions:
Executing Doxygen (if requested in
Launching the full API generation via the
Doxygen Execution Functions
This method executes doxygen based off of the specified input. By the time this method is executed, it is assumed that Doxygen is intended to be run in the current working directory. Search for
returnPathin the implementation of
apply_sphinx_configurations()for handling of this aspect.
This method is intended to be called by
generateDoxygenXML(), which is in turn called by
Two versions of the doxygen command can be executed:
"Doxyfile", then it is assumed that a
Doxyfileexists in the current working directory. Meaning the command being executed is simply
For all other values,
doxygen_inputrepresents the arguments as to be specified on
stdinto the process.
Either the string
"Doxyfile"to run vanilla
doxygen, or the selection of doxygen inputs (that would ordinarily be in a
Doxyfile) that will be
communicate``d to the ``doxygenprocess on
If using Python 3, the input must still be a
str. This method will convert the input to
if sys.version == "3": doxygen_input = bytes(doxygen_input, "utf-8")
If an error occurs, a string describing the error is returned with the intention of the caller raising the exception. If
Noneis returned, then the process executed without error. Example usage:
status = _generate_doxygen("Doxygen") if status: raise RuntimeError(status)
Though a little awkward, this is done to enable the intended caller of this method to restore some state before exiting the program (namely, the working directory before propagating an exception to
- exhale.deploy._valid_config(config, required)[source]
add documentation of this method
config: doxygen input we’re looking for
True, must be present. if
False, NOT ALLOWED to be present
Library API Generation
This method assumes that
apply_sphinx_configurations()has already been applied. It performs minimal sanity checking, and then performs in order
parse()for this object.
generateFullAPI()for this object.
toConsole()for this object (which will only produce output when
This results in the full API being generated, and control is subsequently passed back to Sphinx to now read in the source documents (many of which were just generated in
containmentFolder), and proceed to writing the final output.