doc/doxygen.warnings.report.sh
author Peter D. Barnes, Jr. <barnes26@llnl.gov>
Wed, 07 Nov 2012 13:21:37 -0800
changeset 9123 a2c0863500a9
parent 9120 9dc069207a90
child 9126 e3472695ddb9
permissions -rwxr-xr-x
[Bug 1521] Use custom doxygen run to log all errors in doxygen.warnings.report.sh
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
8915
7ad2ae0f57cc Script to summarize doxygen.warnings.log
Peter D. Barnes, Jr. <barnes26@llnl.gov>
parents:
diff changeset
     1
#!/bin/bash
7ad2ae0f57cc Script to summarize doxygen.warnings.log
Peter D. Barnes, Jr. <barnes26@llnl.gov>
parents:
diff changeset
     2
7ad2ae0f57cc Script to summarize doxygen.warnings.log
Peter D. Barnes, Jr. <barnes26@llnl.gov>
parents:
diff changeset
     3
# Process doxygen.warnings.log to generate sorted list of top offenders
7ad2ae0f57cc Script to summarize doxygen.warnings.log
Peter D. Barnes, Jr. <barnes26@llnl.gov>
parents:
diff changeset
     4
9123
a2c0863500a9 [Bug 1521] Use custom doxygen run to log all errors in doxygen.warnings.report.sh
Peter D. Barnes, Jr. <barnes26@llnl.gov>
parents: 9120
diff changeset
     5
DIR=`dirname $0`
a2c0863500a9 [Bug 1521] Use custom doxygen run to log all errors in doxygen.warnings.report.sh
Peter D. Barnes, Jr. <barnes26@llnl.gov>
parents: 9120
diff changeset
     6
ROOT=`hg root`
a2c0863500a9 [Bug 1521] Use custom doxygen run to log all errors in doxygen.warnings.report.sh
Peter D. Barnes, Jr. <barnes26@llnl.gov>
parents: 9120
diff changeset
     7
a2c0863500a9 [Bug 1521] Use custom doxygen run to log all errors in doxygen.warnings.report.sh
Peter D. Barnes, Jr. <barnes26@llnl.gov>
parents: 9120
diff changeset
     8
# First, we have to modify doxygen.conf to generate all the warnings
a2c0863500a9 [Bug 1521] Use custom doxygen run to log all errors in doxygen.warnings.report.sh
Peter D. Barnes, Jr. <barnes26@llnl.gov>
parents: 9120
diff changeset
     9
# (We also suppress dot graphs, so shorten the run time.)
a2c0863500a9 [Bug 1521] Use custom doxygen run to log all errors in doxygen.warnings.report.sh
Peter D. Barnes, Jr. <barnes26@llnl.gov>
parents: 9120
diff changeset
    10
a2c0863500a9 [Bug 1521] Use custom doxygen run to log all errors in doxygen.warnings.report.sh
Peter D. Barnes, Jr. <barnes26@llnl.gov>
parents: 9120
diff changeset
    11
conf=$DIR/doxygen.conf
a2c0863500a9 [Bug 1521] Use custom doxygen run to log all errors in doxygen.warnings.report.sh
Peter D. Barnes, Jr. <barnes26@llnl.gov>
parents: 9120
diff changeset
    12
a2c0863500a9 [Bug 1521] Use custom doxygen run to log all errors in doxygen.warnings.report.sh
Peter D. Barnes, Jr. <barnes26@llnl.gov>
parents: 9120
diff changeset
    13
sed -i.bak -E '/^EXTRACT_ALL |^HAVE_DOT /s/YES/no/' $conf
a2c0863500a9 [Bug 1521] Use custom doxygen run to log all errors in doxygen.warnings.report.sh
Peter D. Barnes, Jr. <barnes26@llnl.gov>
parents: 9120
diff changeset
    14
rm -f $conf.bak
a2c0863500a9 [Bug 1521] Use custom doxygen run to log all errors in doxygen.warnings.report.sh
Peter D. Barnes, Jr. <barnes26@llnl.gov>
parents: 9120
diff changeset
    15
a2c0863500a9 [Bug 1521] Use custom doxygen run to log all errors in doxygen.warnings.report.sh
Peter D. Barnes, Jr. <barnes26@llnl.gov>
parents: 9120
diff changeset
    16
echo -n "Rebuilding doxygen docs with full errors..."
a2c0863500a9 [Bug 1521] Use custom doxygen run to log all errors in doxygen.warnings.report.sh
Peter D. Barnes, Jr. <barnes26@llnl.gov>
parents: 9120
diff changeset
    17
(cd $ROOT && ./waf --doxygen >/dev/null 2>&1)
a2c0863500a9 [Bug 1521] Use custom doxygen run to log all errors in doxygen.warnings.report.sh
Peter D. Barnes, Jr. <barnes26@llnl.gov>
parents: 9120
diff changeset
    18
status=$?
a2c0863500a9 [Bug 1521] Use custom doxygen run to log all errors in doxygen.warnings.report.sh
Peter D. Barnes, Jr. <barnes26@llnl.gov>
parents: 9120
diff changeset
    19
a2c0863500a9 [Bug 1521] Use custom doxygen run to log all errors in doxygen.warnings.report.sh
Peter D. Barnes, Jr. <barnes26@llnl.gov>
parents: 9120
diff changeset
    20
hg revert $conf
a2c0863500a9 [Bug 1521] Use custom doxygen run to log all errors in doxygen.warnings.report.sh
Peter D. Barnes, Jr. <barnes26@llnl.gov>
parents: 9120
diff changeset
    21
a2c0863500a9 [Bug 1521] Use custom doxygen run to log all errors in doxygen.warnings.report.sh
Peter D. Barnes, Jr. <barnes26@llnl.gov>
parents: 9120
diff changeset
    22
if [ "$status" = "0" ]; then
a2c0863500a9 [Bug 1521] Use custom doxygen run to log all errors in doxygen.warnings.report.sh
Peter D. Barnes, Jr. <barnes26@llnl.gov>
parents: 9120
diff changeset
    23
    echo "Done."
a2c0863500a9 [Bug 1521] Use custom doxygen run to log all errors in doxygen.warnings.report.sh
Peter D. Barnes, Jr. <barnes26@llnl.gov>
parents: 9120
diff changeset
    24
else
a2c0863500a9 [Bug 1521] Use custom doxygen run to log all errors in doxygen.warnings.report.sh
Peter D. Barnes, Jr. <barnes26@llnl.gov>
parents: 9120
diff changeset
    25
    echo "FAILED."
a2c0863500a9 [Bug 1521] Use custom doxygen run to log all errors in doxygen.warnings.report.sh
Peter D. Barnes, Jr. <barnes26@llnl.gov>
parents: 9120
diff changeset
    26
    exit 1
a2c0863500a9 [Bug 1521] Use custom doxygen run to log all errors in doxygen.warnings.report.sh
Peter D. Barnes, Jr. <barnes26@llnl.gov>
parents: 9120
diff changeset
    27
fi
a2c0863500a9 [Bug 1521] Use custom doxygen run to log all errors in doxygen.warnings.report.sh
Peter D. Barnes, Jr. <barnes26@llnl.gov>
parents: 9120
diff changeset
    28
a2c0863500a9 [Bug 1521] Use custom doxygen run to log all errors in doxygen.warnings.report.sh
Peter D. Barnes, Jr. <barnes26@llnl.gov>
parents: 9120
diff changeset
    29
# Now we're ready to summarize the log
a2c0863500a9 [Bug 1521] Use custom doxygen run to log all errors in doxygen.warnings.report.sh
Peter D. Barnes, Jr. <barnes26@llnl.gov>
parents: 9120
diff changeset
    30
a2c0863500a9 [Bug 1521] Use custom doxygen run to log all errors in doxygen.warnings.report.sh
Peter D. Barnes, Jr. <barnes26@llnl.gov>
parents: 9120
diff changeset
    31
logfile=$DIR/doxygen.warnings.log
8915
7ad2ae0f57cc Script to summarize doxygen.warnings.log
Peter D. Barnes, Jr. <barnes26@llnl.gov>
parents:
diff changeset
    32
7ad2ae0f57cc Script to summarize doxygen.warnings.log
Peter D. Barnes, Jr. <barnes26@llnl.gov>
parents:
diff changeset
    33
echo
7ad2ae0f57cc Script to summarize doxygen.warnings.log
Peter D. Barnes, Jr. <barnes26@llnl.gov>
parents:
diff changeset
    34
echo "Summary Report of Doxygen warnings:"
7ad2ae0f57cc Script to summarize doxygen.warnings.log
Peter D. Barnes, Jr. <barnes26@llnl.gov>
parents:
diff changeset
    35
echo
7ad2ae0f57cc Script to summarize doxygen.warnings.log
Peter D. Barnes, Jr. <barnes26@llnl.gov>
parents:
diff changeset
    36
echo "Count of warning by module:"
7ad2ae0f57cc Script to summarize doxygen.warnings.log
Peter D. Barnes, Jr. <barnes26@llnl.gov>
parents:
diff changeset
    37
echo "Count Module"
9123
a2c0863500a9 [Bug 1521] Use custom doxygen run to log all errors in doxygen.warnings.report.sh
Peter D. Barnes, Jr. <barnes26@llnl.gov>
parents: 9120
diff changeset
    38
