The order of the lines in a doxyfile are important. This patch uses an
ordered dictionary to keep the keys of the doxyfile in the same order.
This is particularly important for doxyfiles that contain @INCLUDE
lines. In such cases, if the dictionary is not ordered, the @INCLUDE
line can end up in the middle of the generated doxyfile and thus
override all entries that were seen before it.
Task generators created from other task generators may be
skipped during partial builds. This change re-enables
install_task as a task attribute and provides a task
object with input and output nodes which can be re-used
by other tasks.
When no OUTPUT_DIRECTORY was set for doxygen, then the parent
directory of the doxyfile was used. If the doxyfile is in the
root-directory, then this was the build-directory itself, which
led to the complete build-directory (including all other build
artifacts) to be installed.
The OUTPUT_DIRECTORY set (if not given) now includes the name
of the doxyfile itself (+ suffix '.doxy').
The install of doxygen-generated files also did not preserve
the directory structure.
The doxy playground example was simplified and updated, as
separate installation is no longer needed.
Signed-off-by: Thomas Nagy <tnagy2pow10@gmail.com>
Ensure the output directory is always created to avoid issues when
trying to install on a clean build.
Change-Id: I64be30348af7862971cbbc1f17bc53213b9998f3
Type: Bug Fix
Signed-off-by: Thomas Nagy <tnagy2pow10@gmail.com>
This adds support to the doxygen tool for installing the documentation
that was generated. A new install_path attribute can be added to the
doxygen TaskGen to control where it should be installed to.
Signed-off-by: Thomas Nagy <tnagy2pow10@gmail.com>
The doxygen tool had previously been modified to always run from the
root of the build directory. This was done as a workaround to allow
the OUTPUT_PATH in the doxyfile to contain a relative path. The tool
then had to be modified to fix up any relative paths in the Doxyfile
to be relative to the root of the build directory. This is problematic
because there are many DoxyFile parameters that can be relative paths.
This patch fixes up the logic to execute doxygen in the same directory
where the DoxyFile lives. This allows all relative paths in the
Doxyfile to work so they no longer need fixed up. It then updates the
logic for OUTPUT_DIRECTORY to handle relative paths correctly.
Signed-off-by: Thomas Nagy <tnagy2pow10@gmail.com>
The doxygen demo program suggests that doxy parameters can be passed
as arguments to the task, e.g.,
bld(features="doxygen", doxyfile="doxy.conf",
pars={'INPUT': bld.path.ant_glob("**/*.c")})
Previously, these inputs were not passed from the task generator
to the task, and only the parameters read from the doxy configuration
file were used. This patch retrieves parameters (if any) from the task
generator and uses them to override those in the doxy file,
allowing more flexible overriding for individual build targets.
Signed-off-by: Thomas Nagy <tnagy2pow10@gmail.com>
added: support for RECURSIVE, as well as for included and excluded files
changed: detection of doxygen is non-mandatory by default. If it is
desired that doxygen is mandatory, user is expected to check
bld|conf.env.DOXYGEN and bld|conf.env.TAR variables
Signed-off-by: Thomas Nagy <tnagy2pow10@gmail.com>