mirror of
https://github.com/postgres/postgres.git
synced 2025-04-29 13:56:47 +03:00
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.
This commit is contained in:
parent
be3d90026a
commit
af616ce483
15
src/tools/perlcheck/find_perl_files
Normal file
15
src/tools/perlcheck/find_perl_files
Normal file
@ -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
|
||||||
|
}
|
16
src/tools/perlcheck/pgperlsyncheck
Executable file
16
src/tools/perlcheck/pgperlsyncheck
Executable file
@ -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
|
@ -7,14 +7,6 @@ set -e
|
|||||||
# set this to override default perltidy program:
|
# set this to override default perltidy program:
|
||||||
PERLTIDY=${PERLTIDY:-perltidy}
|
PERLTIDY=${PERLTIDY:-perltidy}
|
||||||
|
|
||||||
# locate all Perl files in the tree
|
. src/tools/perlcheck/find_perl_files
|
||||||
(
|
|
||||||
# take all .pl and .pm files
|
find_perl_files | xargs $PERLTIDY --profile=src/tools/pgindent/perltidyrc
|
||||||
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
|
|
||||||
|
@ -12,17 +12,9 @@ set -e
|
|||||||
# set this to override default perlcritic program:
|
# set this to override default perlcritic program:
|
||||||
PERLCRITIC=${PERLCRITIC:-perlcritic}
|
PERLCRITIC=${PERLCRITIC:-perlcritic}
|
||||||
|
|
||||||
# locate all Perl files in the tree
|
. src/tools/perlcheck/find_perl_files
|
||||||
{
|
|
||||||
# take all .pl and .pm files
|
find_perl_files | xargs $PERLCRITIC \
|
||||||
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 \
|
|
||||||
--quiet \
|
--quiet \
|
||||||
--program-extensions .pl \
|
--program-extensions .pl \
|
||||||
--profile=src/tools/pgperlcritic/perlcriticrc
|
--profile=src/tools/pgperlcritic/perlcriticrc
|
||||||
|
Loading…
x
Reference in New Issue
Block a user