grep "^$ROOT" $logfile  | \
8915
7ad2ae0f57cc Script to summarize doxygen.warnings.log
Peter D. Barnes, Jr. <barnes26@llnl.gov>
parents:
diff changeset
    39
    cut -d ':' -f 1 | \
9123
a2c0863500a9 [Bug 1521] Use custom doxygen run to log all errors in doxygen.warnings.report.sh
Peter D. Barnes, Jr. <barnes26@llnl.gov>
parents: 9120
diff changeset
    40
    sed "s|$ROOT||g" | \
8915
7ad2ae0f57cc Script to summarize doxygen.warnings.log
Peter D. Barnes, Jr. <barnes26@llnl.gov>
parents:
diff changeset
    41
    cut -d '/' -f 1-3 | \
7ad2ae0f57cc Script to summarize doxygen.warnings.log
Peter D. Barnes, Jr. <barnes26@llnl.gov>
parents:
diff changeset
    42
    sort | \
7ad2ae0f57cc Script to summarize doxygen.warnings.log
Peter D. Barnes, Jr. <barnes26@llnl.gov>
parents:
diff changeset
    43
    uniq -c | \
7ad2ae0f57cc Script to summarize doxygen.warnings.log
Peter D. Barnes, Jr. <barnes26@llnl.gov>
parents:
diff changeset
    44
    sort -nr
7ad2ae0f57cc Script to summarize doxygen.warnings.log
Peter D. Barnes, Jr. <barnes26@llnl.gov>
parents:
diff changeset
    45
7ad2ae0f57cc Script to summarize doxygen.warnings.log
Peter D. Barnes, Jr. <barnes26@llnl.gov>
parents:
diff changeset
    46
echo 
7ad2ae0f57cc Script to summarize doxygen.warnings.log
Peter D. Barnes, Jr. <barnes26@llnl.gov>
parents:
diff changeset
    47
7ad2ae0f57cc Script to summarize doxygen.warnings.log
Peter D. Barnes, Jr. <barnes26@llnl.gov>
parents:
diff changeset
    48
undocparam=` \
9123
a2c0863500a9 [Bug 1521] Use custom doxygen run to log all errors in doxygen.warnings.report.sh
Peter D. Barnes, Jr. <barnes26@llnl.gov>
parents: 9120
diff changeset
    49
grep -v "^$ROOT" $logfile | \
8915
7ad2ae0f57cc Script to summarize doxygen.warnings.log
Peter D. Barnes, Jr. <barnes26@llnl.gov>
parents:
diff changeset
    50
    grep -v "not generated, too many nodes" | \
9120
9dc069207a90 [Bug 1521] Have doxygen log more warnings; remove obsolete items from log report script.
Peter D. Barnes, Jr. <barnes26@llnl.gov>
parents: 8915
diff changeset
    51
    grep "^  parameter '" $logfile | \
8915
7ad2ae0f57cc Script to summarize doxygen.warnings.log
Peter D. Barnes, Jr. <barnes26@llnl.gov>
parents:
diff changeset
    52
    wc -l | \
7ad2ae0f57cc Script to summarize doxygen.warnings.log
Peter D. Barnes, Jr. <barnes26@llnl.gov>
parents:
diff changeset
    53
    sed 's/^[ \t]*//;s/[ \t]*$//' `
7ad2ae0f57cc Script to summarize doxygen.warnings.log
Peter D. Barnes, Jr. <barnes26@llnl.gov>
parents:
diff changeset
    54
9120
9dc069207a90 [Bug 1521] Have doxygen log more warnings; remove obsolete items from log report script.
Peter D. Barnes, Jr. <barnes26@llnl.gov>
parents: 8915
diff changeset
    55
echo "+ $undocparam additional undocumented parameters."
8915
7ad2ae0f57cc Script to summarize doxygen.warnings.log
Peter D. Barnes, Jr. <barnes26@llnl.gov>
parents:
diff changeset
    56
echo
7ad2ae0f57cc Script to summarize doxygen.warnings.log
Peter D. Barnes, Jr. <barnes26@llnl.gov>
parents:
diff changeset
    57
9120
9dc069207a90 [Bug 1521] Have doxygen log more warnings; remove obsolete items from log report script.
Peter D. Barnes, Jr. <barnes26@llnl.gov>
parents: 8915
diff changeset
    58
echo "(All counts are lower bounds.)"
8915
7ad2ae0f57cc Script to summarize doxygen.warnings.log
Peter D. Barnes, Jr. <barnes26@llnl.gov>
parents:
diff changeset
    59
echo