Commit af616ce4 authored by Andrew Dunstan's avatar Andrew Dunstan

Add a script to detect perl compile time errors and warnings

Also add a function that centralizes the logic for locating all our perl
files and use it in pgperlcritic and pgperltidy as well as the new
pgperlcheck.
parent be3d9002
# src/tools/perlcheck/find_perl_files
# shell function to find all perl files in the source tree
find_perl_files () {
{
# take all .pl and .pm files
find . -type f -name '*.p[lm]' -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
}
#!/bin/sh
# script to detect compile time errors and warnings in all perl files
INCLUDES="-I src/tools/msvc -I src/tools/msvc/dummylib -I src/backend/catalog"
INCLUDES="-I src/test/perl -I src/backend/utils/mb/Unicode $INCLUDES"
INCLUDES="-I src/bin/pg_rewind -I src/test/ssl $INCLUDES"
set -e
. src/tools/perlcheck/find_perl_files
# for zsh
setopt shwordsplit 2>/dev/null || true
find_perl_files | xargs -L 1 perl $INCLUDES -cw 2>&1 | grep -v OK
......@@ -7,14 +7,6 @@ set -e
# set this to override default perltidy program:
PERLTIDY=${PERLTIDY:-perltidy}
# locate all Perl files in the tree
(
# take all .pl and .pm files
find . -type f -a \( -name '*.pl' -o -name '*.pm' \)
# take executable files that file(1) thinks are perl files
find . -type f -perm -100 -exec file {} \; |
egrep -i ':.*perl[0-9]*\>' |
cut -d: -f1
) |
sort -u |
xargs $PERLTIDY --profile=src/tools/pgindent/perltidyrc
. src/tools/perlcheck/find_perl_files
find_perl_files | xargs $PERLTIDY --profile=src/tools/pgindent/perltidyrc
......@@ -12,17 +12,9 @@ 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 -name '*.p[lm]' -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 \
. src/tools/perlcheck/find_perl_files
find_perl_files | 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