Introduction
GNATdoc is a documentation tool for Ada which processes source files, extracts documentation from the sources, and generates either annotated HTML files or Restructured Text (.rst) files.
It relies on documentation comments that it extracts from the source code. The engine in charge of extracting these comments, coupled with a cross-reference engine, gives GNATdoc all the flexibility needed to generate accurate documentation, and report errors in cases of missing documentation.
Installation
GNATdoc is shipped as part of the GNAT Studio package. To install it, launch the GNAT Studio installer.
After the installation, place
<gnatstudio_installation_prefix>/bin/
in your PATH environment
variable.
Launching GNATdoc
GNATdoc requires your project hierarchy to be described via GNAT project files (.gpr).
To launch GNATdoc, execute:
gnatdoc -P <your_project>
where <your_project>
is the .gpr file at the root of your project
hierarchy (referred to here as the root project).
GNATdoc generates an HTML report in the gnatdoc
directory of the object
directory of the root project.
Command line interface
A brief description of the supported switches is available through the –help switch:
$ gnatdoc --help
Usage: gnatdoc [options] project_file
Options:
--backend <name> Backend to use to generate output
--generate <part> Part of code to generate documentation
-O, --output-dir <output_dir>
Output directory for generated documentation
-P, --project <project_file>
Project file to process
--style <style> Use given style of documentation
--warnings Report warnings for undocumented entities
-v, --verbose Enable verbose output
-X Set scenario variable
-h, --help Display help information
Arguments:
project_file Project file to process
Here is the list of supported switches:
-P, –project=<file>: specify the project file
Specify the path name of the main project file. The space between -P and the project file name is optional.
-X <NAME>=<VALUE>: Project external references
Specify an external reference in the project. This can be used multiple times.
–backend=<name>: select the output format
GNATdoc generates HTML files (–backend=html), or ReST files (–backend=rst). The default is HTML.
–generate=<part>: Select the of entities to be included into the documentation
- public
Entities declared in the public part of the package specification. This is the default.
- private
Entities declared in the package specifications, in both public and private parts.
- body
All entities declared in the both package specifications and at library level in package bodies.
-O, –output-dir=<path>: Output directory
Directory to output generated documentation. This option overrides the value of the Documentation’Output_Dir attribute defined in the project file.
–style=<style>: Documentation comments style
- leading
Documentation is extracted from the comment before the entity declaration.
- trailing
Documentation is extracted from the comment after the entity declaration.
- gnat
Documentation is extracted from the comment after the entity declaration and additional features of the GNAT style are enabled.
-v, –verbose: Enable verbose output
–warnings: Enable warnings for missing documentation
Emit warnings for fields, parameters or subprograms which do not have documentation.