mirror of
https://github.com/super-linter/super-linter.git
synced 2024-11-24 23:21:12 -05:00
Merge pull request #534 from marghidanu/master
PerlCritic basic implementation
This commit is contained in:
commit
1746012dab
10 changed files with 18 additions and 9 deletions
|
@ -7,7 +7,6 @@
|
|||
#############
|
||||
# Load Libs #
|
||||
#############
|
||||
use strict;
|
||||
|
||||
##################
|
||||
#### GLOBALS: ####
|
||||
|
|
|
@ -2,6 +2,6 @@ TAP version 13
|
|||
1..2
|
||||
not ok 1 - perl_bad_1.pl
|
||||
---
|
||||
message: Global symbol "$here" requires explicit package name (did you forget to declare "my $here"?) at /tmp/lint/.automation/test/perl/perl_bad_1.pl line 37.\n/tmp/lint/.automation/test/perl/perl_bad_1.pl had compilation errors.\n
|
||||
message: Code before strictures are enabled at line 14, column 1. See page 429 of PBP. (Severity 5)\n
|
||||
...
|
||||
ok 2 - perl_good_1.pl
|
||||
|
|
2
.github/linters/.perlcriticrc
vendored
Normal file
2
.github/linters/.perlcriticrc
vendored
Normal file
|
@ -0,0 +1,2 @@
|
|||
severity = 1
|
||||
verbose = %f:%l:%c [%s %p] %m near '%r'\n
|
|
@ -65,7 +65,7 @@ RUN apk add --update --no-cache \
|
|||
musl-dev \
|
||||
npm nodejs-current \
|
||||
openjdk8-jre \
|
||||
perl \
|
||||
perl perl-dev \
|
||||
php7 php7-phar php7-json php7-mbstring php-xmlwriter \
|
||||
php7-tokenizer php7-ctype php7-curl php7-dom php7-simplexml \
|
||||
py3-setuptools \
|
||||
|
@ -101,6 +101,11 @@ ENV PATH="/node_modules/.bin:${PATH}"
|
|||
##############################
|
||||
RUN bundle install
|
||||
|
||||
##############################
|
||||
# Installs Perl dependencies #
|
||||
##############################
|
||||
RUN curl -sL https://cpanmin.us/ | perl - -nq --no-wget Perl::Critic
|
||||
|
||||
##############################
|
||||
# Install Phive dependencies #
|
||||
##############################
|
||||
|
|
|
@ -63,7 +63,7 @@ Developers on **GitHub** can call the **GitHub Action** to lint their code base
|
|||
| **Lua** | [luacheck](https://github.com/luarocks/luacheck) |
|
||||
| **Markdown** | [markdownlint](https://github.com/igorshubovych/markdownlint-cli#readme) |
|
||||
| **OpenAPI** | [spectral](https://github.com/stoplightio/spectral) |
|
||||
| **Perl** | [perl](https://pkgs.alpinelinux.org/package/edge/main/x86/perl) |
|
||||
| **Perl** | [perlcritic](https://metacpan.org/pod/Perl::Critic) |
|
||||
| **PHP** | [PHP built-in linter](https://www.php.net/) [PHP CodeSniffer](https://github.com/squizlabs/PHP_CodeSniffer) [PHPStan](https://phpstan.org/n) [Psalm](https://psalm.dev/) |
|
||||
| **PowerShell** | [PSScriptAnalyzer](https://github.com/PowerShell/Psscriptanalyzer) |
|
||||
| **Protocol Buffers** | [protolint](https://github.com/yoheimuta/protolint) |
|
||||
|
@ -71,7 +71,7 @@ Developers on **GitHub** can call the **GitHub Action** to lint their code base
|
|||
| **Raku** | [raku](https://raku.org) |
|
||||
| **Ruby** | [RuboCop](https://github.com/rubocop-hq/rubocop) |
|
||||
| **Shell** | [Shellcheck](https://github.com/koalaman/shellcheck) |
|
||||
| **SQL** | [sql-lint](https://github.com/joereynolds/sql-lint) |
|
||||
| **SQL** | [sql-lint](https://github.com/joereynolds/sql-lint) |
|
||||
| **Terraform** | [tflint](https://github.com/terraform-linters/tflint) [terrascan](https://github.com/accurics/terrascan) |
|
||||
| **TypeScript** | [eslint](https://eslint.org/) [standard js](https://standardjs.com/) |
|
||||
| **XML** | [LibXML](http://xmlsoft.org/) |
|
||||
|
|
2
TEMPLATES/.perlcriticrc
Normal file
2
TEMPLATES/.perlcriticrc
Normal file
|
@ -0,0 +1,2 @@
|
|||
severity = 1
|
||||
verbose = %f:%l:%c [%s %p] %m near '%r'\n
|
|
@ -721,7 +721,7 @@ Here is more data
|
|||
|
||||
## Perl
|
||||
|
||||
- [perl](https://pkgs.alpinelinux.org/package/edge/main/x86/perl)
|
||||
- `.github/linters/.perlcriticrc`
|
||||
|
||||
### Perl Config file
|
||||
|
||||
|
|
|
@ -200,7 +200,8 @@ function BuildFileList() {
|
|||
######################
|
||||
# Get the PERL files #
|
||||
######################
|
||||
elif [ "${FILE_TYPE}" == "pl" ]; then
|
||||
elif [ "${FILE_TYPE}" == "pl" ] || [ "${FILE_TYPE}" == "pm" ] ||
|
||||
[ "${FILE_TYPE}" == "t" ]; then
|
||||
################################
|
||||
# Append the file to the array #
|
||||
################################
|
||||
|
|
|
@ -1585,7 +1585,7 @@ if [ "${VALIDATE_PERL}" == "true" ]; then
|
|||
# Lint the perl files #
|
||||
#######################
|
||||
# LintCodebase "FILE_TYPE" "LINTER_NAME" "LINTER_CMD" "FILE_TYPES_REGEX" "FILE_ARRAY"
|
||||
LintCodebase "PERL" "perl" "perl -Mstrict -cw" ".*\.\(pl\)\$" "${FILE_ARRAY_PERL[@]}"
|
||||
LintCodebase "PERL" "perl" "perlcritic" ".*\.\(pl\|pm\|t\)\$" "${FILE_ARRAY_PERL[@]}"
|
||||
fi
|
||||
|
||||
################
|
||||
|
|
|
@ -590,7 +590,7 @@ function RunTestCases() {
|
|||
TestCodebase "KOTLIN" "ktlint" "ktlint" ".*\.\(kt\|kts\)\$" "kotlin"
|
||||
TestCodebase "LUA" "lua" "luacheck" ".*\.\(lua\)\$" "lua"
|
||||
TestCodebase "MARKDOWN" "markdownlint" "markdownlint -c ${MARKDOWN_LINTER_RULES}" ".*\.\(md\)\$" "markdown"
|
||||
TestCodebase "PERL" "perl" "perl -Mstrict -cw" ".*\.\(pl\)\$" "perl"
|
||||
TestCodebase "PERL" "perl" "perlcritic" ".*\.\(pl\|pm\|t\)\$" "perl"
|
||||
TestCodebase "PHP_BUILTIN" "php" "php -l" ".*\.\(php\)\$" "php"
|
||||
TestCodebase "PHP_PHPCS" "phpcs" "phpcs --standard=${PHP_PHPCS_LINTER_RULES}" ".*\.\(php\)\$" "php"
|
||||
TestCodebase "PHP_PHPSTAN" "phpstan" "phpstan analyse --no-progress --no-ansi -c ${PHP_PHPSTAN_LINTER_RULES}" ".*\.\(php\)\$" "php"
|
||||
|
|
Loading…
Reference in a new issue