Commit 91703ca2 authored by Andrew Dunstan's avatar Andrew Dunstan

Add a script and a config file to run perlcritic

This is similar to what we do to run perltidy. For now we only run at
severity level 5. Over time we can improve our perl code and reduce the
severity level.

Discussion: https://postgr.es/m/86aa2a3a-0c68-21fb-9560-84ad6914d561@2ndQuadrant.com
parent cb5d9429
######################################################################
#
# src/tools/pgperlcritic/perlcriticrc
#
# config file for perlcritic for Postgres project
#
#####################################################################
severity = 5
theme = core
# allow octal constants with leading zeros
[-ValuesAndExpressions::ProhibitLeadingZeros]
#!/bin/sh
# src/tools/pgperlcritic/pgperlcritic
test -f src/tools/pgperlcritic/perlcriticrc || {
echo could not find src/tools/pgperlcritic/perlcriticrc
exit 1
}
set -e
# set this to override default perlcritic program:
PERLCRITIC=${PERLCRITIC:-perlcritic}
# locate all Perl files in the tree
{
# take all .pl and .pm files
find . -type f -a \( -name '*.pl' -o -name '*.pm' \) -print
# take executable files that file(1) thinks are perl files
find . -type f -perm -100 -exec file {} \; -print |
egrep -i ':.*perl[0-9]*\>' |
cut -d: -f1
} |
sort -u |
xargs $PERLCRITIC \
--quiet \
--program-extensions .pl \
--profile=src/tools/pgperlcritic/perlcriticrc
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment