Parses the output from doxygen containing a list of warnings, finds out who is responsible for each warning (by using git blame
), and sends emails to the responsible persons.
- Clone this repository.
- Create
config.local.ini
and add the necessary configuration (see below). - Run
doxygen-whiner.py FILE
ordoxygen-whiner.py < FILE
, whereFILE
is the path to a file containing the output from doxygen.
After the script is run, it
- parses all the warnings in the doxygen output,
- finds out who is responsible for each warning (by using
git blame
), - connects to an SMTP server and sends emails to the responsible persons,
- adds the warnings into an SQLite database so the script knows which warnings have already been reported when you run the script repeatedly.
You can set up a cron job that periodically runs doxygen, stores its output into a file, and runs doxygen-whiner.py
afterwards.
The script uses .ini
configuration files. The global configuration is stored in config.ini
. If you want to overwrite some of the configuration, do not edit this file. Instead, create a config.local.ini
file and specify the changes in there.
When the script is run, it parses both of these configuration files. If the same configuration option is present in both of these files, the value from the local configuration file (config.local.ini
) is used.
The script's code is covered by unit tests. To execute them, simply run make test
. It will run the tests by using nosetests, so make sure you have it installed.
If you want to generate code coverage, run make test-coverage
and open coverage/index.html
in your favorite web browser. Once again, you need to have nosetests installed.
Copyright 2014 Daniela Ďuričeková daniela.duricekova@protonmail.com
This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program. If not, see http://www.gnu.org/licenses/.