Doxygen rule for Bazel.

doxygen

Generates documentation using Doxygen.

Example

# MODULE.bazel file
bazel_dep(name = "rules_doxygen", dev_dependency = True)
doxygen_extension = use_extension("@rules_doxygen//:extensions.bzl", "doxygen_extension")
use_repo(doxygen_extension, "doxygen")
# BUILD.bazel file
load("@doxygen//:doxygen.bzl", "doxygen")

doxygen(
    name = "doxygen",
    srcs = glob([
        "*.h",
        "*.cpp",
    ]),
    project_brief = "Example project for doxygen",
    project_name = "example",
)

PARAMETERS

NameDescriptionDefault Value
nameA name for the target.none
srcsA list of source files to generate documentation for.none
project_nameThe name of the project.None
project_briefA brief description of the project.None
project_numberThe version number of the project.None
project_logoThe path to the project logo.None
project_iconThe path to the project icon.None
use_mdfile_as_mainpageThe path to the markdown file to use as the main page.None
extract_privateWhether to extract private members.None
html_footerThe path to the HTML footer file.None
html_headerThe path to the HTML header file.None
filter_patternsA list of filter patterns. Enables alteration of the input files before they are parsed by doxygen.[]
use_mathjaxWhether to use MathJax.None
html_extra_stylesheetA list of extra stylesheets.[]
html_extra_filesA list of extra files.[]
html_colorstyleThe color style to use for HTML.None
aliasesA list of aliases.[]
have_dotWhether to use dot.None
dot_image_formatThe image format to use for dot.None
dot_transparentWhether to use transparent backgrounds for dot.None
disable_indexWhether to disable the index.None
full_sidebarWhether to use a full sidebar.None
generate_treeviewWhether to generate a tree view.None
javadoc_autobriefWhether to use Javadoc-style auto brief.None
builtin_stl_supportWhether to support the built-in standard library.None
hide_undoc_membersWhether to hide undocumented members.None
hide_in_body_docsWhether to hide in body docs.None
exclude_symbolsA list of symbols to exclude.[]
example_pathThe path to the examples. They must be added to the source files.None
dot_executableLabel of the doxygen executable. Make sure it is also added to the srcs of the macroNone
configurationsA list of additional configuration parameters to pass to Doxygen.[]
doxyfile_templateThe template file to use to generate the Doxyfile. The following substitutions are available:
- # {{INPUT}}: Subpackage directory in the sandbox.
- # {{ADDITIONAL PARAMETERS}}: Additional parameters given in the configurations attribute.
- # {{OUTPUT DIRECTORY}}: The directory provided in the outs attribute.
"@doxygen//:Doxyfile.template"
doxygen_extra_argsExtra arguments to pass to the doxygen executable.[]
outsThe output folders bazel will keep. If only the html outputs is of interest, the default value will do. otherwise, a list of folders to keep is expected (e.g. [“html”, “latex”]).["html"]
kwargsAdditional arguments to pass to the rule (e.g. visibility = ["//visibility:public"], tags = ["manual"])none