| #!/bin/bash |
| |
| set -ex |
| |
| ignore_warning() { |
| # Invert match to filter out $1. |
| set +e |
| grep -v "$1" doxygen-log.txt > temp.txt |
| set -e |
| mv temp.txt doxygen-log.txt |
| } |
| |
| # Run doxygen and log all output. |
| doxygen 2> original-doxygen-log.txt |
| cp original-doxygen-log.txt doxygen-log.txt |
| |
| echo "Original output" |
| cat original-doxygen-log.txt |
| |
| # Filter out some warnings. |
| ignore_warning "warning: no uniquely matching class member found for" |
| ignore_warning "warning:.*\.\./\.\./\.\./build/aten.*" |
| |
| # Count the number of remaining warnings. |
| warnings="$(grep 'warning:' doxygen-log.txt | wc -l)" |
| |
| if [[ "$warnings" -ne "0" ]]; then |
| echo "Filtered output" |
| cat doxygen-log.txt |
| rm -f doxygen-log.txt original-doxygen-log.txt |
| exit 1 |
| fi |
| |
| rm -f doxygen-log.txt original-doxygen-log.txt |