Ignoring files in project folder for Doxygen - doxygen

How can you ignore files by Doxygen similarly as by Git's .git/info/exclude?
Doxygen generates docs for me based on 3rd party codes such Email -component and of my Git -repo, which I do not want.
I need to keep the files where they are.

You can use the EXCLUDE_PATTERNS tag in the configuration file:
EXCLUDE_PATTERNS = */test/*
Taken from here.

Related

Remove Doxygen Clutter

I am using Doxygen to generate documentation for my project and I have a small issue. The report ignores folders specified, but still creates a huge header that links to code in the folders that I ignored.
I am using 3rd party code and I placed that into a folder named vendor. To ignore this code I placed the following in my doxygen config.
EXCLUDE_PATTERNS = */build/*
EXCLUDE_PATTERNS += */test/*
EXCLUDE_PATTERNS += */vendor/*
Now the reports are not created but still links in the header(picture). My code currently does not include or use the vendor code. My jenkins pipeline builds it.
The first step in my pipeline is doxygen to ensure the report is only generated on the untouched source code.

asciidoc, doctoolchain, target github readme.adoc - how to export asciidoc file containing includes into ONE file without include?

GitHub supports asciidoc readme files, but it looks like "include" is not supported.
I want to use doctoolchain which can render and export to html and pdf (and maybe into other formats). This tool works great.
I could use raw.githack.com to show the generated html file from the GitHub repository.
But I think it would be a good idea to have the result also as one (1) readme.adoc file.
How to export into one (1) asciidoc file, which I could use as it is as readme file so that github will render it and show? Best would be to use doctoolchain, when this tool will render my documentation it could also generate the one-file-asciidoc-documentation.
I think internally asciidoctor collects and merge all these "include" files. So maybe this file is already available in any place? The doctoolchain build folder contains only the target files.
You are right there is a long dicussion why includeis not supported by github.
You can achieve your goal with doctoolChain and pandoc(https://pandoc.org/). Following steps are required:
configure your docDir/Config.groovy
inputFiles should have docbook defined
inputFiles = [[file: 'yourfile', formats['docbook']]]
run the doctoolchain task generateDocbook - it creates ???.xml file somewhere in docDir/build
generate from the generated docbook again an asciidoctor file - `pandoc <FILENAME_OF_GENERATED_DOCBOOK.XML> -f docbook -t asciidoctor -o <FILENAME_OF_ASCIIDOCTOR_WHICH_HAS_EVERYTHING>
make sure it runs automatically and you commit it regulary
now you are ready
This script can be used to resolve includes and to generate one (1) output file:
https://github.com/asciidoctor/asciidoctor-extensions-lab/blob/master/scripts/asciidoc-coalescer.rb
some information about the script and possible next steps you can read here:
AsciiDoc Backend (AsciiDoc 2 AsciiDoc) for preprocessing
to use it, ruby and asciidoc must be installed:
asciidoctor.org/#installation

.gitattributes file isn't excluding files from the language statistics

I am currently learning OpenGL and am uploading my program to GitHub. However, because the dependencies are included in the language statistics the statistics are massively inflated.
I have attempted to write a .gitattributes file to sort this however I can't get it working. I have gone through github-linguistics documentation and several questions on here and have found nothing that works. I have used the git check-attr command and there are no attributes assigned to the files.
The code below is what is in the .gitattributes file, and I will also include a link to the repository itself in case that helps.
OpenGl[[:space]]Tutorial[[:space]]Project/Dependencies/** linguist-vendored
OpenGl[[:space]]Tutorial[[:space]]Project/glad.c linguist-vendored
https://github.com/HDonovan96/Programming
What I expect to be happening is that the 'glad.c' file and every file in 'Dependencies' to be excluded from the language statistics, however they are still all included.
You're missing trailing : characters in your [[:space:]]. Try this instead:
OpenGl[[:space:]]Tutorial[[:space:]]Project/Dependencies/** linguist-vendored
OpenGl[[:space:]]Tutorial[[:space:]]Project/glad.c linguist-vendored

How to add an external resource (pdf file) in my doxygen documentation

I generate a doxygen documentation. In one of my "page" I have a link to a pdf file:
<b>Overview</b>
This file is in my project in another directory. The documentation ends up in folder called "html".
How do I tell doxygen to copy the pdf file into html ?
There is a doxygen configuration option HTML_EXTRA_FILES that allows extra files to be copied to the root of the html documentation. You should be able to specify the following to copy the file:
HTML_EXTRA_FILES = ../documents/xxx.pdf
This will place xxx.pdf in the root of your HTML documentation, so you will likely need to change your link to:
<b>Overview</b>

Relative files paths in doxygen-generated documentation

I am using Doxygen 1.7.4 for Windows.
In the File List page of generated documentation I'd like to see relative paths.
I have set FULL_PATH_NAMES = YES, to have something more, than just filename without path, but this gives full, absolute paths.
I want only paths relative to project directory. I know, that I can use STRIP_FROM_PATH but I have problem with wildcards. I need that kind of path-stripping, because this project is made on multiple PCs (as git repo), so paths can be different.
Is it possible to use wildcards for this setting, or do I have to set doxyfile for each workstation with part of absolute path to strip?
Edit:
I've found something like what I need on the doxygen website: STRIP_FROM_PATH = $(QTDIR)/
Maybe it is possible to use one of doxyfile's variables?
I'm not sure about Windows, but on Linux and OS X I can produce outputs in the file list like
src/Utils.cpp [code]
src/Utils.h [code]
src/VectorMath.h [code]
test/src/test.cpp [code]
By setting FULL_PATH_NAMES to YES and STRIP_FROM_PATH to ../.. (i.e. the directory path of project's root which is two directories up from where I'm building the docs). You may need to swap the directory separator to the windows one.
You'll also need to watch out that you update the Doxyfile if you move the docs around.