@rules_doxygen@rules_doxygen//:extensions.bzl
Repository rule for downloading the correct version of doxygen using module extensions.
Functions & Macros
get_default_canonical_idReturns the default canonical id to use for downloads.
Copied from @bazel_tools//tools/build_defs/repo:cache.bzl
to avoid a dependency on the whole @bazel_tools package, since its visibility changed from private to public between Bazel 7.0.0 and 8.0.0.
Returns "" (empty string) when Bazel is run with
--repo_env=BAZEL_HTTP_RULES_URLS_AS_DEFAULT_CANONICAL_ID=0.
e.g.
load("@bazel_tools//tools/build_defs/repo:cache.bzl", "get_default_canonical_id") # ... repository_ctx.download_and_extract( url = urls, integrity = integrity canonical_id = get_default_canonical_id(repository_ctx, urls), ),
Parameters
*repository_ctx | The repository context of the repository rule calling this utility |
*urls | A list of URLs matching what is passed to |
Module Extensions
doxygen_extensionModule extension for declaring the doxygen configurations to use.
The resulting repository will have the following targets:
@doxygen//:doxygen.bzl, containing the doxygen macro used to generate the documentation.@doxygen//:Doxyfile.template, default Doxyfile template used to generate the Doxyfile.
The extension will create a default configuration for all platforms with the version 1.15.0 of Doxygen.
You can override this value with a custom one for each supported platform, i.e. windows, mac, mac-arm, linux and linux-arm.
# MODULE.bazel file bazel_dep(name = "rules_doxygen", version = "...", dev_dependency = True) doxygen_extension = use_extension("@rules_doxygen//:extensions.bzl", "doxygen_extension") # Download doxygen version 1.10.0 on linux, default version on all other platforms doxygen_extension.configuration( version = "1.10.0", sha256 = "dcfc9aa4cc05aef1f0407817612ad9e9201d9bf2ce67cecf95a024bba7d39747", platform = "linux", ) use_repo(doxygen_extension, "doxygen")
When you do so, you must also provide the SHA256 of the given doxygen archive.
If you don't know the SHA256 value, just leave it empty.
The build will fail with an error message containing the correct SHA256.
Download from https://github.com/doxygen/doxygen/releases/download/Release_1_10_0/doxygen-1.10.0.windows.x64.bin.zip failed: class com.google.devtools.build.lib.bazel.repository.downloader.UnrecoverableHttpException Checksum was 2135c1d5bdd6e067b3d0c40a4daac5d63d0fee1b3f4d6ef1e4f092db0d632d5b but wanted 0000000000000000000000000000000000000000000000000000000000000000
[!Tip]
Not indicating the platform will make the configuration apply to the platform it is running on.
The build will fail when the download does not match the SHA256 checksum, i.e. when the platform changes.
Unless you are using a system-wide doxygen installation, you should always specify the platform.
[!Note]
When a version is specified, the extension will download the doxygen binary from the official Doxygen releases.
If a binary for the specified platform is not available (e.g., linux-arm, mac-arm), the build may fail.
If that happens, you can either:
- Use a different version of doxygen that supports your platform.
- Use a system-wide doxygen installation by setting the version to
0.0.0.- Use a local doxygen executable by providing a label pointing to the doxygen executable in the
executableparameter.
System-wide doxygen installation
If you set the version to 0.0.0, the doxygen executable will be assumed to be available from the PATH.
No download will be performed and bazel will use the installed version of doxygen.
[!Warning]
Setting the version to0.0.0this will break the hermeticity of your build, as it will now depend on the environment.
Using a local doxygen executable
You can also provide a label pointing to the doxygen executable you want to use by using the executable parameter in the extension configuration.
No download will be performed, and the file indicated by the label will be used as the doxygen executable.
[!Note]
versionandexecutableare mutually exclusive.
You must provide exactly one of them.
Examples
# MODULE.bazel file bazel_dep(name = "rules_doxygen", version = "...", dev_dependency = True) doxygen_extension = use_extension("@rules_doxygen//:extensions.bzl", "doxygen_extension") # Using the 1.10.0 version of Doxygen instead of the default one. # Note that che checksum is correct only if the platform is windows. # If the platform is different, the build will fail. doxygen_extension.configuration( version = "1.10.0", sha256 = "2135c1d5bdd6e067b3d0c40a4daac5d63d0fee1b3f4d6ef1e4f092db0d632d5b", ) use_repo(doxygen_extension, "doxygen")
# MODULE.bazel file bazel_dep(name = "rules_doxygen", version = "...", dev_dependency = True) doxygen_extension = use_extension("@rules_doxygen//:extensions.bzl", "doxygen_extension") doxygen_extension.configuration( version = "1.10.0", sha256 = "dcfc9aa4cc05aef1f0407817612ad9e9201d9bf2ce67cecf95a024bba7d39747", platform = "linux", ) doxygen_extension.configuration( version = "1.10.0", sha256 = "dcfc9aa4cc05aef1f0407817612ad9e9201d9bf2ce67cecf95a024bba7d39747", platform = "linux-arm", ) doxygen_extension.configuration( version = "1.12.0", sha256 = "6ace7dde967d41f4e293d034a67eb2c7edd61318491ee3131112173a77344001", platform = "mac", ) doxygen_extension.configuration( version = "1.12.0", sha256 = "6ace7dde967d41f4e293d034a67eb2c7edd61318491ee3131112173a77344001", platform = "mac-arm", ) doxygen_extension.configuration( version = "1.11.0", sha256 = "478fc9897d00ca181835d248a4d3e5c83c26a32d1c7571f4321ddb0f2e97459f", platform = "windows", ) use_repo(doxygen_extension, "doxygen")
# MODULE.bazel file bazel_dep(name = "rules_doxygen", version = "...", dev_dependency = True) doxygen_extension = use_extension("@rules_doxygen//:extensions.bzl", "doxygen_extension") # Download doxygen version 1.10.0 on linux doxygen_extension.configuration( version = "1.10.0", sha256 = "dcfc9aa4cc05aef1f0407817612ad9e9201d9bf2ce67cecf95a024bba7d39747", platform = "linux", ) # Use the local doxygen installation on mac doxygen_extension.configuration( version = "0.0.0", platform = "mac", ) # Use the doxygen provided executable on mac-arm doxygen_extension.configuration( executable = "@my_module//path/to/doxygen:doxygen", platform = "mac-arm", ) # Since no configuration has been provided for them, # all other platforms will fallback to the default version use_repo(doxygen_extension, "doxygen")
Tag Classes
configuration| Attribute | Type | Description |
|---|---|---|
version | string | The version of doxygen to use. If set to Default: "" |
sha256 | string | The sha256 hash of the doxygen archive. If not specified, an all-zero hash will be used. Default: "" |
platform | string | The platform this configuration applies to. Available options are (windows, mac, mac-arm, linux, linux-arm). If not specified, the configuration will apply to the platform it is currently running on. Default: "" |
executable | label | Target pointing to the doxygen executable to use. If set, no download will take place and the provided doxygen executable will be used. Mutually exclusive with Default: None |
repository| Attribute | Type | Description |
|---|---|---|
*name | name | The name of the repository the extension will create. Useful if you don't use 'rules_doxygen' as a dev_dependency, since it will avoid name collision for module depending on yours. Can only be specified once. Defaults to 'doxygen'. |
Repository Rules
doxygen_repositoryRepository rule for doxygen.
It can be provided with a configuration for each of the three platforms (windows, mac, mac-arm, linux, linux-arm) to download the correct version of doxygen only when the configuration matches the current platform.
Depending on the version, the behavior will change:
- If the version is set to
0.0.0, the repository will use the installed version of doxygen, getting the binary from the PATH. - If a version is specified, the repository will download the correct version of doxygen and make it available to the requesting module.
[!Warning]
If version is set to0.0.0, the rules needs doxygen to be installed on your system and the binary (named doxygen) must available in the PATH.
Keep in mind that this will break the hermeticity of your build, as it will now depend on the environment.
You can further customize the repository by specifying the doxygen_bzl, build, and doxyfile_template attributes, but the default values should be enough for most use cases.
Example
# Download the os specific version 1.12.0 of doxygen supporting all the indicated platforms doxygen_repository( name = "doxygen", versions = ["1.12.0", "1.12.0", "1.12.0"], sha256s = [ "07f1c92cbbb32816689c725539c0951f92c6371d3d7f66dfa3192cbe88dd3138", "6ace7dde967d41f4e293d034a67eb2c7edd61318491ee3131112173a77344001", "3c42c3f3fb206732b503862d9c9c11978920a8214f223a3950bbf2520be5f647", ] platforms = ["windows", "mac", "linux"], executables = ["", "", ""], ) # Use the system installed version of doxygen on linux and download version 1.11.0 for windows. Use the provided executable on mac-arm doxygen_repository( name = "doxygen", version = ["0.0.0", "1.11.0", ""], sha256s = ["", "478fc9897d00ca181835d248a4d3e5c83c26a32d1c7571f4321ddb0f2e97459f", ""], platforms = ["linux", "windows", "mac-arm"], executables = ["", "", "/path/to/doxygen"], )
| Attribute | Type | Description |
|---|---|---|
*name | name | A unique name for this repository. |
repo_mapping | dictionary: String → String | In For example, an entry This attribute is not supported in |
*versions | list of strings | List of versions of doxygen to use. If set to |
*sha256s | list of strings | List of sha256 hashes of the doxygen archive. Must be the same length as |
*platforms | list of strings | List of platforms to download the doxygen binary for. Available options are (windows, mac, mac-arm, linux, linux-arm). Must be the same length as |
*executables | list of strings | List of paths to doxygen executables to use. If set, no download will take place and the provided doxygen executable will be used. Mutually exclusive with |
doxygen_bzl | label | The starlark file containing the doxygen macro Default: "@rules_doxygen//doxygen:doxygen.bzl" |
build | label | The BUILD file of the repository Default: "@rules_doxygen//doxygen:BUILD.bazel" |
doxyfile_template | label | The Doxyfile template to use Default: "@rules_doxygen//doxygen:Doxyfile.template" |
@rules_doxygen@rules_doxygen//doxygen:doxygen.bzl
Doxygen rule for Bazel.
Functions & Macros
doxygenGenerates documentation using Doxygen.
The set of attributes the macro provides is a subset of the Doxygen configuration options.
Depending on the type of the attribute, the macro will convert it to the appropriate string:
- None (default): the attribute will not be included in the Doxyfile
- bool: the value of the attribute is the string "YES" or "NO" respectively
- list: the value of the attribute is a string with the elements separated by spaces and enclosed in double quotes
- str: the value of the attribute is will be set to the string, unchanged. You may need to provide proper quoting if the value contains spaces
For the complete list of Doxygen configuration options, please refer to the Doxygen documentation.
[!NOTE]
If not istructed otherwise, the rule will use the Doxyfile from its defaultdoxygenversion.
Any update could change some default values or add some flags which will be unrecognized by olderdoxygenversions, resulting in innocuous warnings.
If you want to use a specific Doxyfile, just generate one withdoxygen -gand specify it in thedoxyfile_templateattribute.
Make variables
There are cases where you need access to information about the build environment, such as the output directory doxygen is writing to.
In such cases, you can use make variables in the parameters of the macro.
The doxygen rule will take care of expanding them to the appropriate values.
By default, the following make variables are available:
$(OUTDIR): The output directory where the documentation will be generated.- All the predefined variables indicated in the Bazel documentation.
The former is particularly useful when doxygen needs to generate unusual files, such as tag files.
An example of this is shown below, where the tag file PolyVox.tag is stored in the tags output directory.
doxygen( name = "doxygen", srcs = ["README.md"] + glob(["*.h", "*.cpp"]), outs = ["html", "tags"], generate_tagfile = "$(OUTDIR)/tags/PolyVox.tag", )
[!NOTE]
Make sure that generated files are put in some directory and that directory is included in theoutsattribute.
You can add your own substitutions by adding a rule that returns a TemplateVariableInfo provider in the toolchains attribute of the doxygen rule.
See this example for more details.
Differences between srcs and deps
The srcs and deps attributes work differently and are not interchangeable.
srcs is a list of files that will be passed to Doxygen for documentation generation.
You can use glob to include a collection of multiple files.
On the other hand, if you indicate a target (e.g., :my_genrule), it will include all the files produced by that target.
More precisely, the files in the DefaultInfo provider the target returns.
Hence, when the documentation is generated, all rules in the srcs attribute will be built, and the files they output will be passed to Doxygen.
On the other hand, deps is a list of targets whose sources will be included in the documentation generation.
It will automatically include all the files in the srcs, hdrs, and data attributes of the target, and the same applies to all of its transitive dependencies, recursively.
Since we are only interested in the source files, the deps targets will not be built when the documentation is generated.
# My BUILD.bazel file load("@doxygen//:doxygen.bzl", "doxygen") load("@rules_cc//cc:defs.bzl", "cc_library") cc_library( name = "lib", hdrs = ["add.h", "sub.h"], srcs = ["add.cpp", "sub.cpp"], ) cc_library( name = "main", srcs = ["main.cpp"], deps = [":lib"], ) genrule( name = "section", outs = ["Section.md"], cmd = """ echo "# Section " > $@ echo "This is some amazing documentation with section!! " >> $@ echo "Incredible." >> $@ """, ) doxygen( name = "doxygen", project_name = "dependencies", # The output of the genrule will be included in the documentation. # The genrule will be executed when the documentation is generated. srcs = [ "README.md", # file ":section", # genrule # WARNING: By adding this, the main target will be built # and only the output files `libmain.so` and `libmain.a` # will be passed to Doxygen, which is likely not what you want. # ":main" ], # The sources of the main target and its dependencies will be included. # No compilation will be performed, so compile error won't be reported. deps = [":main"], # cc_library # Always starts at the root folder use_mdfile_as_mainpage = "dependencies/README.md", )
Excluding Bazel specific folders
Including the root directory among the input directories, which happens when a target starting with //: is used as a source,
may cause Bazel specific folders, such as external, to be explored by Doxygen.
This can slow down the documentation generation or even cause an input buffer overflow.
To avoid this, it is recommended to use the exclude_patterns parameter and set it to something like ["*/external/*"], extending it with other patterns as needed.
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") load("@rules_cc//cc:defs.bzl", "cc_library") cc_library( name = "lib", srcs = ["add.cpp", "sub.cpp"], hdrs = ["add.h", "sub.h"], ) cc_library( name = "main", srcs = ["main.cpp"], deps = [":lib"], ) doxygen( name = "doxygen", srcs = glob([ "*.md", ]), deps = [":main"] aliases = [ "licence=@par Licence:^^", "verb{1}=@verbatim \\1 @endverbatim", ], optimize_output_for_c = True, project_brief = "Example project for doxygen", project_name = "example", )
Parameters
*name | Name for the target. |
srcs | List of source files to generate documentation for. Default: [] |
deps | List of dependencies targets whose files present in the 'src', 'hdrs' and 'data' attributes will be collected to generate the documentation. Default: [] |
executable | Label of the doxygen executable. Default: None |
dot_executable | Label of the doxygen executable. Make sure it is also added to the Default: None |
configurations | List of additional configuration parameters to pass to Doxygen. Default: None |
doxyfile_template | The template file to use to generate the Doxyfile.
Default: None |
doxygen_extra_args | Extra arguments to pass to the doxygen executable. Default: [] |
use_default_shell_env | Whether to use the default shell environment when running doxygen. Default: False |
env | Additional environment variables to set when running doxygen. Default: {} |
tools | List of additional tools to include in the doxygen environment. Tools are executable inputs that may have their own runfiles which are automatically made available to the action. Default: [] |
outs | Output folders bazel will keep. If only the html outputs is of interest, the default value will do. Default: ["html"] |
doxyfile_encoding | This tag specifies the encoding used for all characters in the configuration file that follow. Default: None |
project_name | The Default: None |
project_number | The Default: None |
project_brief | Using the Default: None |
project_logo | With the Default: None |
project_icon | With the Default: None |
create_subdirs | If the Default: None |
create_subdirs_level | Controls the number of sub-directories that will be created when Default: None |
allow_unicode_names | If the Default: None |
output_language | The Default: None |
brief_member_desc | If the Default: None |
repeat_brief | If the Default: None |
abbreviate_brief | This tag implements a quasi-intelligent brief description abbreviator that is used to form the text in various listings. Default: None |
always_detailed_sec | If the Default: None |
inline_inherited_memb | If the Default: None |
full_path_names | If the Default: None |
strip_from_path | The Default: None |
strip_from_inc_path | The Default: None |
short_names | If the Default: None |
javadoc_autobrief | If the Default: None |
javadoc_banner | If the Default: None |
qt_autobrief | If the Default: None |
multiline_cpp_is_brief | The Default: None |
python_docstring | By default Python docstrings are displayed as preformatted text and Doxygen's special commands cannot be used. Default: None |
inherit_docs | If the Default: None |
separate_member_pages | If the Default: None |
tab_size | The Default: None |
aliases | This tag can be used to specify a number of aliases that act as commands in the documentation. Default: None |
optimize_output_for_c | Set the Default: None |
optimize_output_java | Set the Default: None |
optimize_for_fortran | Set the Default: None |
optimize_output_vhdl | Set the Default: None |
optimize_output_slice | Set the Default: None |
extension_mapping | Doxygen selects the parser to use depending on the extension of the files it parses. Default: None |
markdown_support | If the Default: None |
markdown_strict | If the markdown_strict tag is enabled then Doxygen treats text in comments as Markdown formatted also in cases where Doxygen's native markup format conflicts with that of Markdown. Default: None |
toc_include_headings | When the Default: None |
markdown_id_style | The Default: None |
autolink_support | When enabled Doxygen tries to link words that correspond to documented classes, or namespaces to their corresponding documentation. Default: None |
autolink_ignore_words | This tag specifies a list of words that, when matching the start of a word in the documentation, will suppress auto links generation, if it is enabled via autolink_support. Default: None |
builtin_stl_support | If you use STL classes (i.e. std::string, std::vector, etc.) but do not want to include (a tag file for) the STL sources as input, then you should set this tag to Default: None |
cpp_cli_support | If you use Microsoft's C++/CLI language, you should set this option to Default: None |
sip_support | Set the Default: None |
idl_property_support | For Microsoft's IDL there are propget and propput attributes to indicate getter and setter methods for a property. Default: None |
distribute_group_doc | If member grouping is used in the documentation and the Default: None |
group_nested_compounds | If one adds a struct or class to a group and this option is enabled, then also any nested class or struct is added to the same group. Default: None |
subgrouping | Set the Default: None |
inline_grouped_classes | When the Default: None |
inline_simple_structs | When the Default: None |
typedef_hides_struct | When Default: None |
lookup_cache_size | The size of the symbol lookup cache can be set using Default: None |
num_proc_threads | The Default: None |
timestamp | If the Default: None |
extract_all | If the Default: None |
extract_private | If the Default: None |
extract_priv_virtual | If the Default: None |
extract_package | If the Default: None |
extract_static | If the Default: None |
extract_local_classes | If the Default: None |
extract_local_methods | This flag is only useful for Objective-C code. Default: None |
extract_anon_nspaces | If this flag is set to Default: None |
resolve_unnamed_params | If this flag is set to Default: None |
hide_undoc_members | If the Default: None |
hide_undoc_classes | If the Default: None |
hide_undoc_namespaces | If the hide_undoc_namespaces tag is set to YES, Doxygen will hide all undocumented namespaces that are normally visible in the namespace hierarchy. Default: None |
hide_friend_compounds | If the Default: None |
hide_in_body_docs | If the Default: None |
internal_docs | The Default: None |
case_sense_names | With the correct setting of option Default: None |
hide_scope_names | If the Default: None |
hide_compound_reference | If the Default: None |
show_headerfile | If the Default: None |
show_include_files | If the Default: None |
show_grouped_memb_inc | If the Default: None |
force_local_includes | If the Default: None |
inline_info | If the Default: None |
sort_member_docs | If the Default: None |
sort_brief_docs | If the Default: None |
sort_members_ctors_1st | If the Default: None |
sort_group_names | If the Default: None |
sort_by_scope_name | If the Default: None |
strict_proto_matching | If the Default: None |
generate_todolist | The Default: None |
generate_testlist | The Default: None |
generate_buglist | The Default: None |
generate_deprecatedlist | The Default: None |
enabled_sections | The Default: None |
max_initializer_lines | The Default: None |
show_used_files | Set the Default: None |
show_files | Set the Default: None |
show_namespaces | Set the Default: None |
file_version_filter | The Default: None |
layout_file | The Default: None |
cite_bib_files | The Default: None |
external_tool_path | The Default: None |
quiet | The Default: None |
warnings | The Default: None |
warn_if_undocumented | If the Default: None |
warn_if_doc_error | If the Default: None |
warn_if_incomplete_doc | If Default: None |
warn_no_paramdoc | This Default: None |
warn_if_undoc_enum_val | If Default: None |
warn_layout_file | If warn_layout_file option is set to Default: None |
warn_as_error | If the Default: None |
warn_format | The Default: None |
warn_line_format | In the $text part of the Default: None |
warn_logfile | The Default: None |
input | The Default: None |
input_encoding | This tag can be used to specify the character encoding of the source files that Doxygen parses. Default: None |
input_file_encoding | This tag can be used to specify the character encoding of the source files that Doxygen parses The Default: None |
file_patterns | If the value of the Default: None |
recursive | The Default: None |
exclude | The Default: None |
exclude_symlinks | The Default: None |
exclude_patterns | If the value of the Default: None |
exclude_symbols | The Default: None |
example_path | The Default: None |
example_patterns | If the value of the Default: None |
example_recursive | If the Default: None |
image_path | The Default: None |
input_filter | The Default: None |
filter_patterns | The Default: None |
filter_source_files | If the Default: None |
filter_source_patterns | The Default: None |
use_mdfile_as_mainpage | If the Default: None |
implicit_dir_docs | If the implicit_dir_docs tag is set to Default: None |
fortran_comment_after | The Fortran standard specifies that for fixed formatted Fortran code all characters from position 72 are to be considered as comment. Default: None |
source_browser | If the Default: None |
inline_sources | Setting the Default: None |
strip_code_comments | Setting the Default: None |
referenced_by_relation | If the Default: None |
references_relation | If the Default: None |
references_link_source | If the Default: None |
source_tooltips | If Default: None |
use_htags | If the Default: None |
verbatim_headers | If the Default: None |
clang_assisted_parsing | If the Default: None |
clang_add_inc_paths | If the Default: None |
clang_options | If clang assisted parsing is enabled you can provide the compiler with command line options that you would normally use when invoking the compiler. Default: None |
clang_database_path | If clang assisted parsing is enabled you can provide the clang parser with the path to the directory containing a file called compile_commands.json. Default: None |
alphabetical_index | If the Default: None |
ignore_prefix | The Default: None |
generate_html | If the Default: None |
html_output | The Default: None |
html_file_extension | The Default: None |
html_header | The Default: None |
html_footer | The Default: None |
html_stylesheet | The Default: None |
html_extra_stylesheet | The Default: None |
html_extra_files | The Default: None |
html_colorstyle | The Default: None |
html_colorstyle_hue | The Default: None |
html_colorstyle_sat | The Default: None |
html_colorstyle_gamma | The Default: None |
html_dynamic_menus | If the Default: None |
html_dynamic_sections | If the Default: None |
html_code_folding | If the Default: None |
html_copy_clipboard | If the Default: None |
html_project_cookie | Doxygen stores a couple of settings persistently in the browser (via e.g. cookies). Default: None |
html_index_num_entries | With Default: None |
generate_docset | If the Default: None |
docset_feedname | This tag determines the name of the docset feed. Default: None |
docset_feedurl | This tag determines the URL of the docset feed. Default: None |
docset_bundle_id | This tag specifies a string that should uniquely identify the documentation set bundle. Default: None |
docset_publisher_id | The Default: None |
docset_publisher_name | The Default: None |
generate_htmlhelp | If the Default: None |
chm_file | The Default: None |
hhc_location | The Default: None |
generate_chi | The Default: None |
chm_index_encoding | The Default: None |
binary_toc | The Default: None |
toc_expand | The Default: None |
sitemap_url | The Default: None |
generate_qhp | If the Default: None |
qch_file | If the Default: None |
qhp_namespace | The Default: None |
qhp_virtual_folder | The Default: None |
qhp_cust_filter_name | If the Default: None |
qhp_cust_filter_attrs | The Default: None |
qhp_sect_filter_attrs | The Default: None |
qhg_location | The Default: None |
generate_eclipsehelp | If the Default: None |
eclipse_doc_id | A unique identifier for the Eclipse help plugin. Default: None |
disable_index | If you want full control over the layout of the generated HTML pages it might be necessary to disable the index and replace it with your own. Default: None |
generate_treeview | The Default: None |
page_outline_panel | When Default: None |
full_sidebar | When Default: None |
enum_values_per_line | The Default: None |
show_enum_values | When the Default: None |
treeview_width | If the treeview is enabled (see Default: None |
ext_links_in_window | If the Default: None |
obfuscate_emails | If the Default: None |
html_formula_format | If the Default: None |
formula_fontsize | Use this tag to change the font size of LaTeX formulas included as images in the HTML documentation. Default: None |
formula_macrofile | The Default: None |
use_mathjax | Enable the Default: None |
mathjax_version | With Default: None |
mathjax_format | When MathJax is enabled you can set the default output format to be used for the MathJax output. Default: None |
mathjax_relpath | When MathJax is enabled you need to specify the location relative to the HTML output directory using the Default: None |
mathjax_extensions | The Default: None |
mathjax_codefile | The Default: None |
searchengine | When the Default: None |
server_based_search | When the Default: None |
external_search | When Default: None |
searchengine_url | The Default: None |
searchdata_file | When Default: None |
external_search_id | When Default: None |
extra_search_mappings | The Default: None |
generate_latex | If the Default: None |
latex_output | The Default: None |
latex_cmd_name | The Default: None |
makeindex_cmd_name | The Default: None |
latex_makeindex_cmd | The Default: None |
compact_latex | If the Default: None |
paper_type | The Default: None |
extra_packages | The Default: None |
latex_header | The Default: None |
latex_footer | The Default: None |
latex_extra_stylesheet | The Default: None |
latex_extra_files | The Default: None |
pdf_hyperlinks | If the Default: None |
use_pdflatex | If the Default: None |
latex_batchmode | The Default: None |
latex_hide_indices | If the Default: None |
latex_bib_style | The Default: None |
latex_emoji_directory | The Default: None |
generate_rtf | If the Default: None |
rtf_output | The Default: None |
compact_rtf | If the Default: None |
rtf_hyperlinks | If the Default: None |
rtf_stylesheet_file | Load stylesheet definitions from file. Default: None |
rtf_extensions_file | Set optional variables used in the generation of an RTF document. Default: None |
rtf_extra_files | The Default: None |
generate_man | If the Default: None |
man_output | The Default: None |
man_extension | The Default: None |
man_subdir | The Default: None |
man_links | If the Default: None |
generate_xml | If the Default: None |
xml_output | The Default: None |
xml_programlisting | If the Default: None |
xml_ns_memb_file_scope | If the Default: None |
generate_docbook | If the Default: None |
docbook_output | The Default: None |
generate_autogen_def | If the Default: None |
generate_sqlite3 | If the Default: None |
sqlite3_output | The Default: None |
sqlite3_recreate_db | The Default: None |
generate_perlmod | If the Default: None |
perlmod_latex | If the Default: None |
perlmod_pretty | If the Default: None |
perlmod_makevar_prefix | The names of the make variables in the generated doxyrules.make file are prefixed with the string contained in Default: None |
enable_preprocessing | If the Default: None |
macro_expansion | If the Default: None |
expand_only_predef | If the Default: None |
search_includes | If the Default: None |
include_path | The Default: None |
include_file_patterns | You can use the Default: None |
predefined | The Default: None |
expand_as_defined | If the Default: None |
skip_function_macros | If the Default: None |
tagfiles | The Default: None |
generate_tagfile | When a file name is specified after Default: None |
allexternals | If the Default: None |
external_groups | If the Default: None |
external_pages | If the Default: None |
hide_undoc_relations | If set to Default: None |
have_dot | If you set the Default: None |
dot_num_threads | The Default: None |
dot_common_attr |
Default: None |
dot_edge_attr |
Default: None |
dot_node_attr |
Default: None |
dot_fontpath | You can set the path where dot can find font specified with fontname in Default: None |
dot_transparent | If the Default: None |
class_graph | If the Default: None |
collaboration_graph | If the Default: None |
group_graphs | If the Default: None |
uml_look | If the Default: None |
uml_limit_num_fields | If the Default: None |
uml_max_edge_labels | If the Default: None |
dot_uml_details | If the Default: None |
dot_wrap_threshold | The Default: None |
template_relations | If the Default: None |
include_graph | If the Default: None |
included_by_graph | If the Default: None |
call_graph | If the Default: None |
caller_graph | If the Default: None |
graphical_hierarchy | If the Default: None |
directory_graph | If the Default: None |
dir_graph_max_depth | The Default: None |
dot_image_format | The Default: None |
interactive_svg | If Default: None |
dot_path | The Default: None |
dotfile_dirs | The Default: None |
dia_path | You can include diagrams made with dia in Doxygen documentation. Default: None |
diafile_dirs | The Default: None |
plantuml_jar_path | When using PlantUML, the Default: None |
plantuml_cfg_file | When using PlantUML, the Default: None |
plantuml_include_path | When using PlantUML, the specified paths are searched for files specified by the !include statement in a PlantUML block. Default: None |
plantumlfile_dirs | The plantumlfile_dirs tag can be used to specify one or more directories that contain PlantUml files that are included in the documentation (see the \plantumlfile command). Default: None |
dot_graph_max_nodes | The Default: None |
max_dot_graph_depth | The Default: None |
dot_multi_targets | Set the Default: None |
generate_legend | If the Default: None |
dot_cleanup | If the Default: None |
mscgen_tool | You can define message sequence charts within Doxygen comments using the \msc command. Default: None |
mscfile_dirs | The Default: None |
kwargs | Additional arguments to pass to the rule (e.g. |
Providers
TransitiveSourcesInfoA provider to collect source files transitively from the target and its dependencies
Fields
srcs | depset of source files collected from the target and its dependencies |
Aspects
collect_files_aspectWhen applied to a target, this aspect collects the source files from the target and its dependencies, and makes them available in the TransitiveSourcesInfo provider.