mirror of
https://github.com/ARM-software/arm-trusted-firmware.git
synced 2025-04-13 08:04:27 +00:00
doc: Generate PlantUML diagrams automatically
Currently we have some pre-rendered versions of certain diagrams in SVG format. These diagrams have corresponding PlantUML source that can be rendered automatically as part of the documentation build, removing the need for any intermediate files. This patch adds the Sphinx "plantuml" extension, replaces references to the pre-rendered SVG files within the documents, and finally removes the SVG files and helper script. New requirements for building the docs are the "sphinxcontrib-plantuml" Python module (added to the pip requirements.txt file) and the Graphviz package (provides the "dot" binary) which is in the Ubuntu package repositories. Change-Id: I24b52ee40ff79676212ed7cff350294945f1b50d Signed-off-by: Paul Beesley <paul.beesley@arm.com>
This commit is contained in:
parent
3ce3ce0738
commit
7cb68807fb
6 changed files with 10 additions and 20 deletions
|
@ -26,7 +26,7 @@ The following figure depicts a general sequence involving SDEI client executing
|
|||
at EL2 and an event dispatch resulting from the triggering of a bound interrupt.
|
||||
A commentary is provided below:
|
||||
|
||||
.. image:: ../resources/diagrams/plantuml/sdei_general.svg
|
||||
.. uml:: ../resources/diagrams/plantuml/sdei_general.puml
|
||||
|
||||
As part of initialisation, the SDEI client binds a Non-secure interrupt [1], and
|
||||
the SDEI dispatcher returns a platform dynamic event number [2]. The client then
|
||||
|
@ -234,7 +234,7 @@ on success, or ``-1`` on failure.
|
|||
The following figure depicts a scenario involving explicit dispatch of SDEI
|
||||
event. A commentary is provided below:
|
||||
|
||||
.. image:: ../resources/diagrams/plantuml/sdei_explicit_dispatch.svg
|
||||
.. uml:: ../resources/diagrams/plantuml/sdei_explicit_dispatch.puml
|
||||
|
||||
As part of initialisation, the SDEI client registers a handler for a platform
|
||||
event [1], enables the event [3], and unmasks the current PE [5]. Note that,
|
||||
|
|
|
@ -23,7 +23,7 @@ release = version # We don't need these to be distinct
|
|||
# Add any Sphinx extension module names here, as strings. They can be
|
||||
# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom
|
||||
# ones.
|
||||
extensions = ['sphinx.ext.autosectionlabel']
|
||||
extensions = ['sphinx.ext.autosectionlabel', 'sphinxcontrib.plantuml']
|
||||
|
||||
# Add any paths that contain templates here, relative to this directory.
|
||||
templates_path = ['_templates']
|
||||
|
@ -82,4 +82,8 @@ html_theme_options = {
|
|||
# -- Options for autosectionlabel --------------------------------------------
|
||||
|
||||
# Only generate automatic section labels for document titles
|
||||
autosectionlabel_maxdepth = 1
|
||||
autosectionlabel_maxdepth = 1
|
||||
|
||||
# -- Options for plantuml ----------------------------------------------------
|
||||
|
||||
plantuml_output_format = 'svg_img'
|
||||
|
|
|
@ -1,2 +1,3 @@
|
|||
sphinx>=2.0.0
|
||||
sphinx-rtd-theme>=0.4.3
|
||||
sphinx-rtd-theme>=0.4.3
|
||||
sphinxcontrib-plantuml>=0.15
|
||||
|
|
|
@ -1,13 +0,0 @@
|
|||
#!/bin/bash
|
||||
|
||||
# Convert all PlantUML files in this directory to SVG files. The plantuml_jar
|
||||
# environment variable must be set to the path to PlantUML JAR file.
|
||||
|
||||
if [ -z "$plantuml_jar" ]; then
|
||||
echo "Usage: plantuml_jar=/path/to/plantuml.jar $0 *.puml" >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
java -jar "$plantuml_jar" -nometadata -tsvg "$@"
|
||||
|
||||
# vim:set noet sts=8 tw=80:
|
File diff suppressed because one or more lines are too long
Before Width: | Height: | Size: 19 KiB |
File diff suppressed because one or more lines are too long
Before Width: | Height: | Size: 17 KiB |
Loading…
Add table
Reference in a new issue