Skip to content

Instantly share code, notes, and snippets.

@kbenzie
Last active October 27, 2017 13:43
Show Gist options
  • Save kbenzie/70689deba8575c6353ac to your computer and use it in GitHub Desktop.
Save kbenzie/70689deba8575c6353ac to your computer and use it in GitHub Desktop.
Treat doxygen warnings as errors and concisely display warnings/errors.
#!/usr/bin/python
from __future__ import print_function
def main():
from argparse import ArgumentParser
from platform import system
from subprocess import Popen, PIPE
from sys import stderr
parser = ArgumentParser()
parser.add_argument('args', nargs='*', help='arguments passed to doxygen')
parser.add_argument(
'--exe',
default='doxygen.exe' if system() == 'Windows' else 'doxygen',
help='path to doxygen executable, default: %(default)s')
args = parser.parse_args()
process = Popen([args.exe] + args.args, stdout=PIPE, stderr=PIPE)
errors = process.stderr.read().strip()
if len(errors) != 0:
print(errors, file=stderr)
exit(2)
try:
main()
except KeyboardInterrupt:
pass
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment