diff --git a/src/tools/perlcheck/find_perl_files b/src/tools/perlcheck/find_perl_files new file mode 100644 index 0000000000..e10466a390 --- /dev/null +++ b/src/tools/perlcheck/find_perl_files @@ -0,0 +1,15 @@ + +# 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 +} diff --git a/src/tools/perlcheck/pgperlsyncheck b/src/tools/perlcheck/pgperlsyncheck new file mode 100755 index 0000000000..74f1584b8e --- /dev/null +++ b/src/tools/perlcheck/pgperlsyncheck @@ -0,0 +1,16 @@ +#!/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 diff --git a/src/tools/pgindent/pgperltidy b/src/tools/pgindent/pgperltidy index 5d9aa7c64c..5e704119eb 100755 --- a/src/tools/pgindent/pgperltidy +++ b/src/tools/pgindent/pgperltidy @@ -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 diff --git a/src/tools/pgperlcritic/pgperlcritic b/src/tools/pgperlcritic/pgperlcritic index 28264b1a24..5e7edbf99f 100755 --- a/src/tools/pgperlcritic/pgperlcritic +++ b/src/tools/pgperlcritic/pgperlcritic @@ -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