From 740d9267e2328707bbf27825c75f861c3164cb3c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Borja=20Dom=C3=ADnguez?= Date: Fri, 5 Apr 2024 05:31:49 +0200 Subject: [PATCH] feat: add descriptor pre / post commands (#3468) * feat: add descriptor pre / post commands * [MegaLinter] Apply linters fixes --------- Co-authored-by: bdovaz --- .automation/build.py | 38 + .../test/pre-post-test/.mega-linter.yml | 8 +- docs/descriptors/action.md | 10 +- docs/descriptors/ansible.md | 10 +- docs/descriptors/arm.md | 10 +- docs/descriptors/bash.md | 10 +- docs/descriptors/bicep.md | 10 +- docs/descriptors/c.md | 10 +- docs/descriptors/clojure.md | 10 +- docs/descriptors/cloudformation.md | 10 +- docs/descriptors/coffee.md | 10 +- docs/descriptors/copypaste.md | 10 +- docs/descriptors/cpp.md | 10 +- docs/descriptors/csharp.md | 10 +- docs/descriptors/css.md | 10 +- docs/descriptors/dart.md | 10 +- docs/descriptors/dockerfile.md | 10 +- docs/descriptors/editorconfig.md | 10 +- docs/descriptors/env.md | 10 +- docs/descriptors/gherkin.md | 10 +- docs/descriptors/go.md | 10 +- docs/descriptors/graphql.md | 10 +- docs/descriptors/groovy.md | 10 +- docs/descriptors/html.md | 10 +- docs/descriptors/java.md | 10 +- docs/descriptors/javascript.md | 10 +- docs/descriptors/json.md | 10 +- docs/descriptors/jsx.md | 10 +- docs/descriptors/kotlin.md | 10 +- docs/descriptors/kubernetes.md | 10 +- docs/descriptors/latex.md | 10 +- docs/descriptors/lua.md | 10 +- docs/descriptors/makefile.md | 10 +- docs/descriptors/markdown.md | 10 +- docs/descriptors/openapi.md | 10 +- docs/descriptors/perl.md | 10 +- docs/descriptors/php.md | 10 +- docs/descriptors/powershell.md | 10 +- docs/descriptors/protobuf.md | 10 +- docs/descriptors/puppet.md | 10 +- docs/descriptors/python.md | 10 +- docs/descriptors/r.md | 10 +- docs/descriptors/raku.md | 10 +- docs/descriptors/repository.md | 10 +- docs/descriptors/rst.md | 10 +- docs/descriptors/ruby.md | 10 +- docs/descriptors/rust.md | 10 +- docs/descriptors/salesforce.md | 10 +- docs/descriptors/scala.md | 10 +- docs/descriptors/snakemake.md | 10 +- docs/descriptors/spell.md | 10 +- docs/descriptors/sql.md | 10 +- docs/descriptors/swift.md | 10 +- docs/descriptors/tekton.md | 10 +- docs/descriptors/terraform.md | 10 +- docs/descriptors/tsx.md | 10 +- docs/descriptors/typescript.md | 10 +- docs/descriptors/vbdotnet.md | 10 +- docs/descriptors/xml.md | 10 +- docs/descriptors/yaml.md | 10 +- megalinter/MegaLinter.py | 12 + .../megalinter-configuration.jsonschema.json | 2056 ++++++++++++++++- megalinter/pre_post_factory.py | 14 + .../tests/test_megalinter/pre_post_test.py | 4 + 64 files changed, 2437 insertions(+), 275 deletions(-) diff --git a/.automation/build.py b/.automation/build.py index f8d4676f23c..06041ab80dc 100644 --- a/.automation/build.py +++ b/.automation/build.py @@ -954,12 +954,50 @@ def generate_descriptor_documentation(descriptor): "| ----------------- | -------------- | -------------- |", ] descriptor_md += [ + f"| {descriptor.get('descriptor_id')}_PRE_COMMANDS | List of bash commands to run before the linters | None |", + f"| {descriptor.get('descriptor_id')}_POST_COMMANDS | List of bash commands to run after the linters | None |", f"| {descriptor.get('descriptor_id')}_FILTER_REGEX_INCLUDE | Custom regex including filter | |", f"| {descriptor.get('descriptor_id')}_FILTER_REGEX_EXCLUDE | Custom regex excluding filter | |", "", ] add_in_config_schema_file( [ + [ + f"{descriptor.get('descriptor_id')}_PRE_COMMANDS", + { + "$id": f"#/properties/{descriptor.get('descriptor_id')}_PRE_COMMANDS", + "type": "array", + "title": f"Pre commands for {descriptor.get('descriptor_id')} descriptor", + "examples": [ + [ + { + "command": "composer install", + "continue_if_failed": False, + "cwd": "workspace", + } + ] + ], + "items": {"$ref": "#/definitions/command_info"}, + }, + ], + [ + f"{descriptor.get('descriptor_id')}_POST_COMMANDS", + { + "$id": f"#/properties/{descriptor.get('descriptor_id')}_POST_COMMANDS", + "type": "array", + "title": f"Post commands for {descriptor.get('descriptor_id')} descriptor", + "examples": [ + [ + { + "command": "npm run test", + "continue_if_failed": False, + "cwd": "workspace", + } + ] + ], + "items": {"$ref": "#/definitions/command_info"}, + }, + ], [ f"{descriptor.get('descriptor_id')}_FILTER_REGEX_INCLUDE", { diff --git a/.automation/test/pre-post-test/.mega-linter.yml b/.automation/test/pre-post-test/.mega-linter.yml index dfe81fb5303..4521afc2845 100644 --- a/.automation/test/pre-post-test/.mega-linter.yml +++ b/.automation/test/pre-post-test/.mega-linter.yml @@ -20,9 +20,15 @@ PRE_COMMANDS: POST_COMMANDS: - command: npm run test cwd: "workspace" +MARKDOWN_PRE_COMMANDS: + - command: echo 'descriptor pre-command has been run' + cwd: "root" +MARKDOWN_POST_COMMANDS: + - command: echo 'descriptor post-command has been run' + cwd: "root" MARKDOWN_MARKDOWNLINT_PRE_COMMANDS: - command: echo 'linter pre-command has been run' cwd: "root" MARKDOWN_MARKDOWNLINT_POST_COMMANDS: - - command: echo 'linter pre-command has been run' + - command: echo 'linter post-command has been run' cwd: "root" diff --git a/docs/descriptors/action.md b/docs/descriptors/action.md index d49d4b7e17f..a5cf0bc75e4 100644 --- a/docs/descriptors/action.md +++ b/docs/descriptors/action.md @@ -21,8 +21,10 @@ description: actionlint is available to analyze ACTION files in MegaLinter ## Configuration in MegaLinter -| Variable | Description | Default value | -|-----------------------------|-------------------------------|---------------| -| ACTION_FILTER_REGEX_INCLUDE | Custom regex including filter | | -| ACTION_FILTER_REGEX_EXCLUDE | Custom regex excluding filter | | +| Variable | Description | Default value | +|-----------------------------|-------------------------------------------------|---------------| +| ACTION_PRE_COMMANDS | List of bash commands to run before the linters | None | +| ACTION_POST_COMMANDS | List of bash commands to run after the linters | None | +| ACTION_FILTER_REGEX_INCLUDE | Custom regex including filter | | +| ACTION_FILTER_REGEX_EXCLUDE | Custom regex excluding filter | | diff --git a/docs/descriptors/ansible.md b/docs/descriptors/ansible.md index fc1af4d092a..dd797333b07 100644 --- a/docs/descriptors/ansible.md +++ b/docs/descriptors/ansible.md @@ -21,8 +21,10 @@ description: ansible-lint is available to analyze ANSIBLE files in MegaLinter ## Configuration in MegaLinter -| Variable | Description | Default value | -|------------------------------|-------------------------------|---------------| -| ANSIBLE_FILTER_REGEX_INCLUDE | Custom regex including filter | | -| ANSIBLE_FILTER_REGEX_EXCLUDE | Custom regex excluding filter | | +| Variable | Description | Default value | +|------------------------------|-------------------------------------------------|---------------| +| ANSIBLE_PRE_COMMANDS | List of bash commands to run before the linters | None | +| ANSIBLE_POST_COMMANDS | List of bash commands to run after the linters | None | +| ANSIBLE_FILTER_REGEX_INCLUDE | Custom regex including filter | | +| ANSIBLE_FILTER_REGEX_EXCLUDE | Custom regex excluding filter | | diff --git a/docs/descriptors/arm.md b/docs/descriptors/arm.md index 83da9551c70..a172790ae0e 100644 --- a/docs/descriptors/arm.md +++ b/docs/descriptors/arm.md @@ -23,10 +23,12 @@ description: arm-ttk is available to analyze ARM files in MegaLinter ## Configuration in MegaLinter -| Variable | Description | Default value | -|--------------------------|-------------------------------|---------------| -| ARM_FILTER_REGEX_INCLUDE | Custom regex including filter | | -| ARM_FILTER_REGEX_EXCLUDE | Custom regex excluding filter | | +| Variable | Description | Default value | +|--------------------------|-------------------------------------------------|---------------| +| ARM_PRE_COMMANDS | List of bash commands to run before the linters | None | +| ARM_POST_COMMANDS | List of bash commands to run after the linters | None | +| ARM_FILTER_REGEX_INCLUDE | Custom regex including filter | | +| ARM_FILTER_REGEX_EXCLUDE | Custom regex excluding filter | | ## Behind the scenes diff --git a/docs/descriptors/bash.md b/docs/descriptors/bash.md index 7219e716779..73cf16cd73d 100644 --- a/docs/descriptors/bash.md +++ b/docs/descriptors/bash.md @@ -25,10 +25,12 @@ description: bash-exec, shellcheck, shfmt are available to analyze BASH files in ## Configuration in MegaLinter -| Variable | Description | Default value | -|---------------------------|-------------------------------|---------------| -| BASH_FILTER_REGEX_INCLUDE | Custom regex including filter | | -| BASH_FILTER_REGEX_EXCLUDE | Custom regex excluding filter | | +| Variable | Description | Default value | +|---------------------------|-------------------------------------------------|---------------| +| BASH_PRE_COMMANDS | List of bash commands to run before the linters | None | +| BASH_POST_COMMANDS | List of bash commands to run after the linters | None | +| BASH_FILTER_REGEX_INCLUDE | Custom regex including filter | | +| BASH_FILTER_REGEX_EXCLUDE | Custom regex excluding filter | | ## Behind the scenes diff --git a/docs/descriptors/bicep.md b/docs/descriptors/bicep.md index dad25c02073..156f3d25993 100644 --- a/docs/descriptors/bicep.md +++ b/docs/descriptors/bicep.md @@ -17,8 +17,10 @@ description: bicep_linter is available to analyze BICEP files in MegaLinter ## Configuration in MegaLinter -| Variable | Description | Default value | -|----------------------------|-------------------------------|---------------| -| BICEP_FILTER_REGEX_INCLUDE | Custom regex including filter | | -| BICEP_FILTER_REGEX_EXCLUDE | Custom regex excluding filter | | +| Variable | Description | Default value | +|----------------------------|-------------------------------------------------|---------------| +| BICEP_PRE_COMMANDS | List of bash commands to run before the linters | None | +| BICEP_POST_COMMANDS | List of bash commands to run after the linters | None | +| BICEP_FILTER_REGEX_INCLUDE | Custom regex including filter | | +| BICEP_FILTER_REGEX_EXCLUDE | Custom regex excluding filter | | diff --git a/docs/descriptors/c.md b/docs/descriptors/c.md index fe208d0578c..4a3bf278498 100644 --- a/docs/descriptors/c.md +++ b/docs/descriptors/c.md @@ -22,8 +22,10 @@ description: cpplint, clang-format are available to analyze C files in MegaLinte ## Configuration in MegaLinter -| Variable | Description | Default value | -|------------------------|-------------------------------|---------------| -| C_FILTER_REGEX_INCLUDE | Custom regex including filter | | -| C_FILTER_REGEX_EXCLUDE | Custom regex excluding filter | | +| Variable | Description | Default value | +|------------------------|-------------------------------------------------|---------------| +| C_PRE_COMMANDS | List of bash commands to run before the linters | None | +| C_POST_COMMANDS | List of bash commands to run after the linters | None | +| C_FILTER_REGEX_INCLUDE | Custom regex including filter | | +| C_FILTER_REGEX_EXCLUDE | Custom regex excluding filter | | diff --git a/docs/descriptors/clojure.md b/docs/descriptors/clojure.md index 3a81f115953..a490dd24f8d 100644 --- a/docs/descriptors/clojure.md +++ b/docs/descriptors/clojure.md @@ -24,10 +24,12 @@ description: clj-kondo, cljstyle are available to analyze CLOJURE files in MegaL ## Configuration in MegaLinter -| Variable | Description | Default value | -|------------------------------|-------------------------------|---------------| -| CLOJURE_FILTER_REGEX_INCLUDE | Custom regex including filter | | -| CLOJURE_FILTER_REGEX_EXCLUDE | Custom regex excluding filter | | +| Variable | Description | Default value | +|------------------------------|-------------------------------------------------|---------------| +| CLOJURE_PRE_COMMANDS | List of bash commands to run before the linters | None | +| CLOJURE_POST_COMMANDS | List of bash commands to run after the linters | None | +| CLOJURE_FILTER_REGEX_INCLUDE | Custom regex including filter | | +| CLOJURE_FILTER_REGEX_EXCLUDE | Custom regex excluding filter | | ## Behind the scenes diff --git a/docs/descriptors/cloudformation.md b/docs/descriptors/cloudformation.md index d0f746e7e6e..214973c19ed 100644 --- a/docs/descriptors/cloudformation.md +++ b/docs/descriptors/cloudformation.md @@ -26,8 +26,10 @@ description: cfn-lint is available to analyze CLOUDFORMATION files in MegaLinter ## Configuration in MegaLinter -| Variable | Description | Default value | -|-------------------------------------|-------------------------------|---------------| -| CLOUDFORMATION_FILTER_REGEX_INCLUDE | Custom regex including filter | | -| CLOUDFORMATION_FILTER_REGEX_EXCLUDE | Custom regex excluding filter | | +| Variable | Description | Default value | +|-------------------------------------|-------------------------------------------------|---------------| +| CLOUDFORMATION_PRE_COMMANDS | List of bash commands to run before the linters | None | +| CLOUDFORMATION_POST_COMMANDS | List of bash commands to run after the linters | None | +| CLOUDFORMATION_FILTER_REGEX_INCLUDE | Custom regex including filter | | +| CLOUDFORMATION_FILTER_REGEX_EXCLUDE | Custom regex excluding filter | | diff --git a/docs/descriptors/coffee.md b/docs/descriptors/coffee.md index 10c92b0c1ff..2dde47f7817 100644 --- a/docs/descriptors/coffee.md +++ b/docs/descriptors/coffee.md @@ -20,8 +20,10 @@ description: coffeelint is available to analyze COFFEE files in MegaLinter ## Configuration in MegaLinter -| Variable | Description | Default value | -|-----------------------------|-------------------------------|---------------| -| COFFEE_FILTER_REGEX_INCLUDE | Custom regex including filter | | -| COFFEE_FILTER_REGEX_EXCLUDE | Custom regex excluding filter | | +| Variable | Description | Default value | +|-----------------------------|-------------------------------------------------|---------------| +| COFFEE_PRE_COMMANDS | List of bash commands to run before the linters | None | +| COFFEE_POST_COMMANDS | List of bash commands to run after the linters | None | +| COFFEE_FILTER_REGEX_INCLUDE | Custom regex including filter | | +| COFFEE_FILTER_REGEX_EXCLUDE | Custom regex excluding filter | | diff --git a/docs/descriptors/copypaste.md b/docs/descriptors/copypaste.md index d0e4e9bae25..d04eb0c4490 100644 --- a/docs/descriptors/copypaste.md +++ b/docs/descriptors/copypaste.md @@ -17,8 +17,10 @@ description: jscpd is available to analyze COPYPASTE files in MegaLinter ## Configuration in MegaLinter -| Variable | Description | Default value | -|--------------------------------|-------------------------------|---------------| -| COPYPASTE_FILTER_REGEX_INCLUDE | Custom regex including filter | | -| COPYPASTE_FILTER_REGEX_EXCLUDE | Custom regex excluding filter | | +| Variable | Description | Default value | +|--------------------------------|-------------------------------------------------|---------------| +| COPYPASTE_PRE_COMMANDS | List of bash commands to run before the linters | None | +| COPYPASTE_POST_COMMANDS | List of bash commands to run after the linters | None | +| COPYPASTE_FILTER_REGEX_INCLUDE | Custom regex including filter | | +| COPYPASTE_FILTER_REGEX_EXCLUDE | Custom regex excluding filter | | diff --git a/docs/descriptors/cpp.md b/docs/descriptors/cpp.md index f87453e9cca..1397ce700ed 100644 --- a/docs/descriptors/cpp.md +++ b/docs/descriptors/cpp.md @@ -31,8 +31,10 @@ description: cpplint, clang-format are available to analyze CPP files in MegaLin ## Configuration in MegaLinter -| Variable | Description | Default value | -|--------------------------|-------------------------------|---------------| -| CPP_FILTER_REGEX_INCLUDE | Custom regex including filter | | -| CPP_FILTER_REGEX_EXCLUDE | Custom regex excluding filter | | +| Variable | Description | Default value | +|--------------------------|-------------------------------------------------|---------------| +| CPP_PRE_COMMANDS | List of bash commands to run before the linters | None | +| CPP_POST_COMMANDS | List of bash commands to run after the linters | None | +| CPP_FILTER_REGEX_INCLUDE | Custom regex including filter | | +| CPP_FILTER_REGEX_EXCLUDE | Custom regex excluding filter | | diff --git a/docs/descriptors/csharp.md b/docs/descriptors/csharp.md index 17bbad05f10..e0ab6d0a5bf 100644 --- a/docs/descriptors/csharp.md +++ b/docs/descriptors/csharp.md @@ -22,10 +22,12 @@ description: dotnet-format, csharpier, roslynator are available to analyze CSHAR ## Configuration in MegaLinter -| Variable | Description | Default value | -|-----------------------------|-------------------------------|---------------| -| CSHARP_FILTER_REGEX_INCLUDE | Custom regex including filter | | -| CSHARP_FILTER_REGEX_EXCLUDE | Custom regex excluding filter | | +| Variable | Description | Default value | +|-----------------------------|-------------------------------------------------|---------------| +| CSHARP_PRE_COMMANDS | List of bash commands to run before the linters | None | +| CSHARP_POST_COMMANDS | List of bash commands to run after the linters | None | +| CSHARP_FILTER_REGEX_INCLUDE | Custom regex including filter | | +| CSHARP_FILTER_REGEX_EXCLUDE | Custom regex excluding filter | | ## Behind the scenes diff --git a/docs/descriptors/css.md b/docs/descriptors/css.md index ec5397b981f..63a6395eb53 100644 --- a/docs/descriptors/css.md +++ b/docs/descriptors/css.md @@ -23,8 +23,10 @@ description: stylelint, scss-lint are available to analyze CSS files in MegaLint ## Configuration in MegaLinter -| Variable | Description | Default value | -|--------------------------|-------------------------------|---------------| -| CSS_FILTER_REGEX_INCLUDE | Custom regex including filter | | -| CSS_FILTER_REGEX_EXCLUDE | Custom regex excluding filter | | +| Variable | Description | Default value | +|--------------------------|-------------------------------------------------|---------------| +| CSS_PRE_COMMANDS | List of bash commands to run before the linters | None | +| CSS_POST_COMMANDS | List of bash commands to run after the linters | None | +| CSS_FILTER_REGEX_INCLUDE | Custom regex including filter | | +| CSS_FILTER_REGEX_EXCLUDE | Custom regex excluding filter | | diff --git a/docs/descriptors/dart.md b/docs/descriptors/dart.md index 679df53c04d..d186bdacb57 100644 --- a/docs/descriptors/dart.md +++ b/docs/descriptors/dart.md @@ -20,10 +20,12 @@ description: dartanalyzer is available to analyze DART files in MegaLinter ## Configuration in MegaLinter -| Variable | Description | Default value | -|---------------------------|-------------------------------|---------------| -| DART_FILTER_REGEX_INCLUDE | Custom regex including filter | | -| DART_FILTER_REGEX_EXCLUDE | Custom regex excluding filter | | +| Variable | Description | Default value | +|---------------------------|-------------------------------------------------|---------------| +| DART_PRE_COMMANDS | List of bash commands to run before the linters | None | +| DART_POST_COMMANDS | List of bash commands to run after the linters | None | +| DART_FILTER_REGEX_INCLUDE | Custom regex including filter | | +| DART_FILTER_REGEX_EXCLUDE | Custom regex excluding filter | | ## Behind the scenes diff --git a/docs/descriptors/dockerfile.md b/docs/descriptors/dockerfile.md index b13004516e2..68958f90e24 100644 --- a/docs/descriptors/dockerfile.md +++ b/docs/descriptors/dockerfile.md @@ -21,8 +21,10 @@ description: hadolint is available to analyze DOCKERFILE files in MegaLinter ## Configuration in MegaLinter -| Variable | Description | Default value | -|---------------------------------|-------------------------------|---------------| -| DOCKERFILE_FILTER_REGEX_INCLUDE | Custom regex including filter | | -| DOCKERFILE_FILTER_REGEX_EXCLUDE | Custom regex excluding filter | | +| Variable | Description | Default value | +|---------------------------------|-------------------------------------------------|---------------| +| DOCKERFILE_PRE_COMMANDS | List of bash commands to run before the linters | None | +| DOCKERFILE_POST_COMMANDS | List of bash commands to run after the linters | None | +| DOCKERFILE_FILTER_REGEX_INCLUDE | Custom regex including filter | | +| DOCKERFILE_FILTER_REGEX_EXCLUDE | Custom regex excluding filter | | diff --git a/docs/descriptors/editorconfig.md b/docs/descriptors/editorconfig.md index 4ed08f90e68..78bb411feb7 100644 --- a/docs/descriptors/editorconfig.md +++ b/docs/descriptors/editorconfig.md @@ -21,8 +21,10 @@ description: editorconfig-checker is available to analyze EDITORCONFIG files in ## Configuration in MegaLinter -| Variable | Description | Default value | -|-----------------------------------|-------------------------------|---------------| -| EDITORCONFIG_FILTER_REGEX_INCLUDE | Custom regex including filter | | -| EDITORCONFIG_FILTER_REGEX_EXCLUDE | Custom regex excluding filter | | +| Variable | Description | Default value | +|-----------------------------------|-------------------------------------------------|---------------| +| EDITORCONFIG_PRE_COMMANDS | List of bash commands to run before the linters | None | +| EDITORCONFIG_POST_COMMANDS | List of bash commands to run after the linters | None | +| EDITORCONFIG_FILTER_REGEX_INCLUDE | Custom regex including filter | | +| EDITORCONFIG_FILTER_REGEX_EXCLUDE | Custom regex excluding filter | | diff --git a/docs/descriptors/env.md b/docs/descriptors/env.md index ea5d17e029b..70618f58b34 100644 --- a/docs/descriptors/env.md +++ b/docs/descriptors/env.md @@ -20,8 +20,10 @@ description: dotenv-linter is available to analyze ENV files in MegaLinter ## Configuration in MegaLinter -| Variable | Description | Default value | -|--------------------------|-------------------------------|---------------| -| ENV_FILTER_REGEX_INCLUDE | Custom regex including filter | | -| ENV_FILTER_REGEX_EXCLUDE | Custom regex excluding filter | | +| Variable | Description | Default value | +|--------------------------|-------------------------------------------------|---------------| +| ENV_PRE_COMMANDS | List of bash commands to run before the linters | None | +| ENV_POST_COMMANDS | List of bash commands to run after the linters | None | +| ENV_FILTER_REGEX_INCLUDE | Custom regex including filter | | +| ENV_FILTER_REGEX_EXCLUDE | Custom regex excluding filter | | diff --git a/docs/descriptors/gherkin.md b/docs/descriptors/gherkin.md index d04024106ea..ac4f43116bb 100644 --- a/docs/descriptors/gherkin.md +++ b/docs/descriptors/gherkin.md @@ -20,8 +20,10 @@ description: gherkin-lint is available to analyze GHERKIN files in MegaLinter ## Configuration in MegaLinter -| Variable | Description | Default value | -|------------------------------|-------------------------------|---------------| -| GHERKIN_FILTER_REGEX_INCLUDE | Custom regex including filter | | -| GHERKIN_FILTER_REGEX_EXCLUDE | Custom regex excluding filter | | +| Variable | Description | Default value | +|------------------------------|-------------------------------------------------|---------------| +| GHERKIN_PRE_COMMANDS | List of bash commands to run before the linters | None | +| GHERKIN_POST_COMMANDS | List of bash commands to run after the linters | None | +| GHERKIN_FILTER_REGEX_INCLUDE | Custom regex including filter | | +| GHERKIN_FILTER_REGEX_EXCLUDE | Custom regex excluding filter | | diff --git a/docs/descriptors/go.md b/docs/descriptors/go.md index 2258198dbcb..da0741e10f3 100644 --- a/docs/descriptors/go.md +++ b/docs/descriptors/go.md @@ -21,8 +21,10 @@ description: golangci-lint, revive are available to analyze GO files in MegaLint ## Configuration in MegaLinter -| Variable | Description | Default value | -|-------------------------|-------------------------------|---------------| -| GO_FILTER_REGEX_INCLUDE | Custom regex including filter | | -| GO_FILTER_REGEX_EXCLUDE | Custom regex excluding filter | | +| Variable | Description | Default value | +|-------------------------|-------------------------------------------------|---------------| +| GO_PRE_COMMANDS | List of bash commands to run before the linters | None | +| GO_POST_COMMANDS | List of bash commands to run after the linters | None | +| GO_FILTER_REGEX_INCLUDE | Custom regex including filter | | +| GO_FILTER_REGEX_EXCLUDE | Custom regex excluding filter | | diff --git a/docs/descriptors/graphql.md b/docs/descriptors/graphql.md index 8406d46a4ca..6c44e349cbd 100644 --- a/docs/descriptors/graphql.md +++ b/docs/descriptors/graphql.md @@ -20,8 +20,10 @@ description: graphql-schema-linter is available to analyze GRAPHQL files in Mega ## Configuration in MegaLinter -| Variable | Description | Default value | -|------------------------------|-------------------------------|---------------| -| GRAPHQL_FILTER_REGEX_INCLUDE | Custom regex including filter | | -| GRAPHQL_FILTER_REGEX_EXCLUDE | Custom regex excluding filter | | +| Variable | Description | Default value | +|------------------------------|-------------------------------------------------|---------------| +| GRAPHQL_PRE_COMMANDS | List of bash commands to run before the linters | None | +| GRAPHQL_POST_COMMANDS | List of bash commands to run after the linters | None | +| GRAPHQL_FILTER_REGEX_INCLUDE | Custom regex including filter | | +| GRAPHQL_FILTER_REGEX_EXCLUDE | Custom regex excluding filter | | diff --git a/docs/descriptors/groovy.md b/docs/descriptors/groovy.md index dc5ec751e7b..45e7f9b7949 100644 --- a/docs/descriptors/groovy.md +++ b/docs/descriptors/groovy.md @@ -26,8 +26,10 @@ description: npm-groovy-lint is available to analyze GROOVY files in MegaLinter ## Configuration in MegaLinter -| Variable | Description | Default value | -|-----------------------------|-------------------------------|---------------| -| GROOVY_FILTER_REGEX_INCLUDE | Custom regex including filter | | -| GROOVY_FILTER_REGEX_EXCLUDE | Custom regex excluding filter | | +| Variable | Description | Default value | +|-----------------------------|-------------------------------------------------|---------------| +| GROOVY_PRE_COMMANDS | List of bash commands to run before the linters | None | +| GROOVY_POST_COMMANDS | List of bash commands to run after the linters | None | +| GROOVY_FILTER_REGEX_INCLUDE | Custom regex including filter | | +| GROOVY_FILTER_REGEX_EXCLUDE | Custom regex excluding filter | | diff --git a/docs/descriptors/html.md b/docs/descriptors/html.md index 59d8fa5214a..5ec31a217b5 100644 --- a/docs/descriptors/html.md +++ b/docs/descriptors/html.md @@ -22,8 +22,10 @@ description: djlint, htmlhint are available to analyze HTML files in MegaLinter ## Configuration in MegaLinter -| Variable | Description | Default value | -|---------------------------|-------------------------------|---------------| -| HTML_FILTER_REGEX_INCLUDE | Custom regex including filter | | -| HTML_FILTER_REGEX_EXCLUDE | Custom regex excluding filter | | +| Variable | Description | Default value | +|---------------------------|-------------------------------------------------|---------------| +| HTML_PRE_COMMANDS | List of bash commands to run before the linters | None | +| HTML_POST_COMMANDS | List of bash commands to run after the linters | None | +| HTML_FILTER_REGEX_INCLUDE | Custom regex including filter | | +| HTML_FILTER_REGEX_EXCLUDE | Custom regex excluding filter | | diff --git a/docs/descriptors/java.md b/docs/descriptors/java.md index fc5ffee52b2..2275554309a 100644 --- a/docs/descriptors/java.md +++ b/docs/descriptors/java.md @@ -21,10 +21,12 @@ description: checkstyle, pmd are available to analyze JAVA files in MegaLinter ## Configuration in MegaLinter -| Variable | Description | Default value | -|---------------------------|-------------------------------|---------------| -| JAVA_FILTER_REGEX_INCLUDE | Custom regex including filter | | -| JAVA_FILTER_REGEX_EXCLUDE | Custom regex excluding filter | | +| Variable | Description | Default value | +|---------------------------|-------------------------------------------------|---------------| +| JAVA_PRE_COMMANDS | List of bash commands to run before the linters | None | +| JAVA_POST_COMMANDS | List of bash commands to run after the linters | None | +| JAVA_FILTER_REGEX_INCLUDE | Custom regex including filter | | +| JAVA_FILTER_REGEX_EXCLUDE | Custom regex excluding filter | | ## Behind the scenes diff --git a/docs/descriptors/javascript.md b/docs/descriptors/javascript.md index b0ba63dd387..41f8b9ea2de 100644 --- a/docs/descriptors/javascript.md +++ b/docs/descriptors/javascript.md @@ -22,8 +22,10 @@ description: eslint, standard, prettier are available to analyze JAVASCRIPT file ## Configuration in MegaLinter -| Variable | Description | Default value | -|---------------------------------|-------------------------------|---------------| -| JAVASCRIPT_FILTER_REGEX_INCLUDE | Custom regex including filter | | -| JAVASCRIPT_FILTER_REGEX_EXCLUDE | Custom regex excluding filter | | +| Variable | Description | Default value | +|---------------------------------|-------------------------------------------------|---------------| +| JAVASCRIPT_PRE_COMMANDS | List of bash commands to run before the linters | None | +| JAVASCRIPT_POST_COMMANDS | List of bash commands to run after the linters | None | +| JAVASCRIPT_FILTER_REGEX_INCLUDE | Custom regex including filter | | +| JAVASCRIPT_FILTER_REGEX_EXCLUDE | Custom regex excluding filter | | diff --git a/docs/descriptors/json.md b/docs/descriptors/json.md index ebc745b8d61..986218b201e 100644 --- a/docs/descriptors/json.md +++ b/docs/descriptors/json.md @@ -24,8 +24,10 @@ description: jsonlint, eslint-plugin-jsonc, v8r, prettier, npm-package-json-lint ## Configuration in MegaLinter -| Variable | Description | Default value | -|---------------------------|-------------------------------|---------------| -| JSON_FILTER_REGEX_INCLUDE | Custom regex including filter | | -| JSON_FILTER_REGEX_EXCLUDE | Custom regex excluding filter | | +| Variable | Description | Default value | +|---------------------------|-------------------------------------------------|---------------| +| JSON_PRE_COMMANDS | List of bash commands to run before the linters | None | +| JSON_POST_COMMANDS | List of bash commands to run after the linters | None | +| JSON_FILTER_REGEX_INCLUDE | Custom regex including filter | | +| JSON_FILTER_REGEX_EXCLUDE | Custom regex excluding filter | | diff --git a/docs/descriptors/jsx.md b/docs/descriptors/jsx.md index a47f61fcda5..c6eacb1b0f1 100644 --- a/docs/descriptors/jsx.md +++ b/docs/descriptors/jsx.md @@ -20,8 +20,10 @@ description: eslint is available to analyze JSX files in MegaLinter ## Configuration in MegaLinter -| Variable | Description | Default value | -|--------------------------|-------------------------------|---------------| -| JSX_FILTER_REGEX_INCLUDE | Custom regex including filter | | -| JSX_FILTER_REGEX_EXCLUDE | Custom regex excluding filter | | +| Variable | Description | Default value | +|--------------------------|-------------------------------------------------|---------------| +| JSX_PRE_COMMANDS | List of bash commands to run before the linters | None | +| JSX_POST_COMMANDS | List of bash commands to run after the linters | None | +| JSX_FILTER_REGEX_INCLUDE | Custom regex including filter | | +| JSX_FILTER_REGEX_EXCLUDE | Custom regex excluding filter | | diff --git a/docs/descriptors/kotlin.md b/docs/descriptors/kotlin.md index 46bfc657e01..751c7091841 100644 --- a/docs/descriptors/kotlin.md +++ b/docs/descriptors/kotlin.md @@ -22,10 +22,12 @@ description: ktlint, detekt are available to analyze KOTLIN files in MegaLinter ## Configuration in MegaLinter -| Variable | Description | Default value | -|-----------------------------|-------------------------------|---------------| -| KOTLIN_FILTER_REGEX_INCLUDE | Custom regex including filter | | -| KOTLIN_FILTER_REGEX_EXCLUDE | Custom regex excluding filter | | +| Variable | Description | Default value | +|-----------------------------|-------------------------------------------------|---------------| +| KOTLIN_PRE_COMMANDS | List of bash commands to run before the linters | None | +| KOTLIN_POST_COMMANDS | List of bash commands to run after the linters | None | +| KOTLIN_FILTER_REGEX_INCLUDE | Custom regex including filter | | +| KOTLIN_FILTER_REGEX_EXCLUDE | Custom regex excluding filter | | ## Behind the scenes diff --git a/docs/descriptors/kubernetes.md b/docs/descriptors/kubernetes.md index c56076a0ad8..dd0d0b3feca 100644 --- a/docs/descriptors/kubernetes.md +++ b/docs/descriptors/kubernetes.md @@ -29,8 +29,10 @@ description: kubeconform, helm, kubescape are available to analyze KUBERNETES fi ## Configuration in MegaLinter -| Variable | Description | Default value | -|---------------------------------|-------------------------------|---------------| -| KUBERNETES_FILTER_REGEX_INCLUDE | Custom regex including filter | | -| KUBERNETES_FILTER_REGEX_EXCLUDE | Custom regex excluding filter | | +| Variable | Description | Default value | +|---------------------------------|-------------------------------------------------|---------------| +| KUBERNETES_PRE_COMMANDS | List of bash commands to run before the linters | None | +| KUBERNETES_POST_COMMANDS | List of bash commands to run after the linters | None | +| KUBERNETES_FILTER_REGEX_INCLUDE | Custom regex including filter | | +| KUBERNETES_FILTER_REGEX_EXCLUDE | Custom regex excluding filter | | diff --git a/docs/descriptors/latex.md b/docs/descriptors/latex.md index e1bd67ac3db..ea966f7e4d6 100644 --- a/docs/descriptors/latex.md +++ b/docs/descriptors/latex.md @@ -20,8 +20,10 @@ description: chktex is available to analyze LATEX files in MegaLinter ## Configuration in MegaLinter -| Variable | Description | Default value | -|----------------------------|-------------------------------|---------------| -| LATEX_FILTER_REGEX_INCLUDE | Custom regex including filter | | -| LATEX_FILTER_REGEX_EXCLUDE | Custom regex excluding filter | | +| Variable | Description | Default value | +|----------------------------|-------------------------------------------------|---------------| +| LATEX_PRE_COMMANDS | List of bash commands to run before the linters | None | +| LATEX_POST_COMMANDS | List of bash commands to run after the linters | None | +| LATEX_FILTER_REGEX_INCLUDE | Custom regex including filter | | +| LATEX_FILTER_REGEX_EXCLUDE | Custom regex excluding filter | | diff --git a/docs/descriptors/lua.md b/docs/descriptors/lua.md index ec377620771..e5919df3cd5 100644 --- a/docs/descriptors/lua.md +++ b/docs/descriptors/lua.md @@ -20,8 +20,10 @@ description: luacheck is available to analyze LUA files in MegaLinter ## Configuration in MegaLinter -| Variable | Description | Default value | -|--------------------------|-------------------------------|---------------| -| LUA_FILTER_REGEX_INCLUDE | Custom regex including filter | | -| LUA_FILTER_REGEX_EXCLUDE | Custom regex excluding filter | | +| Variable | Description | Default value | +|--------------------------|-------------------------------------------------|---------------| +| LUA_PRE_COMMANDS | List of bash commands to run before the linters | None | +| LUA_POST_COMMANDS | List of bash commands to run after the linters | None | +| LUA_FILTER_REGEX_INCLUDE | Custom regex including filter | | +| LUA_FILTER_REGEX_EXCLUDE | Custom regex excluding filter | | diff --git a/docs/descriptors/makefile.md b/docs/descriptors/makefile.md index e54f5e8c603..bf663e41f2b 100644 --- a/docs/descriptors/makefile.md +++ b/docs/descriptors/makefile.md @@ -20,8 +20,10 @@ description: checkmake is available to analyze MAKEFILE files in MegaLinter ## Configuration in MegaLinter -| Variable | Description | Default value | -|-------------------------------|-------------------------------|---------------| -| MAKEFILE_FILTER_REGEX_INCLUDE | Custom regex including filter | | -| MAKEFILE_FILTER_REGEX_EXCLUDE | Custom regex excluding filter | | +| Variable | Description | Default value | +|-------------------------------|-------------------------------------------------|---------------| +| MAKEFILE_PRE_COMMANDS | List of bash commands to run before the linters | None | +| MAKEFILE_POST_COMMANDS | List of bash commands to run after the linters | None | +| MAKEFILE_FILTER_REGEX_INCLUDE | Custom regex including filter | | +| MAKEFILE_FILTER_REGEX_EXCLUDE | Custom regex excluding filter | | diff --git a/docs/descriptors/markdown.md b/docs/descriptors/markdown.md index 69ca255026b..01fca1de726 100644 --- a/docs/descriptors/markdown.md +++ b/docs/descriptors/markdown.md @@ -23,8 +23,10 @@ description: markdownlint, remark-lint, markdown-link-check, markdown-table-form ## Configuration in MegaLinter -| Variable | Description | Default value | -|-------------------------------|-------------------------------|---------------| -| MARKDOWN_FILTER_REGEX_INCLUDE | Custom regex including filter | | -| MARKDOWN_FILTER_REGEX_EXCLUDE | Custom regex excluding filter | | +| Variable | Description | Default value | +|-------------------------------|-------------------------------------------------|---------------| +| MARKDOWN_PRE_COMMANDS | List of bash commands to run before the linters | None | +| MARKDOWN_POST_COMMANDS | List of bash commands to run after the linters | None | +| MARKDOWN_FILTER_REGEX_INCLUDE | Custom regex including filter | | +| MARKDOWN_FILTER_REGEX_EXCLUDE | Custom regex excluding filter | | diff --git a/docs/descriptors/openapi.md b/docs/descriptors/openapi.md index cd228443e01..4003debe91a 100644 --- a/docs/descriptors/openapi.md +++ b/docs/descriptors/openapi.md @@ -28,8 +28,10 @@ description: spectral is available to analyze OPENAPI files in MegaLinter ## Configuration in MegaLinter -| Variable | Description | Default value | -|------------------------------|-------------------------------|---------------| -| OPENAPI_FILTER_REGEX_INCLUDE | Custom regex including filter | | -| OPENAPI_FILTER_REGEX_EXCLUDE | Custom regex excluding filter | | +| Variable | Description | Default value | +|------------------------------|-------------------------------------------------|---------------| +| OPENAPI_PRE_COMMANDS | List of bash commands to run before the linters | None | +| OPENAPI_POST_COMMANDS | List of bash commands to run after the linters | None | +| OPENAPI_FILTER_REGEX_INCLUDE | Custom regex including filter | | +| OPENAPI_FILTER_REGEX_EXCLUDE | Custom regex excluding filter | | diff --git a/docs/descriptors/perl.md b/docs/descriptors/perl.md index c5205482168..9988c0b9224 100644 --- a/docs/descriptors/perl.md +++ b/docs/descriptors/perl.md @@ -27,10 +27,12 @@ description: perlcritic is available to analyze PERL files in MegaLinter ## Configuration in MegaLinter -| Variable | Description | Default value | -|---------------------------|-------------------------------|---------------| -| PERL_FILTER_REGEX_INCLUDE | Custom regex including filter | | -| PERL_FILTER_REGEX_EXCLUDE | Custom regex excluding filter | | +| Variable | Description | Default value | +|---------------------------|-------------------------------------------------|---------------| +| PERL_PRE_COMMANDS | List of bash commands to run before the linters | None | +| PERL_POST_COMMANDS | List of bash commands to run after the linters | None | +| PERL_FILTER_REGEX_INCLUDE | Custom regex including filter | | +| PERL_FILTER_REGEX_EXCLUDE | Custom regex excluding filter | | ## Behind the scenes diff --git a/docs/descriptors/php.md b/docs/descriptors/php.md index 01d1fbfc78f..5d856b0a300 100644 --- a/docs/descriptors/php.md +++ b/docs/descriptors/php.md @@ -23,10 +23,12 @@ description: phpcs, phpstan, psalm, phplint are available to analyze PHP files i ## Configuration in MegaLinter -| Variable | Description | Default value | -|--------------------------|-------------------------------|---------------| -| PHP_FILTER_REGEX_INCLUDE | Custom regex including filter | | -| PHP_FILTER_REGEX_EXCLUDE | Custom regex excluding filter | | +| Variable | Description | Default value | +|--------------------------|-------------------------------------------------|---------------| +| PHP_PRE_COMMANDS | List of bash commands to run before the linters | None | +| PHP_POST_COMMANDS | List of bash commands to run after the linters | None | +| PHP_FILTER_REGEX_INCLUDE | Custom regex including filter | | +| PHP_FILTER_REGEX_EXCLUDE | Custom regex excluding filter | | ## Behind the scenes diff --git a/docs/descriptors/powershell.md b/docs/descriptors/powershell.md index bcf3faa4a1b..658f193bc9b 100644 --- a/docs/descriptors/powershell.md +++ b/docs/descriptors/powershell.md @@ -27,10 +27,12 @@ description: powershell, powershell_formatter are available to analyze POWERSHEL ## Configuration in MegaLinter -| Variable | Description | Default value | -|---------------------------------|-------------------------------|---------------| -| POWERSHELL_FILTER_REGEX_INCLUDE | Custom regex including filter | | -| POWERSHELL_FILTER_REGEX_EXCLUDE | Custom regex excluding filter | | +| Variable | Description | Default value | +|---------------------------------|-------------------------------------------------|---------------| +| POWERSHELL_PRE_COMMANDS | List of bash commands to run before the linters | None | +| POWERSHELL_POST_COMMANDS | List of bash commands to run after the linters | None | +| POWERSHELL_FILTER_REGEX_INCLUDE | Custom regex including filter | | +| POWERSHELL_FILTER_REGEX_EXCLUDE | Custom regex excluding filter | | ## Behind the scenes diff --git a/docs/descriptors/protobuf.md b/docs/descriptors/protobuf.md index aa449774594..9d973aaf385 100644 --- a/docs/descriptors/protobuf.md +++ b/docs/descriptors/protobuf.md @@ -20,8 +20,10 @@ description: protolint is available to analyze PROTOBUF files in MegaLinter ## Configuration in MegaLinter -| Variable | Description | Default value | -|-------------------------------|-------------------------------|---------------| -| PROTOBUF_FILTER_REGEX_INCLUDE | Custom regex including filter | | -| PROTOBUF_FILTER_REGEX_EXCLUDE | Custom regex excluding filter | | +| Variable | Description | Default value | +|-------------------------------|-------------------------------------------------|---------------| +| PROTOBUF_PRE_COMMANDS | List of bash commands to run before the linters | None | +| PROTOBUF_POST_COMMANDS | List of bash commands to run after the linters | None | +| PROTOBUF_FILTER_REGEX_INCLUDE | Custom regex including filter | | +| PROTOBUF_FILTER_REGEX_EXCLUDE | Custom regex excluding filter | | diff --git a/docs/descriptors/puppet.md b/docs/descriptors/puppet.md index 63a1eb44f75..af3451730d1 100644 --- a/docs/descriptors/puppet.md +++ b/docs/descriptors/puppet.md @@ -20,8 +20,10 @@ description: puppet-lint is available to analyze PUPPET files in MegaLinter ## Configuration in MegaLinter -| Variable | Description | Default value | -|-----------------------------|-------------------------------|---------------| -| PUPPET_FILTER_REGEX_INCLUDE | Custom regex including filter | | -| PUPPET_FILTER_REGEX_EXCLUDE | Custom regex excluding filter | | +| Variable | Description | Default value | +|-----------------------------|-------------------------------------------------|---------------| +| PUPPET_PRE_COMMANDS | List of bash commands to run before the linters | None | +| PUPPET_POST_COMMANDS | List of bash commands to run after the linters | None | +| PUPPET_FILTER_REGEX_INCLUDE | Custom regex including filter | | +| PUPPET_FILTER_REGEX_EXCLUDE | Custom regex excluding filter | | diff --git a/docs/descriptors/python.md b/docs/descriptors/python.md index 31d26d728a4..133804d71bf 100644 --- a/docs/descriptors/python.md +++ b/docs/descriptors/python.md @@ -27,8 +27,10 @@ description: pylint, black, flake8, isort, bandit, mypy, pyright, ruff are avail ## Configuration in MegaLinter -| Variable | Description | Default value | -|-----------------------------|-------------------------------|---------------| -| PYTHON_FILTER_REGEX_INCLUDE | Custom regex including filter | | -| PYTHON_FILTER_REGEX_EXCLUDE | Custom regex excluding filter | | +| Variable | Description | Default value | +|-----------------------------|-------------------------------------------------|---------------| +| PYTHON_PRE_COMMANDS | List of bash commands to run before the linters | None | +| PYTHON_POST_COMMANDS | List of bash commands to run after the linters | None | +| PYTHON_FILTER_REGEX_INCLUDE | Custom regex including filter | | +| PYTHON_FILTER_REGEX_EXCLUDE | Custom regex excluding filter | | diff --git a/docs/descriptors/r.md b/docs/descriptors/r.md index 4c1a4838aea..a47cebd7bc2 100644 --- a/docs/descriptors/r.md +++ b/docs/descriptors/r.md @@ -23,8 +23,10 @@ description: lintr is available to analyze R files in MegaLinter ## Configuration in MegaLinter -| Variable | Description | Default value | -|------------------------|-------------------------------|---------------| -| R_FILTER_REGEX_INCLUDE | Custom regex including filter | | -| R_FILTER_REGEX_EXCLUDE | Custom regex excluding filter | | +| Variable | Description | Default value | +|------------------------|-------------------------------------------------|---------------| +| R_PRE_COMMANDS | List of bash commands to run before the linters | None | +| R_POST_COMMANDS | List of bash commands to run after the linters | None | +| R_FILTER_REGEX_INCLUDE | Custom regex including filter | | +| R_FILTER_REGEX_EXCLUDE | Custom regex excluding filter | | diff --git a/docs/descriptors/raku.md b/docs/descriptors/raku.md index 6c6bf0f4d7b..b5daddfc670 100644 --- a/docs/descriptors/raku.md +++ b/docs/descriptors/raku.md @@ -25,8 +25,10 @@ description: raku is available to analyze RAKU files in MegaLinter ## Configuration in MegaLinter -| Variable | Description | Default value | -|---------------------------|-------------------------------|---------------| -| RAKU_FILTER_REGEX_INCLUDE | Custom regex including filter | | -| RAKU_FILTER_REGEX_EXCLUDE | Custom regex excluding filter | | +| Variable | Description | Default value | +|---------------------------|-------------------------------------------------|---------------| +| RAKU_PRE_COMMANDS | List of bash commands to run before the linters | None | +| RAKU_POST_COMMANDS | List of bash commands to run after the linters | None | +| RAKU_FILTER_REGEX_INCLUDE | Custom regex including filter | | +| RAKU_FILTER_REGEX_EXCLUDE | Custom regex excluding filter | | diff --git a/docs/descriptors/repository.md b/docs/descriptors/repository.md index bba0455b558..8a9394c67ee 100644 --- a/docs/descriptors/repository.md +++ b/docs/descriptors/repository.md @@ -29,8 +29,10 @@ description: checkov, devskim, dustilock, git_diff, gitleaks, grype, kics, secre ## Configuration in MegaLinter -| Variable | Description | Default value | -|---------------------------------|-------------------------------|---------------| -| REPOSITORY_FILTER_REGEX_INCLUDE | Custom regex including filter | | -| REPOSITORY_FILTER_REGEX_EXCLUDE | Custom regex excluding filter | | +| Variable | Description | Default value | +|---------------------------------|-------------------------------------------------|---------------| +| REPOSITORY_PRE_COMMANDS | List of bash commands to run before the linters | None | +| REPOSITORY_POST_COMMANDS | List of bash commands to run after the linters | None | +| REPOSITORY_FILTER_REGEX_INCLUDE | Custom regex including filter | | +| REPOSITORY_FILTER_REGEX_EXCLUDE | Custom regex excluding filter | | diff --git a/docs/descriptors/rst.md b/docs/descriptors/rst.md index e09112e17d0..b5aec20bee6 100644 --- a/docs/descriptors/rst.md +++ b/docs/descriptors/rst.md @@ -22,8 +22,10 @@ description: rst-lint, rstcheck, rstfmt are available to analyze RST files in Me ## Configuration in MegaLinter -| Variable | Description | Default value | -|--------------------------|-------------------------------|---------------| -| RST_FILTER_REGEX_INCLUDE | Custom regex including filter | | -| RST_FILTER_REGEX_EXCLUDE | Custom regex excluding filter | | +| Variable | Description | Default value | +|--------------------------|-------------------------------------------------|---------------| +| RST_PRE_COMMANDS | List of bash commands to run before the linters | None | +| RST_POST_COMMANDS | List of bash commands to run after the linters | None | +| RST_FILTER_REGEX_INCLUDE | Custom regex including filter | | +| RST_FILTER_REGEX_EXCLUDE | Custom regex excluding filter | | diff --git a/docs/descriptors/ruby.md b/docs/descriptors/ruby.md index 9ae95c372ea..11137c4c679 100644 --- a/docs/descriptors/ruby.md +++ b/docs/descriptors/ruby.md @@ -20,8 +20,10 @@ description: rubocop is available to analyze RUBY files in MegaLinter ## Configuration in MegaLinter -| Variable | Description | Default value | -|---------------------------|-------------------------------|---------------| -| RUBY_FILTER_REGEX_INCLUDE | Custom regex including filter | | -| RUBY_FILTER_REGEX_EXCLUDE | Custom regex excluding filter | | +| Variable | Description | Default value | +|---------------------------|-------------------------------------------------|---------------| +| RUBY_PRE_COMMANDS | List of bash commands to run before the linters | None | +| RUBY_POST_COMMANDS | List of bash commands to run after the linters | None | +| RUBY_FILTER_REGEX_INCLUDE | Custom regex including filter | | +| RUBY_FILTER_REGEX_EXCLUDE | Custom regex excluding filter | | diff --git a/docs/descriptors/rust.md b/docs/descriptors/rust.md index 875c60f2a43..0061a378fb6 100644 --- a/docs/descriptors/rust.md +++ b/docs/descriptors/rust.md @@ -20,8 +20,10 @@ description: clippy is available to analyze RUST files in MegaLinter ## Configuration in MegaLinter -| Variable | Description | Default value | -|---------------------------|-------------------------------|---------------| -| RUST_FILTER_REGEX_INCLUDE | Custom regex including filter | | -| RUST_FILTER_REGEX_EXCLUDE | Custom regex excluding filter | | +| Variable | Description | Default value | +|---------------------------|-------------------------------------------------|---------------| +| RUST_PRE_COMMANDS | List of bash commands to run before the linters | None | +| RUST_POST_COMMANDS | List of bash commands to run after the linters | None | +| RUST_FILTER_REGEX_INCLUDE | Custom regex including filter | | +| RUST_FILTER_REGEX_EXCLUDE | Custom regex excluding filter | | diff --git a/docs/descriptors/salesforce.md b/docs/descriptors/salesforce.md index 865c48ff779..f693451e6ad 100644 --- a/docs/descriptors/salesforce.md +++ b/docs/descriptors/salesforce.md @@ -20,10 +20,12 @@ description: sfdx-scanner-apex, sfdx-scanner-aura, sfdx-scanner-lwc, lightning-f ## Configuration in MegaLinter -| Variable | Description | Default value | -|---------------------------------|-------------------------------|---------------| -| SALESFORCE_FILTER_REGEX_INCLUDE | Custom regex including filter | | -| SALESFORCE_FILTER_REGEX_EXCLUDE | Custom regex excluding filter | | +| Variable | Description | Default value | +|---------------------------------|-------------------------------------------------|---------------| +| SALESFORCE_PRE_COMMANDS | List of bash commands to run before the linters | None | +| SALESFORCE_POST_COMMANDS | List of bash commands to run after the linters | None | +| SALESFORCE_FILTER_REGEX_INCLUDE | Custom regex including filter | | +| SALESFORCE_FILTER_REGEX_EXCLUDE | Custom regex excluding filter | | ## Behind the scenes diff --git a/docs/descriptors/scala.md b/docs/descriptors/scala.md index 41536aa60d4..a9a88c5b925 100644 --- a/docs/descriptors/scala.md +++ b/docs/descriptors/scala.md @@ -20,10 +20,12 @@ description: scalafix is available to analyze SCALA files in MegaLinter ## Configuration in MegaLinter -| Variable | Description | Default value | -|----------------------------|-------------------------------|---------------| -| SCALA_FILTER_REGEX_INCLUDE | Custom regex including filter | | -| SCALA_FILTER_REGEX_EXCLUDE | Custom regex excluding filter | | +| Variable | Description | Default value | +|----------------------------|-------------------------------------------------|---------------| +| SCALA_PRE_COMMANDS | List of bash commands to run before the linters | None | +| SCALA_POST_COMMANDS | List of bash commands to run after the linters | None | +| SCALA_FILTER_REGEX_INCLUDE | Custom regex including filter | | +| SCALA_FILTER_REGEX_EXCLUDE | Custom regex excluding filter | | ## Behind the scenes diff --git a/docs/descriptors/snakemake.md b/docs/descriptors/snakemake.md index 4b92bfeca50..2f297600617 100644 --- a/docs/descriptors/snakemake.md +++ b/docs/descriptors/snakemake.md @@ -24,8 +24,10 @@ description: snakemake, snakefmt are available to analyze SNAKEMAKE files in Meg ## Configuration in MegaLinter -| Variable | Description | Default value | -|--------------------------------|-------------------------------|---------------| -| SNAKEMAKE_FILTER_REGEX_INCLUDE | Custom regex including filter | | -| SNAKEMAKE_FILTER_REGEX_EXCLUDE | Custom regex excluding filter | | +| Variable | Description | Default value | +|--------------------------------|-------------------------------------------------|---------------| +| SNAKEMAKE_PRE_COMMANDS | List of bash commands to run before the linters | None | +| SNAKEMAKE_POST_COMMANDS | List of bash commands to run after the linters | None | +| SNAKEMAKE_FILTER_REGEX_INCLUDE | Custom regex including filter | | +| SNAKEMAKE_FILTER_REGEX_EXCLUDE | Custom regex excluding filter | | diff --git a/docs/descriptors/spell.md b/docs/descriptors/spell.md index 5c4c55c6c6c..18e5752a0d6 100644 --- a/docs/descriptors/spell.md +++ b/docs/descriptors/spell.md @@ -20,8 +20,10 @@ description: cspell, proselint, vale, lychee are available to analyze SPELL file ## Configuration in MegaLinter -| Variable | Description | Default value | -|----------------------------|-------------------------------|---------------| -| SPELL_FILTER_REGEX_INCLUDE | Custom regex including filter | | -| SPELL_FILTER_REGEX_EXCLUDE | Custom regex excluding filter | | +| Variable | Description | Default value | +|----------------------------|-------------------------------------------------|---------------| +| SPELL_PRE_COMMANDS | List of bash commands to run before the linters | None | +| SPELL_POST_COMMANDS | List of bash commands to run after the linters | None | +| SPELL_FILTER_REGEX_INCLUDE | Custom regex including filter | | +| SPELL_FILTER_REGEX_EXCLUDE | Custom regex excluding filter | | diff --git a/docs/descriptors/sql.md b/docs/descriptors/sql.md index 8c9d2643ec5..c7fcb73fc36 100644 --- a/docs/descriptors/sql.md +++ b/docs/descriptors/sql.md @@ -22,8 +22,10 @@ description: sql-lint, sqlfluff, tsqllint are available to analyze SQL files in ## Configuration in MegaLinter -| Variable | Description | Default value | -|--------------------------|-------------------------------|---------------| -| SQL_FILTER_REGEX_INCLUDE | Custom regex including filter | | -| SQL_FILTER_REGEX_EXCLUDE | Custom regex excluding filter | | +| Variable | Description | Default value | +|--------------------------|-------------------------------------------------|---------------| +| SQL_PRE_COMMANDS | List of bash commands to run before the linters | None | +| SQL_POST_COMMANDS | List of bash commands to run after the linters | None | +| SQL_FILTER_REGEX_INCLUDE | Custom regex including filter | | +| SQL_FILTER_REGEX_EXCLUDE | Custom regex excluding filter | | diff --git a/docs/descriptors/swift.md b/docs/descriptors/swift.md index 1d5c038763b..db19d3f86df 100644 --- a/docs/descriptors/swift.md +++ b/docs/descriptors/swift.md @@ -20,8 +20,10 @@ description: swiftlint is available to analyze SWIFT files in MegaLinter ## Configuration in MegaLinter -| Variable | Description | Default value | -|----------------------------|-------------------------------|---------------| -| SWIFT_FILTER_REGEX_INCLUDE | Custom regex including filter | | -| SWIFT_FILTER_REGEX_EXCLUDE | Custom regex excluding filter | | +| Variable | Description | Default value | +|----------------------------|-------------------------------------------------|---------------| +| SWIFT_PRE_COMMANDS | List of bash commands to run before the linters | None | +| SWIFT_POST_COMMANDS | List of bash commands to run after the linters | None | +| SWIFT_FILTER_REGEX_INCLUDE | Custom regex including filter | | +| SWIFT_FILTER_REGEX_EXCLUDE | Custom regex excluding filter | | diff --git a/docs/descriptors/tekton.md b/docs/descriptors/tekton.md index 6147b32c97d..fbdcb06e1d1 100644 --- a/docs/descriptors/tekton.md +++ b/docs/descriptors/tekton.md @@ -24,8 +24,10 @@ description: tekton-lint is available to analyze TEKTON files in MegaLinter ## Configuration in MegaLinter -| Variable | Description | Default value | -|-----------------------------|-------------------------------|---------------| -| TEKTON_FILTER_REGEX_INCLUDE | Custom regex including filter | | -| TEKTON_FILTER_REGEX_EXCLUDE | Custom regex excluding filter | | +| Variable | Description | Default value | +|-----------------------------|-------------------------------------------------|---------------| +| TEKTON_PRE_COMMANDS | List of bash commands to run before the linters | None | +| TEKTON_POST_COMMANDS | List of bash commands to run after the linters | None | +| TEKTON_FILTER_REGEX_INCLUDE | Custom regex including filter | | +| TEKTON_FILTER_REGEX_EXCLUDE | Custom regex excluding filter | | diff --git a/docs/descriptors/terraform.md b/docs/descriptors/terraform.md index 25f9ffe3e35..d23cad24a76 100644 --- a/docs/descriptors/terraform.md +++ b/docs/descriptors/terraform.md @@ -23,8 +23,10 @@ description: tflint, terrascan, terragrunt, terraform-fmt are available to analy ## Configuration in MegaLinter -| Variable | Description | Default value | -|--------------------------------|-------------------------------|---------------| -| TERRAFORM_FILTER_REGEX_INCLUDE | Custom regex including filter | | -| TERRAFORM_FILTER_REGEX_EXCLUDE | Custom regex excluding filter | | +| Variable | Description | Default value | +|--------------------------------|-------------------------------------------------|---------------| +| TERRAFORM_PRE_COMMANDS | List of bash commands to run before the linters | None | +| TERRAFORM_POST_COMMANDS | List of bash commands to run after the linters | None | +| TERRAFORM_FILTER_REGEX_INCLUDE | Custom regex including filter | | +| TERRAFORM_FILTER_REGEX_EXCLUDE | Custom regex excluding filter | | diff --git a/docs/descriptors/tsx.md b/docs/descriptors/tsx.md index 20134762e36..28dd3bd2c84 100644 --- a/docs/descriptors/tsx.md +++ b/docs/descriptors/tsx.md @@ -20,8 +20,10 @@ description: eslint is available to analyze TSX files in MegaLinter ## Configuration in MegaLinter -| Variable | Description | Default value | -|--------------------------|-------------------------------|---------------| -| TSX_FILTER_REGEX_INCLUDE | Custom regex including filter | | -| TSX_FILTER_REGEX_EXCLUDE | Custom regex excluding filter | | +| Variable | Description | Default value | +|--------------------------|-------------------------------------------------|---------------| +| TSX_PRE_COMMANDS | List of bash commands to run before the linters | None | +| TSX_POST_COMMANDS | List of bash commands to run after the linters | None | +| TSX_FILTER_REGEX_INCLUDE | Custom regex including filter | | +| TSX_FILTER_REGEX_EXCLUDE | Custom regex excluding filter | | diff --git a/docs/descriptors/typescript.md b/docs/descriptors/typescript.md index bf62167979c..dcfeecfd4ce 100644 --- a/docs/descriptors/typescript.md +++ b/docs/descriptors/typescript.md @@ -22,10 +22,12 @@ description: eslint, ts-standard, prettier are available to analyze TYPESCRIPT f ## Configuration in MegaLinter -| Variable | Description | Default value | -|---------------------------------|-------------------------------|---------------| -| TYPESCRIPT_FILTER_REGEX_INCLUDE | Custom regex including filter | | -| TYPESCRIPT_FILTER_REGEX_EXCLUDE | Custom regex excluding filter | | +| Variable | Description | Default value | +|---------------------------------|-------------------------------------------------|---------------| +| TYPESCRIPT_PRE_COMMANDS | List of bash commands to run before the linters | None | +| TYPESCRIPT_POST_COMMANDS | List of bash commands to run after the linters | None | +| TYPESCRIPT_FILTER_REGEX_INCLUDE | Custom regex including filter | | +| TYPESCRIPT_FILTER_REGEX_EXCLUDE | Custom regex excluding filter | | ## Behind the scenes diff --git a/docs/descriptors/vbdotnet.md b/docs/descriptors/vbdotnet.md index d578e05589b..4fe73f9c67d 100644 --- a/docs/descriptors/vbdotnet.md +++ b/docs/descriptors/vbdotnet.md @@ -20,10 +20,12 @@ description: dotnet-format is available to analyze VBDOTNET files in MegaLinter ## Configuration in MegaLinter -| Variable | Description | Default value | -|-------------------------------|-------------------------------|---------------| -| VBDOTNET_FILTER_REGEX_INCLUDE | Custom regex including filter | | -| VBDOTNET_FILTER_REGEX_EXCLUDE | Custom regex excluding filter | | +| Variable | Description | Default value | +|-------------------------------|-------------------------------------------------|---------------| +| VBDOTNET_PRE_COMMANDS | List of bash commands to run before the linters | None | +| VBDOTNET_POST_COMMANDS | List of bash commands to run after the linters | None | +| VBDOTNET_FILTER_REGEX_INCLUDE | Custom regex including filter | | +| VBDOTNET_FILTER_REGEX_EXCLUDE | Custom regex excluding filter | | ## Behind the scenes diff --git a/docs/descriptors/xml.md b/docs/descriptors/xml.md index ab80db73838..0de33a1b5bc 100644 --- a/docs/descriptors/xml.md +++ b/docs/descriptors/xml.md @@ -20,8 +20,10 @@ description: xmllint is available to analyze XML files in MegaLinter ## Configuration in MegaLinter -| Variable | Description | Default value | -|--------------------------|-------------------------------|---------------| -| XML_FILTER_REGEX_INCLUDE | Custom regex including filter | | -| XML_FILTER_REGEX_EXCLUDE | Custom regex excluding filter | | +| Variable | Description | Default value | +|--------------------------|-------------------------------------------------|---------------| +| XML_PRE_COMMANDS | List of bash commands to run before the linters | None | +| XML_POST_COMMANDS | List of bash commands to run after the linters | None | +| XML_FILTER_REGEX_INCLUDE | Custom regex including filter | | +| XML_FILTER_REGEX_EXCLUDE | Custom regex excluding filter | | diff --git a/docs/descriptors/yaml.md b/docs/descriptors/yaml.md index fe1c92ec044..80bd41f9852 100644 --- a/docs/descriptors/yaml.md +++ b/docs/descriptors/yaml.md @@ -23,8 +23,10 @@ description: prettier, yamllint, v8r are available to analyze YAML files in Mega ## Configuration in MegaLinter -| Variable | Description | Default value | -|---------------------------|-------------------------------|---------------| -| YAML_FILTER_REGEX_INCLUDE | Custom regex including filter | | -| YAML_FILTER_REGEX_EXCLUDE | Custom regex excluding filter | | +| Variable | Description | Default value | +|---------------------------|-------------------------------------------------|---------------| +| YAML_PRE_COMMANDS | List of bash commands to run before the linters | None | +| YAML_POST_COMMANDS | List of bash commands to run after the linters | None | +| YAML_FILTER_REGEX_INCLUDE | Custom regex including filter | | +| YAML_FILTER_REGEX_EXCLUDE | Custom regex excluding filter | | diff --git a/megalinter/MegaLinter.py b/megalinter/MegaLinter.py index d49868af41a..a7106152dd4 100644 --- a/megalinter/MegaLinter.py +++ b/megalinter/MegaLinter.py @@ -227,6 +227,15 @@ def run(self): for reporter in self.reporters: reporter.initialize() + active_descriptor_ids = [] + + for active_linter in active_linters: + if active_linter.descriptor_id not in active_descriptor_ids: + active_descriptor_ids += [active_linter.descriptor_id] + + for active_descriptor_id in active_descriptor_ids: + pre_post_factory.run_descriptor_pre_commands(self, active_descriptor_id) + if ( config.get(self.request_id, "PARALLEL", "true") == "true" and len(active_linters) > 1 @@ -235,6 +244,9 @@ def run(self): else: self.process_linters_serial(active_linters) + for active_descriptor_id in active_descriptor_ids: + pre_post_factory.run_descriptor_post_commands(self, active_descriptor_id) + # Update main MegaLinter status according to results of linters run for linter in self.linters: if linter.status != "success": diff --git a/megalinter/descriptors/schemas/megalinter-configuration.jsonschema.json b/megalinter/descriptors/schemas/megalinter-configuration.jsonschema.json index e809a7f9b6d..092d89fc92e 100644 --- a/megalinter/descriptors/schemas/megalinter-configuration.jsonschema.json +++ b/megalinter/descriptors/schemas/megalinter-configuration.jsonschema.json @@ -21402,6 +21402,40 @@ "title": "Including regex filter for ACTION descriptor", "type": "string" }, + "ACTION_POST_COMMANDS": { + "$id": "#/properties/ACTION_POST_COMMANDS", + "examples": [ + [ + { + "command": "composer install", + "continue_if_failed": false, + "cwd": "workspace" + } + ] + ], + "items": { + "$ref": "#/definitions/command_info" + }, + "title": "Post commands for ACTION descriptor", + "type": "array" + }, + "ACTION_PRE_COMMANDS": { + "$id": "#/properties/ACTION_PRE_COMMANDS", + "examples": [ + [ + { + "command": "composer install", + "continue_if_failed": false, + "cwd": "workspace" + } + ] + ], + "items": { + "$ref": "#/definitions/command_info" + }, + "title": "Pre commands for ACTION descriptor", + "type": "array" + }, "ADDITIONAL_EXCLUDED_DIRECTORIES": { "$id": "#/properties/ADDITIONAL_EXCLUDED_DIRECTORIES", "description": "List of additional excluded directory basenames to add to MegaLinter default excluded directories. They are excluded at any nested level.", @@ -21584,6 +21618,40 @@ "title": "Including regex filter for ANSIBLE descriptor", "type": "string" }, + "ANSIBLE_POST_COMMANDS": { + "$id": "#/properties/ANSIBLE_POST_COMMANDS", + "examples": [ + [ + { + "command": "composer install", + "continue_if_failed": false, + "cwd": "workspace" + } + ] + ], + "items": { + "$ref": "#/definitions/command_info" + }, + "title": "Post commands for ANSIBLE descriptor", + "type": "array" + }, + "ANSIBLE_PRE_COMMANDS": { + "$id": "#/properties/ANSIBLE_PRE_COMMANDS", + "examples": [ + [ + { + "command": "composer install", + "continue_if_failed": false, + "cwd": "workspace" + } + ] + ], + "items": { + "$ref": "#/definitions/command_info" + }, + "title": "Pre commands for ANSIBLE descriptor", + "type": "array" + }, "APPLY_FIXES": { "$id": "#/properties/APPLY_FIXES", "default": "none", @@ -21777,6 +21845,40 @@ "title": "Including regex filter for ARM descriptor", "type": "string" }, + "ARM_POST_COMMANDS": { + "$id": "#/properties/ARM_POST_COMMANDS", + "examples": [ + [ + { + "command": "composer install", + "continue_if_failed": false, + "cwd": "workspace" + } + ] + ], + "items": { + "$ref": "#/definitions/command_info" + }, + "title": "Post commands for ARM descriptor", + "type": "array" + }, + "ARM_PRE_COMMANDS": { + "$id": "#/properties/ARM_PRE_COMMANDS", + "examples": [ + [ + { + "command": "composer install", + "continue_if_failed": false, + "cwd": "workspace" + } + ] + ], + "items": { + "$ref": "#/definitions/command_info" + }, + "title": "Pre commands for ARM descriptor", + "type": "array" + }, "AZURE_COMMENT_REPORTER": { "$id": "#/properties/AZURE_COMMENT_REPORTER", "default": true, @@ -21949,6 +22051,40 @@ "title": "Including regex filter for BASH descriptor", "type": "string" }, + "BASH_POST_COMMANDS": { + "$id": "#/properties/BASH_POST_COMMANDS", + "examples": [ + [ + { + "command": "composer install", + "continue_if_failed": false, + "cwd": "workspace" + } + ] + ], + "items": { + "$ref": "#/definitions/command_info" + }, + "title": "Post commands for BASH descriptor", + "type": "array" + }, + "BASH_PRE_COMMANDS": { + "$id": "#/properties/BASH_PRE_COMMANDS", + "examples": [ + [ + { + "command": "composer install", + "continue_if_failed": false, + "cwd": "workspace" + } + ] + ], + "items": { + "$ref": "#/definitions/command_info" + }, + "title": "Pre commands for BASH descriptor", + "type": "array" + }, "BASH_SHELLCHECK_ARGUMENTS": { "$id": "#/properties/BASH_SHELLCHECK_ARGUMENTS", "description": "BASH_SHELLCHECK: User custom arguments to add in linter CLI call", @@ -22396,6 +22532,40 @@ "title": "Including regex filter for BICEP descriptor", "type": "string" }, + "BICEP_POST_COMMANDS": { + "$id": "#/properties/BICEP_POST_COMMANDS", + "examples": [ + [ + { + "command": "composer install", + "continue_if_failed": false, + "cwd": "workspace" + } + ] + ], + "items": { + "$ref": "#/definitions/command_info" + }, + "title": "Post commands for BICEP descriptor", + "type": "array" + }, + "BICEP_PRE_COMMANDS": { + "$id": "#/properties/BICEP_PRE_COMMANDS", + "examples": [ + [ + { + "command": "composer install", + "continue_if_failed": false, + "cwd": "workspace" + } + ] + ], + "items": { + "$ref": "#/definitions/command_info" + }, + "title": "Pre commands for BICEP descriptor", + "type": "array" + }, "BITBUCKET_COMMENT_REPORTER": { "$id": "#/properties/BITBUCKET_COMMENT_REPORTER", "default": true, @@ -22750,6 +22920,40 @@ "title": "Including regex filter for CLOJURE descriptor", "type": "string" }, + "CLOJURE_POST_COMMANDS": { + "$id": "#/properties/CLOJURE_POST_COMMANDS", + "examples": [ + [ + { + "command": "composer install", + "continue_if_failed": false, + "cwd": "workspace" + } + ] + ], + "items": { + "$ref": "#/definitions/command_info" + }, + "title": "Post commands for CLOJURE descriptor", + "type": "array" + }, + "CLOJURE_PRE_COMMANDS": { + "$id": "#/properties/CLOJURE_PRE_COMMANDS", + "examples": [ + [ + { + "command": "composer install", + "continue_if_failed": false, + "cwd": "workspace" + } + ] + ], + "items": { + "$ref": "#/definitions/command_info" + }, + "title": "Pre commands for CLOJURE descriptor", + "type": "array" + }, "CLOUDFORMATION_CFN_LINT_ARGUMENTS": { "$id": "#/properties/CLOUDFORMATION_CFN_LINT_ARGUMENTS", "description": "CLOUDFORMATION_CFN_LINT: User custom arguments to add in linter CLI call", @@ -22926,6 +23130,40 @@ "title": "Including regex filter for CLOUDFORMATION descriptor", "type": "string" }, + "CLOUDFORMATION_POST_COMMANDS": { + "$id": "#/properties/CLOUDFORMATION_POST_COMMANDS", + "examples": [ + [ + { + "command": "composer install", + "continue_if_failed": false, + "cwd": "workspace" + } + ] + ], + "items": { + "$ref": "#/definitions/command_info" + }, + "title": "Post commands for CLOUDFORMATION descriptor", + "type": "array" + }, + "CLOUDFORMATION_PRE_COMMANDS": { + "$id": "#/properties/CLOUDFORMATION_PRE_COMMANDS", + "examples": [ + [ + { + "command": "composer install", + "continue_if_failed": false, + "cwd": "workspace" + } + ] + ], + "items": { + "$ref": "#/definitions/command_info" + }, + "title": "Pre commands for CLOUDFORMATION descriptor", + "type": "array" + }, "COFFEE_COFFEELINT_ARGUMENTS": { "$id": "#/properties/COFFEE_COFFEELINT_ARGUMENTS", "description": "COFFEE_COFFEELINT: User custom arguments to add in linter CLI call", @@ -23101,6 +23339,40 @@ "title": "Including regex filter for COFFEE descriptor", "type": "string" }, + "COFFEE_POST_COMMANDS": { + "$id": "#/properties/COFFEE_POST_COMMANDS", + "examples": [ + [ + { + "command": "composer install", + "continue_if_failed": false, + "cwd": "workspace" + } + ] + ], + "items": { + "$ref": "#/definitions/command_info" + }, + "title": "Post commands for COFFEE descriptor", + "type": "array" + }, + "COFFEE_PRE_COMMANDS": { + "$id": "#/properties/COFFEE_PRE_COMMANDS", + "examples": [ + [ + { + "command": "composer install", + "continue_if_failed": false, + "cwd": "workspace" + } + ] + ], + "items": { + "$ref": "#/definitions/command_info" + }, + "title": "Pre commands for COFFEE descriptor", + "type": "array" + }, "CONFIG_REPORTER": { "$id": "#/properties/CONFIG_REPORTER", "default": true, @@ -23259,6 +23531,40 @@ "title": "COPYPASTE_JSCPD: Unsecured env variables", "type": "array" }, + "COPYPASTE_POST_COMMANDS": { + "$id": "#/properties/COPYPASTE_POST_COMMANDS", + "examples": [ + [ + { + "command": "composer install", + "continue_if_failed": false, + "cwd": "workspace" + } + ] + ], + "items": { + "$ref": "#/definitions/command_info" + }, + "title": "Post commands for COPYPASTE descriptor", + "type": "array" + }, + "COPYPASTE_PRE_COMMANDS": { + "$id": "#/properties/COPYPASTE_PRE_COMMANDS", + "examples": [ + [ + { + "command": "composer install", + "continue_if_failed": false, + "cwd": "workspace" + } + ] + ], + "items": { + "$ref": "#/definitions/command_info" + }, + "title": "Pre commands for COPYPASTE descriptor", + "type": "array" + }, "CPP_CLANG_FORMAT_ARGUMENTS": { "$id": "#/properties/CPP_CLANG_FORMAT_ARGUMENTS", "description": "CPP_CLANG_FORMAT: User custom arguments to add in linter CLI call", @@ -23574,6 +23880,40 @@ "title": "Including regex filter for CPP descriptor", "type": "string" }, + "CPP_POST_COMMANDS": { + "$id": "#/properties/CPP_POST_COMMANDS", + "examples": [ + [ + { + "command": "composer install", + "continue_if_failed": false, + "cwd": "workspace" + } + ] + ], + "items": { + "$ref": "#/definitions/command_info" + }, + "title": "Post commands for CPP descriptor", + "type": "array" + }, + "CPP_PRE_COMMANDS": { + "$id": "#/properties/CPP_PRE_COMMANDS", + "examples": [ + [ + { + "command": "composer install", + "continue_if_failed": false, + "cwd": "workspace" + } + ] + ], + "items": { + "$ref": "#/definitions/command_info" + }, + "title": "Pre commands for CPP descriptor", + "type": "array" + }, "CREDENTIALS_FILTER_REGEX_EXCLUDE": { "$id": "#/properties/CREDENTIALS_FILTER_REGEX_EXCLUDE", "title": "Excluding regex filter for CREDENTIALS descriptor", @@ -23984,6 +24324,40 @@ "title": "Including regex filter for CSHARP descriptor", "type": "string" }, + "CSHARP_POST_COMMANDS": { + "$id": "#/properties/CSHARP_POST_COMMANDS", + "examples": [ + [ + { + "command": "composer install", + "continue_if_failed": false, + "cwd": "workspace" + } + ] + ], + "items": { + "$ref": "#/definitions/command_info" + }, + "title": "Post commands for CSHARP descriptor", + "type": "array" + }, + "CSHARP_PRE_COMMANDS": { + "$id": "#/properties/CSHARP_PRE_COMMANDS", + "examples": [ + [ + { + "command": "composer install", + "continue_if_failed": false, + "cwd": "workspace" + } + ] + ], + "items": { + "$ref": "#/definitions/command_info" + }, + "title": "Pre commands for CSHARP descriptor", + "type": "array" + }, "CSHARP_ROSLYNATOR_ARGUMENTS": { "$id": "#/properties/CSHARP_ROSLYNATOR_ARGUMENTS", "description": "CSHARP_ROSLYNATOR: User custom arguments to add in linter CLI call", @@ -24139,6 +24513,40 @@ "title": "Including regex filter for CSS descriptor", "type": "string" }, + "CSS_POST_COMMANDS": { + "$id": "#/properties/CSS_POST_COMMANDS", + "examples": [ + [ + { + "command": "composer install", + "continue_if_failed": false, + "cwd": "workspace" + } + ] + ], + "items": { + "$ref": "#/definitions/command_info" + }, + "title": "Post commands for CSS descriptor", + "type": "array" + }, + "CSS_PRE_COMMANDS": { + "$id": "#/properties/CSS_PRE_COMMANDS", + "examples": [ + [ + { + "command": "composer install", + "continue_if_failed": false, + "cwd": "workspace" + } + ] + ], + "items": { + "$ref": "#/definitions/command_info" + }, + "title": "Pre commands for CSS descriptor", + "type": "array" + }, "CSS_SCSS_LINT_ARGUMENTS": { "$id": "#/properties/CSS_SCSS_LINT_ARGUMENTS", "description": "CSS_SCSS_LINT: User custom arguments to add in linter CLI call", @@ -24785,6 +25193,40 @@ "title": "Including regex filter for C descriptor", "type": "string" }, + "C_POST_COMMANDS": { + "$id": "#/properties/C_POST_COMMANDS", + "examples": [ + [ + { + "command": "composer install", + "continue_if_failed": false, + "cwd": "workspace" + } + ] + ], + "items": { + "$ref": "#/definitions/command_info" + }, + "title": "Post commands for C descriptor", + "type": "array" + }, + "C_PRE_COMMANDS": { + "$id": "#/properties/C_PRE_COMMANDS", + "examples": [ + [ + { + "command": "composer install", + "continue_if_failed": false, + "cwd": "workspace" + } + ] + ], + "items": { + "$ref": "#/definitions/command_info" + }, + "title": "Pre commands for C descriptor", + "type": "array" + }, "DART_DARTANALYZER_ARGUMENTS": { "$id": "#/properties/DART_DARTANALYZER_ARGUMENTS", "description": "DART_DARTANALYZER: User custom arguments to add in linter CLI call", @@ -24960,6 +25402,40 @@ "title": "Including regex filter for DART descriptor", "type": "string" }, + "DART_POST_COMMANDS": { + "$id": "#/properties/DART_POST_COMMANDS", + "examples": [ + [ + { + "command": "composer install", + "continue_if_failed": false, + "cwd": "workspace" + } + ] + ], + "items": { + "$ref": "#/definitions/command_info" + }, + "title": "Post commands for DART descriptor", + "type": "array" + }, + "DART_PRE_COMMANDS": { + "$id": "#/properties/DART_PRE_COMMANDS", + "examples": [ + [ + { + "command": "composer install", + "continue_if_failed": false, + "cwd": "workspace" + } + ] + ], + "items": { + "$ref": "#/definitions/command_info" + }, + "title": "Pre commands for DART descriptor", + "type": "array" + }, "DEFAULT_BRANCH": { "$id": "#/properties/DEFAULT_BRANCH", "default": "HEAD", @@ -25333,6 +25809,40 @@ "title": "DOCKERFILE_HADOLINT: Unsecured env variables", "type": "array" }, + "DOCKERFILE_POST_COMMANDS": { + "$id": "#/properties/DOCKERFILE_POST_COMMANDS", + "examples": [ + [ + { + "command": "composer install", + "continue_if_failed": false, + "cwd": "workspace" + } + ] + ], + "items": { + "$ref": "#/definitions/command_info" + }, + "title": "Post commands for DOCKERFILE descriptor", + "type": "array" + }, + "DOCKERFILE_PRE_COMMANDS": { + "$id": "#/properties/DOCKERFILE_PRE_COMMANDS", + "examples": [ + [ + { + "command": "composer install", + "continue_if_failed": false, + "cwd": "workspace" + } + ] + ], + "items": { + "$ref": "#/definitions/command_info" + }, + "title": "Pre commands for DOCKERFILE descriptor", + "type": "array" + }, "EDITORCONFIG_EDITORCONFIG_CHECKER_ARGUMENTS": { "$id": "#/properties/EDITORCONFIG_EDITORCONFIG_CHECKER_ARGUMENTS", "description": "EDITORCONFIG_EDITORCONFIG_CHECKER: User custom arguments to add in linter CLI call", @@ -25509,6 +26019,40 @@ "title": "Including regex filter for EDITORCONFIG descriptor", "type": "string" }, + "EDITORCONFIG_POST_COMMANDS": { + "$id": "#/properties/EDITORCONFIG_POST_COMMANDS", + "examples": [ + [ + { + "command": "composer install", + "continue_if_failed": false, + "cwd": "workspace" + } + ] + ], + "items": { + "$ref": "#/definitions/command_info" + }, + "title": "Post commands for EDITORCONFIG descriptor", + "type": "array" + }, + "EDITORCONFIG_PRE_COMMANDS": { + "$id": "#/properties/EDITORCONFIG_PRE_COMMANDS", + "examples": [ + [ + { + "command": "composer install", + "continue_if_failed": false, + "cwd": "workspace" + } + ] + ], + "items": { + "$ref": "#/definitions/command_info" + }, + "title": "Pre commands for EDITORCONFIG descriptor", + "type": "array" + }, "EMAIL_REPORTER": { "$id": "#/properties/EMAIL_REPORTER", "default": true, @@ -25744,6 +26288,40 @@ "title": "Including regex filter for ENV descriptor", "type": "string" }, + "ENV_POST_COMMANDS": { + "$id": "#/properties/ENV_POST_COMMANDS", + "examples": [ + [ + { + "command": "composer install", + "continue_if_failed": false, + "cwd": "workspace" + } + ] + ], + "items": { + "$ref": "#/definitions/command_info" + }, + "title": "Post commands for ENV descriptor", + "type": "array" + }, + "ENV_PRE_COMMANDS": { + "$id": "#/properties/ENV_PRE_COMMANDS", + "examples": [ + [ + { + "command": "composer install", + "continue_if_failed": false, + "cwd": "workspace" + } + ] + ], + "items": { + "$ref": "#/definitions/command_info" + }, + "title": "Pre commands for ENV descriptor", + "type": "array" + }, "ERROR_ON_MISSING_EXEC_BIT": { "$id": "#/properties/ERROR_ON_MISSING_EXEC_BIT", "default": false, @@ -26018,6 +26596,40 @@ "title": "GHERKIN_GHERKIN_LINT: Unsecured env variables", "type": "array" }, + "GHERKIN_POST_COMMANDS": { + "$id": "#/properties/GHERKIN_POST_COMMANDS", + "examples": [ + [ + { + "command": "composer install", + "continue_if_failed": false, + "cwd": "workspace" + } + ] + ], + "items": { + "$ref": "#/definitions/command_info" + }, + "title": "Post commands for GHERKIN descriptor", + "type": "array" + }, + "GHERKIN_PRE_COMMANDS": { + "$id": "#/properties/GHERKIN_PRE_COMMANDS", + "examples": [ + [ + { + "command": "composer install", + "continue_if_failed": false, + "cwd": "workspace" + } + ] + ], + "items": { + "$ref": "#/definitions/command_info" + }, + "title": "Pre commands for GHERKIN descriptor", + "type": "array" + }, "GITHUB_API_URL": { "$id": "#/properties/GITHUB_API_URL", "default": "https://api.github.com", @@ -26368,6 +26980,40 @@ "title": "GO_GOLANGCI_LINT: Unsecured env variables", "type": "array" }, + "GO_POST_COMMANDS": { + "$id": "#/properties/GO_POST_COMMANDS", + "examples": [ + [ + { + "command": "composer install", + "continue_if_failed": false, + "cwd": "workspace" + } + ] + ], + "items": { + "$ref": "#/definitions/command_info" + }, + "title": "Post commands for GO descriptor", + "type": "array" + }, + "GO_PRE_COMMANDS": { + "$id": "#/properties/GO_PRE_COMMANDS", + "examples": [ + [ + { + "command": "composer install", + "continue_if_failed": false, + "cwd": "workspace" + } + ] + ], + "items": { + "$ref": "#/definitions/command_info" + }, + "title": "Pre commands for GO descriptor", + "type": "array" + }, "GO_REVIVE_ARGUMENTS": { "$id": "#/properties/GO_REVIVE_ARGUMENTS", "description": "GO_REVIVE: User custom arguments to add in linter CLI call", @@ -26702,6 +27348,40 @@ "title": "GRAPHQL_GRAPHQL_SCHEMA_LINTER: Unsecured env variables", "type": "array" }, + "GRAPHQL_POST_COMMANDS": { + "$id": "#/properties/GRAPHQL_POST_COMMANDS", + "examples": [ + [ + { + "command": "composer install", + "continue_if_failed": false, + "cwd": "workspace" + } + ] + ], + "items": { + "$ref": "#/definitions/command_info" + }, + "title": "Post commands for GRAPHQL descriptor", + "type": "array" + }, + "GRAPHQL_PRE_COMMANDS": { + "$id": "#/properties/GRAPHQL_PRE_COMMANDS", + "examples": [ + [ + { + "command": "composer install", + "continue_if_failed": false, + "cwd": "workspace" + } + ] + ], + "items": { + "$ref": "#/definitions/command_info" + }, + "title": "Pre commands for GRAPHQL descriptor", + "type": "array" + }, "GROOVY_FILTER_REGEX_EXCLUDE": { "$id": "#/properties/GROOVY_FILTER_REGEX_EXCLUDE", "title": "Excluding regex filter for GROOVY descriptor", @@ -26833,7 +27513,57 @@ "examples": [ [ { - "command": "npm run test", + "command": "npm run test", + "continue_if_failed": false, + "cwd": "workspace" + } + ] + ], + "items": { + "$ref": "#/definitions/command_info" + }, + "title": "GROOVY_NPM_GROOVY_LINT: Define or override a list of bash commands to run after the linter", + "type": "array" + }, + "GROOVY_NPM_GROOVY_LINT_PRE_COMMANDS": { + "$id": "#/properties/GROOVY_NPM_GROOVY_LINT_PRE_COMMANDS", + "examples": [ + [ + { + "command": "tflint --init", + "continue_if_failed": false, + "cwd": "workspace" + } + ] + ], + "items": { + "$ref": "#/definitions/command_info" + }, + "title": "GROOVY_NPM_GROOVY_LINT: Define or override a list of bash commands to run before the linter", + "type": "array" + }, + "GROOVY_NPM_GROOVY_LINT_RULES_PATH": { + "$id": "#/properties/GROOVY_NPM_GROOVY_LINT_RULES_PATH", + "description": "GROOVY_NPM_GROOVY_LINT: Path where to find linter configuration file", + "title": "GROOVY_NPM_GROOVY_LINT: Custom config file path", + "type": "string" + }, + "GROOVY_NPM_GROOVY_LINT_UNSECURED_ENV_VARIABLES": { + "$id": "#/properties/GROOVY_NPM_GROOVY_LINT_UNSECURED_ENV_VARIABLES", + "default": [], + "description": "List of env variables explicitly not filtered before calling GROOVY_NPM_GROOVY_LINT and its pre/post commands", + "items": { + "type": "string" + }, + "title": "GROOVY_NPM_GROOVY_LINT: Unsecured env variables", + "type": "array" + }, + "GROOVY_POST_COMMANDS": { + "$id": "#/properties/GROOVY_POST_COMMANDS", + "examples": [ + [ + { + "command": "composer install", "continue_if_failed": false, "cwd": "workspace" } @@ -26842,15 +27572,15 @@ "items": { "$ref": "#/definitions/command_info" }, - "title": "GROOVY_NPM_GROOVY_LINT: Define or override a list of bash commands to run after the linter", + "title": "Post commands for GROOVY descriptor", "type": "array" }, - "GROOVY_NPM_GROOVY_LINT_PRE_COMMANDS": { - "$id": "#/properties/GROOVY_NPM_GROOVY_LINT_PRE_COMMANDS", + "GROOVY_PRE_COMMANDS": { + "$id": "#/properties/GROOVY_PRE_COMMANDS", "examples": [ [ { - "command": "tflint --init", + "command": "composer install", "continue_if_failed": false, "cwd": "workspace" } @@ -26859,23 +27589,7 @@ "items": { "$ref": "#/definitions/command_info" }, - "title": "GROOVY_NPM_GROOVY_LINT: Define or override a list of bash commands to run before the linter", - "type": "array" - }, - "GROOVY_NPM_GROOVY_LINT_RULES_PATH": { - "$id": "#/properties/GROOVY_NPM_GROOVY_LINT_RULES_PATH", - "description": "GROOVY_NPM_GROOVY_LINT: Path where to find linter configuration file", - "title": "GROOVY_NPM_GROOVY_LINT: Custom config file path", - "type": "string" - }, - "GROOVY_NPM_GROOVY_LINT_UNSECURED_ENV_VARIABLES": { - "$id": "#/properties/GROOVY_NPM_GROOVY_LINT_UNSECURED_ENV_VARIABLES", - "default": [], - "description": "List of env variables explicitly not filtered before calling GROOVY_NPM_GROOVY_LINT and its pre/post commands", - "items": { - "type": "string" - }, - "title": "GROOVY_NPM_GROOVY_LINT: Unsecured env variables", + "title": "Pre commands for GROOVY descriptor", "type": "array" }, "HTML_DJLINT_ARGUMENTS": { @@ -27200,6 +27914,40 @@ "title": "HTML_HTMLHINT: Unsecured env variables", "type": "array" }, + "HTML_POST_COMMANDS": { + "$id": "#/properties/HTML_POST_COMMANDS", + "examples": [ + [ + { + "command": "composer install", + "continue_if_failed": false, + "cwd": "workspace" + } + ] + ], + "items": { + "$ref": "#/definitions/command_info" + }, + "title": "Post commands for HTML descriptor", + "type": "array" + }, + "HTML_PRE_COMMANDS": { + "$id": "#/properties/HTML_PRE_COMMANDS", + "examples": [ + [ + { + "command": "composer install", + "continue_if_failed": false, + "cwd": "workspace" + } + ] + ], + "items": { + "$ref": "#/definitions/command_info" + }, + "title": "Pre commands for HTML descriptor", + "type": "array" + }, "IGNORE_GENERATED_FILES": { "$id": "#/properties/IGNORE_GENERATED_FILES", "default": false, @@ -27402,6 +28150,23 @@ "title": "Including regex filter for JAVASCRIPT descriptor", "type": "string" }, + "JAVASCRIPT_POST_COMMANDS": { + "$id": "#/properties/JAVASCRIPT_POST_COMMANDS", + "examples": [ + [ + { + "command": "composer install", + "continue_if_failed": false, + "cwd": "workspace" + } + ] + ], + "items": { + "$ref": "#/definitions/command_info" + }, + "title": "Post commands for JAVASCRIPT descriptor", + "type": "array" + }, "JAVASCRIPT_PRETTIER_ARGUMENTS": { "$id": "#/properties/JAVASCRIPT_PRETTIER_ARGUMENTS", "description": "JAVASCRIPT_PRETTIER: User custom arguments to add in linter CLI call", @@ -27561,6 +28326,23 @@ "title": "JAVASCRIPT_PRETTIER: Unsecured env variables", "type": "array" }, + "JAVASCRIPT_PRE_COMMANDS": { + "$id": "#/properties/JAVASCRIPT_PRE_COMMANDS", + "examples": [ + [ + { + "command": "composer install", + "continue_if_failed": false, + "cwd": "workspace" + } + ] + ], + "items": { + "$ref": "#/definitions/command_info" + }, + "title": "Pre commands for JAVASCRIPT descriptor", + "type": "array" + }, "JAVASCRIPT_STANDARD_ARGUMENTS": { "$id": "#/properties/JAVASCRIPT_STANDARD_ARGUMENTS", "description": "JAVASCRIPT_STANDARD: User custom arguments to add in linter CLI call", @@ -28042,6 +28824,40 @@ "title": "JAVA_PMD: Unsecured env variables", "type": "array" }, + "JAVA_POST_COMMANDS": { + "$id": "#/properties/JAVA_POST_COMMANDS", + "examples": [ + [ + { + "command": "composer install", + "continue_if_failed": false, + "cwd": "workspace" + } + ] + ], + "items": { + "$ref": "#/definitions/command_info" + }, + "title": "Post commands for JAVA descriptor", + "type": "array" + }, + "JAVA_PRE_COMMANDS": { + "$id": "#/properties/JAVA_PRE_COMMANDS", + "examples": [ + [ + { + "command": "composer install", + "continue_if_failed": false, + "cwd": "workspace" + } + ] + ], + "items": { + "$ref": "#/definitions/command_info" + }, + "title": "Pre commands for JAVA descriptor", + "type": "array" + }, "JSON_ESLINT_PLUGIN_JSONC_ARGUMENTS": { "$id": "#/properties/JSON_ESLINT_PLUGIN_JSONC_ARGUMENTS", "description": "JSON_ESLINT_PLUGIN_JSONC: User custom arguments to add in linter CLI call", @@ -28515,6 +29331,23 @@ "title": "JSON_NPM_PACKAGE_JSON_LINT: Unsecured env variables", "type": "array" }, + "JSON_POST_COMMANDS": { + "$id": "#/properties/JSON_POST_COMMANDS", + "examples": [ + [ + { + "command": "composer install", + "continue_if_failed": false, + "cwd": "workspace" + } + ] + ], + "items": { + "$ref": "#/definitions/command_info" + }, + "title": "Post commands for JSON descriptor", + "type": "array" + }, "JSON_PRETTIER_ARGUMENTS": { "$id": "#/properties/JSON_PRETTIER_ARGUMENTS", "description": "JSON_PRETTIER: User custom arguments to add in linter CLI call", @@ -28674,6 +29507,23 @@ "title": "JSON_PRETTIER: Unsecured env variables", "type": "array" }, + "JSON_PRE_COMMANDS": { + "$id": "#/properties/JSON_PRE_COMMANDS", + "examples": [ + [ + { + "command": "composer install", + "continue_if_failed": false, + "cwd": "workspace" + } + ] + ], + "items": { + "$ref": "#/definitions/command_info" + }, + "title": "Pre commands for JSON descriptor", + "type": "array" + }, "JSON_REPORTER": { "$id": "#/properties/JSON_REPORTER", "default": false, @@ -29014,6 +29864,40 @@ "title": "Including regex filter for JSX descriptor", "type": "string" }, + "JSX_POST_COMMANDS": { + "$id": "#/properties/JSX_POST_COMMANDS", + "examples": [ + [ + { + "command": "composer install", + "continue_if_failed": false, + "cwd": "workspace" + } + ] + ], + "items": { + "$ref": "#/definitions/command_info" + }, + "title": "Post commands for JSX descriptor", + "type": "array" + }, + "JSX_PRE_COMMANDS": { + "$id": "#/properties/JSX_PRE_COMMANDS", + "examples": [ + [ + { + "command": "composer install", + "continue_if_failed": false, + "cwd": "workspace" + } + ] + ], + "items": { + "$ref": "#/definitions/command_info" + }, + "title": "Pre commands for JSX descriptor", + "type": "array" + }, "KOTLIN_DETEKT_ARGUMENTS": { "$id": "#/properties/KOTLIN_DETEKT_ARGUMENTS", "description": "KOTLIN_DETEKT: User custom arguments to add in linter CLI call", @@ -29314,6 +30198,40 @@ "title": "KOTLIN_KTLINT: Unsecured env variables", "type": "array" }, + "KOTLIN_POST_COMMANDS": { + "$id": "#/properties/KOTLIN_POST_COMMANDS", + "examples": [ + [ + { + "command": "composer install", + "continue_if_failed": false, + "cwd": "workspace" + } + ] + ], + "items": { + "$ref": "#/definitions/command_info" + }, + "title": "Post commands for KOTLIN descriptor", + "type": "array" + }, + "KOTLIN_PRE_COMMANDS": { + "$id": "#/properties/KOTLIN_PRE_COMMANDS", + "examples": [ + [ + { + "command": "composer install", + "continue_if_failed": false, + "cwd": "workspace" + } + ] + ], + "items": { + "$ref": "#/definitions/command_info" + }, + "title": "Pre commands for KOTLIN descriptor", + "type": "array" + }, "KUBERNETES_DIRECTORY": { "$id": "#/properties/KUBERNETES_DIRECTORY", "title": "Directory containing KUBERNETES files", @@ -29871,6 +30789,40 @@ "title": "(removed) KUBERNETES_KUBEVAL: Define or override a list of bash commands to run before the linter", "type": "array" }, + "KUBERNETES_POST_COMMANDS": { + "$id": "#/properties/KUBERNETES_POST_COMMANDS", + "examples": [ + [ + { + "command": "composer install", + "continue_if_failed": false, + "cwd": "workspace" + } + ] + ], + "items": { + "$ref": "#/definitions/command_info" + }, + "title": "Post commands for KUBERNETES descriptor", + "type": "array" + }, + "KUBERNETES_PRE_COMMANDS": { + "$id": "#/properties/KUBERNETES_PRE_COMMANDS", + "examples": [ + [ + { + "command": "composer install", + "continue_if_failed": false, + "cwd": "workspace" + } + ] + ], + "items": { + "$ref": "#/definitions/command_info" + }, + "title": "Pre commands for KUBERNETES descriptor", + "type": "array" + }, "LATEX_CHKTEX_ARGUMENTS": { "$id": "#/properties/LATEX_CHKTEX_ARGUMENTS", "description": "LATEX_CHKTEX: User custom arguments to add in linter CLI call", @@ -30046,6 +30998,40 @@ "title": "Including regex filter for LATEX descriptor", "type": "string" }, + "LATEX_POST_COMMANDS": { + "$id": "#/properties/LATEX_POST_COMMANDS", + "examples": [ + [ + { + "command": "composer install", + "continue_if_failed": false, + "cwd": "workspace" + } + ] + ], + "items": { + "$ref": "#/definitions/command_info" + }, + "title": "Post commands for LATEX descriptor", + "type": "array" + }, + "LATEX_PRE_COMMANDS": { + "$id": "#/properties/LATEX_PRE_COMMANDS", + "examples": [ + [ + { + "command": "composer install", + "continue_if_failed": false, + "cwd": "workspace" + } + ] + ], + "items": { + "$ref": "#/definitions/command_info" + }, + "title": "Pre commands for LATEX descriptor", + "type": "array" + }, "LINTER_RULES_PATH": { "$id": "#/properties/LINTER_RULES_PATH", "default": ".github/linters", @@ -30252,6 +31238,40 @@ "title": "LUA_LUACHECK: Unsecured env variables", "type": "array" }, + "LUA_POST_COMMANDS": { + "$id": "#/properties/LUA_POST_COMMANDS", + "examples": [ + [ + { + "command": "composer install", + "continue_if_failed": false, + "cwd": "workspace" + } + ] + ], + "items": { + "$ref": "#/definitions/command_info" + }, + "title": "Post commands for LUA descriptor", + "type": "array" + }, + "LUA_PRE_COMMANDS": { + "$id": "#/properties/LUA_PRE_COMMANDS", + "examples": [ + [ + { + "command": "composer install", + "continue_if_failed": false, + "cwd": "workspace" + } + ] + ], + "items": { + "$ref": "#/definitions/command_info" + }, + "title": "Pre commands for LUA descriptor", + "type": "array" + }, "MAKEFILE_CHECKMAKE_ARGUMENTS": { "$id": "#/properties/MAKEFILE_CHECKMAKE_ARGUMENTS", "description": "MAKEFILE_CHECKMAKE: User custom arguments to add in linter CLI call", @@ -30420,6 +31440,40 @@ "title": "Including regex filter for MAKEFILE descriptor", "type": "string" }, + "MAKEFILE_POST_COMMANDS": { + "$id": "#/properties/MAKEFILE_POST_COMMANDS", + "examples": [ + [ + { + "command": "composer install", + "continue_if_failed": false, + "cwd": "workspace" + } + ] + ], + "items": { + "$ref": "#/definitions/command_info" + }, + "title": "Post commands for MAKEFILE descriptor", + "type": "array" + }, + "MAKEFILE_PRE_COMMANDS": { + "$id": "#/properties/MAKEFILE_PRE_COMMANDS", + "examples": [ + [ + { + "command": "composer install", + "continue_if_failed": false, + "cwd": "workspace" + } + ] + ], + "items": { + "$ref": "#/definitions/command_info" + }, + "title": "Pre commands for MAKEFILE descriptor", + "type": "array" + }, "MARKDOWN_DEFAULT_STYLE": { "$id": "#/properties/MARKDOWN_DEFAULT_STYLE", "description": "Style of markdown formatting to apply", @@ -30971,6 +32025,40 @@ "title": "MARKDOWN_MARKDOWN_TABLE_PRETTIFY: Including Regex", "type": "string" }, + "MARKDOWN_POST_COMMANDS": { + "$id": "#/properties/MARKDOWN_POST_COMMANDS", + "examples": [ + [ + { + "command": "composer install", + "continue_if_failed": false, + "cwd": "workspace" + } + ] + ], + "items": { + "$ref": "#/definitions/command_info" + }, + "title": "Post commands for MARKDOWN descriptor", + "type": "array" + }, + "MARKDOWN_PRE_COMMANDS": { + "$id": "#/properties/MARKDOWN_PRE_COMMANDS", + "examples": [ + [ + { + "command": "composer install", + "continue_if_failed": false, + "cwd": "workspace" + } + ] + ], + "items": { + "$ref": "#/definitions/command_info" + }, + "title": "Pre commands for MARKDOWN descriptor", + "type": "array" + }, "MARKDOWN_REMARK_LINT_ARGUMENTS": { "$id": "#/properties/MARKDOWN_REMARK_LINT_ARGUMENTS", "description": "MARKDOWN_REMARK_LINT: User custom arguments to add in linter CLI call", @@ -31175,6 +32263,40 @@ "title": "Including regex filter for OPENAPI descriptor", "type": "string" }, + "OPENAPI_POST_COMMANDS": { + "$id": "#/properties/OPENAPI_POST_COMMANDS", + "examples": [ + [ + { + "command": "composer install", + "continue_if_failed": false, + "cwd": "workspace" + } + ] + ], + "items": { + "$ref": "#/definitions/command_info" + }, + "title": "Post commands for OPENAPI descriptor", + "type": "array" + }, + "OPENAPI_PRE_COMMANDS": { + "$id": "#/properties/OPENAPI_PRE_COMMANDS", + "examples": [ + [ + { + "command": "composer install", + "continue_if_failed": false, + "cwd": "workspace" + } + ] + ], + "items": { + "$ref": "#/definitions/command_info" + }, + "title": "Pre commands for OPENAPI descriptor", + "type": "array" + }, "OPENAPI_SPECTRAL_ARGUMENTS": { "$id": "#/properties/OPENAPI_SPECTRAL_ARGUMENTS", "description": "OPENAPI_SPECTRAL: User custom arguments to add in linter CLI call", @@ -31531,6 +32653,40 @@ "title": "PERL_PERLCRITIC: Unsecured env variables", "type": "array" }, + "PERL_POST_COMMANDS": { + "$id": "#/properties/PERL_POST_COMMANDS", + "examples": [ + [ + { + "command": "composer install", + "continue_if_failed": false, + "cwd": "workspace" + } + ] + ], + "items": { + "$ref": "#/definitions/command_info" + }, + "title": "Post commands for PERL descriptor", + "type": "array" + }, + "PERL_PRE_COMMANDS": { + "$id": "#/properties/PERL_PRE_COMMANDS", + "examples": [ + [ + { + "command": "composer install", + "continue_if_failed": false, + "cwd": "workspace" + } + ] + ], + "items": { + "$ref": "#/definitions/command_info" + }, + "title": "Pre commands for PERL descriptor", + "type": "array" + }, "PHP_BUILTIN_ARGUMENTS": { "$id": "#/properties/PHP_BUILTIN_ARGUMENTS", "description": "PHP_BUILTIN: User custom arguments to add in linter CLI call", @@ -32151,6 +33307,40 @@ "title": "PHP_PHPSTAN: Unsecured env variables", "type": "array" }, + "PHP_POST_COMMANDS": { + "$id": "#/properties/PHP_POST_COMMANDS", + "examples": [ + [ + { + "command": "composer install", + "continue_if_failed": false, + "cwd": "workspace" + } + ] + ], + "items": { + "$ref": "#/definitions/command_info" + }, + "title": "Post commands for PHP descriptor", + "type": "array" + }, + "PHP_PRE_COMMANDS": { + "$id": "#/properties/PHP_PRE_COMMANDS", + "examples": [ + [ + { + "command": "composer install", + "continue_if_failed": false, + "cwd": "workspace" + } + ] + ], + "items": { + "$ref": "#/definitions/command_info" + }, + "title": "Pre commands for PHP descriptor", + "type": "array" + }, "PHP_PSALM_ARGUMENTS": { "$id": "#/properties/PHP_PSALM_ARGUMENTS", "description": "PHP_PSALM: User custom arguments to add in linter CLI call", @@ -32374,6 +33564,23 @@ "title": "Including regex filter for POWERSHELL descriptor", "type": "string" }, + "POWERSHELL_POST_COMMANDS": { + "$id": "#/properties/POWERSHELL_POST_COMMANDS", + "examples": [ + [ + { + "command": "composer install", + "continue_if_failed": false, + "cwd": "workspace" + } + ] + ], + "items": { + "$ref": "#/definitions/command_info" + }, + "title": "Post commands for POWERSHELL descriptor", + "type": "array" + }, "POWERSHELL_POWERSHELL_ARGUMENTS": { "$id": "#/properties/POWERSHELL_POWERSHELL_ARGUMENTS", "description": "POWERSHELL_POWERSHELL: User custom arguments to add in linter CLI call", @@ -32697,6 +33904,23 @@ "title": "POWERSHELL_POWERSHELL: Unsecured env variables", "type": "array" }, + "POWERSHELL_PRE_COMMANDS": { + "$id": "#/properties/POWERSHELL_PRE_COMMANDS", + "examples": [ + [ + { + "command": "composer install", + "continue_if_failed": false, + "cwd": "workspace" + } + ] + ], + "items": { + "$ref": "#/definitions/command_info" + }, + "title": "Pre commands for POWERSHELL descriptor", + "type": "array" + }, "PRE_COMMANDS": { "$id": "#/properties/PRE_COMMANDS", "default": [], @@ -32744,6 +33968,40 @@ "title": "Including regex filter for PROTOBUF descriptor", "type": "string" }, + "PROTOBUF_POST_COMMANDS": { + "$id": "#/properties/PROTOBUF_POST_COMMANDS", + "examples": [ + [ + { + "command": "composer install", + "continue_if_failed": false, + "cwd": "workspace" + } + ] + ], + "items": { + "$ref": "#/definitions/command_info" + }, + "title": "Post commands for PROTOBUF descriptor", + "type": "array" + }, + "PROTOBUF_PRE_COMMANDS": { + "$id": "#/properties/PROTOBUF_PRE_COMMANDS", + "examples": [ + [ + { + "command": "composer install", + "continue_if_failed": false, + "cwd": "workspace" + } + ] + ], + "items": { + "$ref": "#/definitions/command_info" + }, + "title": "Pre commands for PROTOBUF descriptor", + "type": "array" + }, "PROTOBUF_PROTOLINT_ARGUMENTS": { "$id": "#/properties/PROTOBUF_PROTOLINT_ARGUMENTS", "description": "PROTOBUF_PROTOLINT: User custom arguments to add in linter CLI call", @@ -32919,6 +34177,40 @@ "title": "Including regex filter for PUPPET descriptor", "type": "string" }, + "PUPPET_POST_COMMANDS": { + "$id": "#/properties/PUPPET_POST_COMMANDS", + "examples": [ + [ + { + "command": "composer install", + "continue_if_failed": false, + "cwd": "workspace" + } + ] + ], + "items": { + "$ref": "#/definitions/command_info" + }, + "title": "Post commands for PUPPET descriptor", + "type": "array" + }, + "PUPPET_PRE_COMMANDS": { + "$id": "#/properties/PUPPET_PRE_COMMANDS", + "examples": [ + [ + { + "command": "composer install", + "continue_if_failed": false, + "cwd": "workspace" + } + ] + ], + "items": { + "$ref": "#/definitions/command_info" + }, + "title": "Pre commands for PUPPET descriptor", + "type": "array" + }, "PUPPET_PUPPET_LINT_ARGUMENTS": { "$id": "#/properties/PUPPET_PUPPET_LINT_ARGUMENTS", "description": "PUPPET_PUPPET_LINT: User custom arguments to add in linter CLI call", @@ -33910,6 +35202,40 @@ "title": "PYTHON_MYPY: Unsecured env variables", "type": "array" }, + "PYTHON_POST_COMMANDS": { + "$id": "#/properties/PYTHON_POST_COMMANDS", + "examples": [ + [ + { + "command": "composer install", + "continue_if_failed": false, + "cwd": "workspace" + } + ] + ], + "items": { + "$ref": "#/definitions/command_info" + }, + "title": "Post commands for PYTHON descriptor", + "type": "array" + }, + "PYTHON_PRE_COMMANDS": { + "$id": "#/properties/PYTHON_PRE_COMMANDS", + "examples": [ + [ + { + "command": "composer install", + "continue_if_failed": false, + "cwd": "workspace" + } + ] + ], + "items": { + "$ref": "#/definitions/command_info" + }, + "title": "Pre commands for PYTHON descriptor", + "type": "array" + }, "PYTHON_PYLINT_ARGUMENTS": { "$id": "#/properties/PYTHON_PYLINT_ARGUMENTS", "description": "PYTHON_PYLINT: User custom arguments to add in linter CLI call", @@ -34404,6 +35730,40 @@ "title": "Including regex filter for RAKU descriptor", "type": "string" }, + "RAKU_POST_COMMANDS": { + "$id": "#/properties/RAKU_POST_COMMANDS", + "examples": [ + [ + { + "command": "composer install", + "continue_if_failed": false, + "cwd": "workspace" + } + ] + ], + "items": { + "$ref": "#/definitions/command_info" + }, + "title": "Post commands for RAKU descriptor", + "type": "array" + }, + "RAKU_PRE_COMMANDS": { + "$id": "#/properties/RAKU_PRE_COMMANDS", + "examples": [ + [ + { + "command": "composer install", + "continue_if_failed": false, + "cwd": "workspace" + } + ] + ], + "items": { + "$ref": "#/definitions/command_info" + }, + "title": "Pre commands for RAKU descriptor", + "type": "array" + }, "RAKU_RAKU_ARGUMENTS": { "$id": "#/properties/RAKU_RAKU_ARGUMENTS", "description": "RAKU_RAKU: User custom arguments to add in linter CLI call", @@ -35457,6 +36817,40 @@ "title": "REPOSITORY_KICS: Unsecured env variables", "type": "array" }, + "REPOSITORY_POST_COMMANDS": { + "$id": "#/properties/REPOSITORY_POST_COMMANDS", + "examples": [ + [ + { + "command": "composer install", + "continue_if_failed": false, + "cwd": "workspace" + } + ] + ], + "items": { + "$ref": "#/definitions/command_info" + }, + "title": "Post commands for REPOSITORY descriptor", + "type": "array" + }, + "REPOSITORY_PRE_COMMANDS": { + "$id": "#/properties/REPOSITORY_PRE_COMMANDS", + "examples": [ + [ + { + "command": "composer install", + "continue_if_failed": false, + "cwd": "workspace" + } + ] + ], + "items": { + "$ref": "#/definitions/command_info" + }, + "title": "Pre commands for REPOSITORY descriptor", + "type": "array" + }, "REPOSITORY_SECRETLINT_ARGUMENTS": { "$id": "#/properties/REPOSITORY_SECRETLINT_ARGUMENTS", "description": "REPOSITORY_SECRETLINT: User custom arguments to add in linter CLI call", @@ -36154,6 +37548,40 @@ "title": "Including regex filter for RST descriptor", "type": "string" }, + "RST_POST_COMMANDS": { + "$id": "#/properties/RST_POST_COMMANDS", + "examples": [ + [ + { + "command": "composer install", + "continue_if_failed": false, + "cwd": "workspace" + } + ] + ], + "items": { + "$ref": "#/definitions/command_info" + }, + "title": "Post commands for RST descriptor", + "type": "array" + }, + "RST_PRE_COMMANDS": { + "$id": "#/properties/RST_PRE_COMMANDS", + "examples": [ + [ + { + "command": "composer install", + "continue_if_failed": false, + "cwd": "workspace" + } + ] + ], + "items": { + "$ref": "#/definitions/command_info" + }, + "title": "Pre commands for RST descriptor", + "type": "array" + }, "RST_RSTCHECK_ARGUMENTS": { "$id": "#/properties/RST_RSTCHECK_ARGUMENTS", "description": "RST_RSTCHECK: User custom arguments to add in linter CLI call", @@ -36619,6 +38047,40 @@ "title": "Including regex filter for RUBY descriptor", "type": "string" }, + "RUBY_POST_COMMANDS": { + "$id": "#/properties/RUBY_POST_COMMANDS", + "examples": [ + [ + { + "command": "composer install", + "continue_if_failed": false, + "cwd": "workspace" + } + ] + ], + "items": { + "$ref": "#/definitions/command_info" + }, + "title": "Post commands for RUBY descriptor", + "type": "array" + }, + "RUBY_PRE_COMMANDS": { + "$id": "#/properties/RUBY_PRE_COMMANDS", + "examples": [ + [ + { + "command": "composer install", + "continue_if_failed": false, + "cwd": "workspace" + } + ] + ], + "items": { + "$ref": "#/definitions/command_info" + }, + "title": "Pre commands for RUBY descriptor", + "type": "array" + }, "RUBY_RUBOCOP_ARGUMENTS": { "$id": "#/properties/RUBY_RUBOCOP_ARGUMENTS", "description": "RUBY_RUBOCOP: User custom arguments to add in linter CLI call", @@ -36939,6 +38401,40 @@ "title": "Including regex filter for RUST descriptor", "type": "string" }, + "RUST_POST_COMMANDS": { + "$id": "#/properties/RUST_POST_COMMANDS", + "examples": [ + [ + { + "command": "composer install", + "continue_if_failed": false, + "cwd": "workspace" + } + ] + ], + "items": { + "$ref": "#/definitions/command_info" + }, + "title": "Post commands for RUST descriptor", + "type": "array" + }, + "RUST_PRE_COMMANDS": { + "$id": "#/properties/RUST_PRE_COMMANDS", + "examples": [ + [ + { + "command": "composer install", + "continue_if_failed": false, + "cwd": "workspace" + } + ] + ], + "items": { + "$ref": "#/definitions/command_info" + }, + "title": "Pre commands for RUST descriptor", + "type": "array" + }, "R_FILTER_REGEX_EXCLUDE": { "$id": "#/properties/R_FILTER_REGEX_EXCLUDE", "title": "Excluding regex filter for R descriptor", @@ -37114,6 +38610,40 @@ "title": "R_LINTR: Unsecured env variables", "type": "array" }, + "R_POST_COMMANDS": { + "$id": "#/properties/R_POST_COMMANDS", + "examples": [ + [ + { + "command": "composer install", + "continue_if_failed": false, + "cwd": "workspace" + } + ] + ], + "items": { + "$ref": "#/definitions/command_info" + }, + "title": "Post commands for R descriptor", + "type": "array" + }, + "R_PRE_COMMANDS": { + "$id": "#/properties/R_PRE_COMMANDS", + "examples": [ + [ + { + "command": "composer install", + "continue_if_failed": false, + "cwd": "workspace" + } + ] + ], + "items": { + "$ref": "#/definitions/command_info" + }, + "title": "Pre commands for R descriptor", + "type": "array" + }, "SALESFORCE_DIRECTORY": { "$id": "#/properties/SALESFORCE_DIRECTORY", "default": "force-app", @@ -37251,6 +38781,40 @@ "title": "SALESFORCE_LIGHTNING_FLOW_SCANNER: Unsecured env variables", "type": "array" }, + "SALESFORCE_POST_COMMANDS": { + "$id": "#/properties/SALESFORCE_POST_COMMANDS", + "examples": [ + [ + { + "command": "composer install", + "continue_if_failed": false, + "cwd": "workspace" + } + ] + ], + "items": { + "$ref": "#/definitions/command_info" + }, + "title": "Post commands for SALESFORCE descriptor", + "type": "array" + }, + "SALESFORCE_PRE_COMMANDS": { + "$id": "#/properties/SALESFORCE_PRE_COMMANDS", + "examples": [ + [ + { + "command": "composer install", + "continue_if_failed": false, + "cwd": "workspace" + } + ] + ], + "items": { + "$ref": "#/definitions/command_info" + }, + "title": "Pre commands for SALESFORCE descriptor", + "type": "array" + }, "SALESFORCE_SFDX_SCANNER_APEX_ARGUMENTS": { "$id": "#/properties/SALESFORCE_SFDX_SCANNER_APEX_ARGUMENTS", "description": "SALESFORCE_SFDX_SCANNER_APEX: User custom arguments to add in linter CLI call", @@ -37721,6 +39285,40 @@ "title": "Including regex filter for SCALA descriptor", "type": "string" }, + "SCALA_POST_COMMANDS": { + "$id": "#/properties/SCALA_POST_COMMANDS", + "examples": [ + [ + { + "command": "composer install", + "continue_if_failed": false, + "cwd": "workspace" + } + ] + ], + "items": { + "$ref": "#/definitions/command_info" + }, + "title": "Post commands for SCALA descriptor", + "type": "array" + }, + "SCALA_PRE_COMMANDS": { + "$id": "#/properties/SCALA_PRE_COMMANDS", + "examples": [ + [ + { + "command": "composer install", + "continue_if_failed": false, + "cwd": "workspace" + } + ] + ], + "items": { + "$ref": "#/definitions/command_info" + }, + "title": "Pre commands for SCALA descriptor", + "type": "array" + }, "SCALA_SCALAFIX_ARGUMENTS": { "$id": "#/properties/SCALA_SCALAFIX_ARGUMENTS", "description": "SCALA_SCALAFIX: User custom arguments to add in linter CLI call", @@ -38104,6 +39702,40 @@ "title": "SNAKEMAKE_LINT: Unsecured env variables", "type": "array" }, + "SNAKEMAKE_POST_COMMANDS": { + "$id": "#/properties/SNAKEMAKE_POST_COMMANDS", + "examples": [ + [ + { + "command": "composer install", + "continue_if_failed": false, + "cwd": "workspace" + } + ] + ], + "items": { + "$ref": "#/definitions/command_info" + }, + "title": "Post commands for SNAKEMAKE descriptor", + "type": "array" + }, + "SNAKEMAKE_PRE_COMMANDS": { + "$id": "#/properties/SNAKEMAKE_PRE_COMMANDS", + "examples": [ + [ + { + "command": "composer install", + "continue_if_failed": false, + "cwd": "workspace" + } + ] + ], + "items": { + "$ref": "#/definitions/command_info" + }, + "title": "Pre commands for SNAKEMAKE descriptor", + "type": "array" + }, "SNAKEMAKE_SNAKEFMT_ARGUMENTS": { "$id": "#/properties/SNAKEMAKE_SNAKEFMT_ARGUMENTS", "description": "SNAKEMAKE_SNAKEFMT: User custom arguments to add in linter CLI call", @@ -38682,27 +40314,61 @@ "Jenkinsfile" ], "items": { - "type": "string" + "type": "string" + }, + "title": "SPELL_MISSPELL: Override descriptor/linter matching file name regex", + "type": "array" + }, + "SPELL_MISSPELL_FILTER_REGEX_EXCLUDE": { + "$id": "#/properties/SPELL_MISSPELL_FILTER_REGEX_EXCLUDE", + "title": "SPELL_MISSPELL: Excluding Regex", + "type": "string" + }, + "SPELL_MISSPELL_FILTER_REGEX_INCLUDE": { + "$id": "#/properties/SPELL_MISSPELL_FILTER_REGEX_INCLUDE", + "title": "SPELL_MISSPELL: Including Regex", + "type": "string" + }, + "SPELL_MISSPELL_POST_COMMANDS": { + "$id": "#/properties/SPELL_MISSPELL_POST_COMMANDS", + "examples": [ + [ + { + "command": "npm run test", + "continue_if_failed": false, + "cwd": "workspace" + } + ] + ], + "items": { + "$ref": "#/definitions/command_info" + }, + "title": "SPELL_MISSPELL: Define or override a list of bash commands to run after the linter", + "type": "array" + }, + "SPELL_MISSPELL_PRE_COMMANDS": { + "$id": "#/properties/SPELL_MISSPELL_PRE_COMMANDS", + "examples": [ + [ + { + "command": "tflint --init", + "continue_if_failed": false, + "cwd": "workspace" + } + ] + ], + "items": { + "$ref": "#/definitions/command_info" }, - "title": "SPELL_MISSPELL: Override descriptor/linter matching file name regex", + "title": "SPELL_MISSPELL: Define or override a list of bash commands to run before the linter", "type": "array" }, - "SPELL_MISSPELL_FILTER_REGEX_EXCLUDE": { - "$id": "#/properties/SPELL_MISSPELL_FILTER_REGEX_EXCLUDE", - "title": "SPELL_MISSPELL: Excluding Regex", - "type": "string" - }, - "SPELL_MISSPELL_FILTER_REGEX_INCLUDE": { - "$id": "#/properties/SPELL_MISSPELL_FILTER_REGEX_INCLUDE", - "title": "SPELL_MISSPELL: Including Regex", - "type": "string" - }, - "SPELL_MISSPELL_POST_COMMANDS": { - "$id": "#/properties/SPELL_MISSPELL_POST_COMMANDS", + "SPELL_POST_COMMANDS": { + "$id": "#/properties/SPELL_POST_COMMANDS", "examples": [ [ { - "command": "npm run test", + "command": "composer install", "continue_if_failed": false, "cwd": "workspace" } @@ -38711,15 +40377,15 @@ "items": { "$ref": "#/definitions/command_info" }, - "title": "SPELL_MISSPELL: Define or override a list of bash commands to run after the linter", + "title": "Post commands for SPELL descriptor", "type": "array" }, - "SPELL_MISSPELL_PRE_COMMANDS": { - "$id": "#/properties/SPELL_MISSPELL_PRE_COMMANDS", + "SPELL_PRE_COMMANDS": { + "$id": "#/properties/SPELL_PRE_COMMANDS", "examples": [ [ { - "command": "tflint --init", + "command": "composer install", "continue_if_failed": false, "cwd": "workspace" } @@ -38728,7 +40394,7 @@ "items": { "$ref": "#/definitions/command_info" }, - "title": "SPELL_MISSPELL: Define or override a list of bash commands to run before the linter", + "title": "Pre commands for SPELL descriptor", "type": "array" }, "SPELL_PROSELINT_ARGUMENTS": { @@ -39059,6 +40725,40 @@ "title": "Including regex filter for SQL descriptor", "type": "string" }, + "SQL_POST_COMMANDS": { + "$id": "#/properties/SQL_POST_COMMANDS", + "examples": [ + [ + { + "command": "composer install", + "continue_if_failed": false, + "cwd": "workspace" + } + ] + ], + "items": { + "$ref": "#/definitions/command_info" + }, + "title": "Post commands for SQL descriptor", + "type": "array" + }, + "SQL_PRE_COMMANDS": { + "$id": "#/properties/SQL_PRE_COMMANDS", + "examples": [ + [ + { + "command": "composer install", + "continue_if_failed": false, + "cwd": "workspace" + } + ] + ], + "items": { + "$ref": "#/definitions/command_info" + }, + "title": "Pre commands for SQL descriptor", + "type": "array" + }, "SQL_SQLFLUFF_ARGUMENTS": { "$id": "#/properties/SQL_SQLFLUFF_ARGUMENTS", "description": "SQL_SQLFLUFF: User custom arguments to add in linter CLI call", @@ -39552,6 +41252,40 @@ "title": "Including regex filter for SWIFT descriptor", "type": "string" }, + "SWIFT_POST_COMMANDS": { + "$id": "#/properties/SWIFT_POST_COMMANDS", + "examples": [ + [ + { + "command": "composer install", + "continue_if_failed": false, + "cwd": "workspace" + } + ] + ], + "items": { + "$ref": "#/definitions/command_info" + }, + "title": "Post commands for SWIFT descriptor", + "type": "array" + }, + "SWIFT_PRE_COMMANDS": { + "$id": "#/properties/SWIFT_PRE_COMMANDS", + "examples": [ + [ + { + "command": "composer install", + "continue_if_failed": false, + "cwd": "workspace" + } + ] + ], + "items": { + "$ref": "#/definitions/command_info" + }, + "title": "Pre commands for SWIFT descriptor", + "type": "array" + }, "SWIFT_SWIFTLINT_ARGUMENTS": { "$id": "#/properties/SWIFT_SWIFTLINT_ARGUMENTS", "description": "SWIFT_SWIFTLINT: User custom arguments to add in linter CLI call", @@ -39714,6 +41448,40 @@ "title": "Including regex filter for TEKTON descriptor", "type": "string" }, + "TEKTON_POST_COMMANDS": { + "$id": "#/properties/TEKTON_POST_COMMANDS", + "examples": [ + [ + { + "command": "composer install", + "continue_if_failed": false, + "cwd": "workspace" + } + ] + ], + "items": { + "$ref": "#/definitions/command_info" + }, + "title": "Post commands for TEKTON descriptor", + "type": "array" + }, + "TEKTON_PRE_COMMANDS": { + "$id": "#/properties/TEKTON_PRE_COMMANDS", + "examples": [ + [ + { + "command": "composer install", + "continue_if_failed": false, + "cwd": "workspace" + } + ] + ], + "items": { + "$ref": "#/definitions/command_info" + }, + "title": "Pre commands for TEKTON descriptor", + "type": "array" + }, "TEKTON_TEKTON_LINT_ARGUMENTS": { "$id": "#/properties/TEKTON_TEKTON_LINT_ARGUMENTS", "description": "TEKTON_TEKTON_LINT: User custom arguments to add in linter CLI call", @@ -40127,6 +41895,40 @@ "title": "(removed) TERRAFORM_KICS: Define or override a list of bash commands to run before the linter", "type": "array" }, + "TERRAFORM_POST_COMMANDS": { + "$id": "#/properties/TERRAFORM_POST_COMMANDS", + "examples": [ + [ + { + "command": "composer install", + "continue_if_failed": false, + "cwd": "workspace" + } + ] + ], + "items": { + "$ref": "#/definitions/command_info" + }, + "title": "Post commands for TERRAFORM descriptor", + "type": "array" + }, + "TERRAFORM_PRE_COMMANDS": { + "$id": "#/properties/TERRAFORM_PRE_COMMANDS", + "examples": [ + [ + { + "command": "composer install", + "continue_if_failed": false, + "cwd": "workspace" + } + ] + ], + "items": { + "$ref": "#/definitions/command_info" + }, + "title": "Pre commands for TERRAFORM descriptor", + "type": "array" + }, "TERRAFORM_TERRAFORM_FMT_ARGUMENTS": { "$id": "#/properties/TERRAFORM_TERRAFORM_FMT_ARGUMENTS", "description": "TERRAFORM_TERRAFORM_FMT: User custom arguments to add in linter CLI call", @@ -40910,6 +42712,40 @@ "title": "Including regex filter for TSX descriptor", "type": "string" }, + "TSX_POST_COMMANDS": { + "$id": "#/properties/TSX_POST_COMMANDS", + "examples": [ + [ + { + "command": "composer install", + "continue_if_failed": false, + "cwd": "workspace" + } + ] + ], + "items": { + "$ref": "#/definitions/command_info" + }, + "title": "Post commands for TSX descriptor", + "type": "array" + }, + "TSX_PRE_COMMANDS": { + "$id": "#/properties/TSX_PRE_COMMANDS", + "examples": [ + [ + { + "command": "composer install", + "continue_if_failed": false, + "cwd": "workspace" + } + ] + ], + "items": { + "$ref": "#/definitions/command_info" + }, + "title": "Pre commands for TSX descriptor", + "type": "array" + }, "TYPESCRIPT_DEFAULT_STYLE": { "$id": "#/properties/TYPESCRIPT_DEFAULT_STYLE", "description": "Style of typescript formatting to apply", @@ -41100,6 +42936,23 @@ "title": "Including regex filter for TYPESCRIPT descriptor", "type": "string" }, + "TYPESCRIPT_POST_COMMANDS": { + "$id": "#/properties/TYPESCRIPT_POST_COMMANDS", + "examples": [ + [ + { + "command": "composer install", + "continue_if_failed": false, + "cwd": "workspace" + } + ] + ], + "items": { + "$ref": "#/definitions/command_info" + }, + "title": "Post commands for TYPESCRIPT descriptor", + "type": "array" + }, "TYPESCRIPT_PRETTIER_ARGUMENTS": { "$id": "#/properties/TYPESCRIPT_PRETTIER_ARGUMENTS", "description": "TYPESCRIPT_PRETTIER: User custom arguments to add in linter CLI call", @@ -41259,6 +43112,23 @@ "title": "TYPESCRIPT_PRETTIER: Unsecured env variables", "type": "array" }, + "TYPESCRIPT_PRE_COMMANDS": { + "$id": "#/properties/TYPESCRIPT_PRE_COMMANDS", + "examples": [ + [ + { + "command": "composer install", + "continue_if_failed": false, + "cwd": "workspace" + } + ] + ], + "items": { + "$ref": "#/definitions/command_info" + }, + "title": "Pre commands for TYPESCRIPT descriptor", + "type": "array" + }, "TYPESCRIPT_STANDARD_ARGUMENTS": { "$id": "#/properties/TYPESCRIPT_STANDARD_ARGUMENTS", "description": "TYPESCRIPT_STANDARD: User custom arguments to add in linter CLI call", @@ -41577,6 +43447,40 @@ "title": "Including regex filter for VBDOTNET descriptor", "type": "string" }, + "VBDOTNET_POST_COMMANDS": { + "$id": "#/properties/VBDOTNET_POST_COMMANDS", + "examples": [ + [ + { + "command": "composer install", + "continue_if_failed": false, + "cwd": "workspace" + } + ] + ], + "items": { + "$ref": "#/definitions/command_info" + }, + "title": "Post commands for VBDOTNET descriptor", + "type": "array" + }, + "VBDOTNET_PRE_COMMANDS": { + "$id": "#/properties/VBDOTNET_PRE_COMMANDS", + "examples": [ + [ + { + "command": "composer install", + "continue_if_failed": false, + "cwd": "workspace" + } + ] + ], + "items": { + "$ref": "#/definitions/command_info" + }, + "title": "Pre commands for VBDOTNET descriptor", + "type": "array" + }, "XML_FILTER_REGEX_EXCLUDE": { "$id": "#/properties/XML_FILTER_REGEX_EXCLUDE", "title": "Excluding regex filter for XML descriptor", @@ -41587,6 +43491,40 @@ "title": "Including regex filter for XML descriptor", "type": "string" }, + "XML_POST_COMMANDS": { + "$id": "#/properties/XML_POST_COMMANDS", + "examples": [ + [ + { + "command": "composer install", + "continue_if_failed": false, + "cwd": "workspace" + } + ] + ], + "items": { + "$ref": "#/definitions/command_info" + }, + "title": "Post commands for XML descriptor", + "type": "array" + }, + "XML_PRE_COMMANDS": { + "$id": "#/properties/XML_PRE_COMMANDS", + "examples": [ + [ + { + "command": "composer install", + "continue_if_failed": false, + "cwd": "workspace" + } + ] + ], + "items": { + "$ref": "#/definitions/command_info" + }, + "title": "Pre commands for XML descriptor", + "type": "array" + }, "XML_XMLLINT_ARGUMENTS": { "$id": "#/properties/XML_XMLLINT_ARGUMENTS", "description": "XML_XMLLINT: User custom arguments to add in linter CLI call", @@ -41743,6 +43681,23 @@ "title": "Including regex filter for YAML descriptor", "type": "string" }, + "YAML_POST_COMMANDS": { + "$id": "#/properties/YAML_POST_COMMANDS", + "examples": [ + [ + { + "command": "composer install", + "continue_if_failed": false, + "cwd": "workspace" + } + ] + ], + "items": { + "$ref": "#/definitions/command_info" + }, + "title": "Post commands for YAML descriptor", + "type": "array" + }, "YAML_PRETTIER_ARGUMENTS": { "$id": "#/properties/YAML_PRETTIER_ARGUMENTS", "description": "YAML_PRETTIER: User custom arguments to add in linter CLI call", @@ -41902,6 +43857,23 @@ "title": "YAML_PRETTIER: Unsecured env variables", "type": "array" }, + "YAML_PRE_COMMANDS": { + "$id": "#/properties/YAML_PRE_COMMANDS", + "examples": [ + [ + { + "command": "composer install", + "continue_if_failed": false, + "cwd": "workspace" + } + ] + ], + "items": { + "$ref": "#/definitions/command_info" + }, + "title": "Pre commands for YAML descriptor", + "type": "array" + }, "YAML_V8R_ARGUMENTS": { "$id": "#/properties/YAML_V8R_ARGUMENTS", "description": "YAML_V8R: User custom arguments to add in linter CLI call", diff --git a/megalinter/pre_post_factory.py b/megalinter/pre_post_factory.py index 64c7905471d..6d3260ef558 100644 --- a/megalinter/pre_post_factory.py +++ b/megalinter/pre_post_factory.py @@ -18,6 +18,20 @@ def run_post_commands(mega_linter): return run_pre_post_commands("POST_COMMANDS", "[Post]", mega_linter) +# Commands to run before running all linters in a descriptor +def run_descriptor_pre_commands(mega_linter, descriptor_id): + return run_pre_post_commands( + f"{descriptor_id}_PRE_COMMANDS", f"[Pre][{descriptor_id}]", mega_linter + ) + + +# Commands to run after running all linters in a descriptor +def run_descriptor_post_commands(mega_linter, descriptor_id): + return run_pre_post_commands( + f"{descriptor_id}_POST_COMMANDS", f"[Post][{descriptor_id}]", mega_linter + ) + + # Commands to run before a linter (defined in descriptors) def run_linter_pre_commands(mega_linter, linter): if linter.pre_commands is not None: diff --git a/megalinter/tests/test_megalinter/pre_post_test.py b/megalinter/tests/test_megalinter/pre_post_test.py index 6d38817f21c..152a4e24f36 100644 --- a/megalinter/tests/test_megalinter/pre_post_test.py +++ b/megalinter/tests/test_megalinter/pre_post_test.py @@ -38,3 +38,7 @@ def test_pre_post_success(self): ) self.assertIn("pre-test command has been called", output) self.assertIn("npm run test has been called", output) + self.assertIn("descriptor pre-command has been run", output) + self.assertIn("descriptor post-command has been run", output) + self.assertIn("linter pre-command has been run", output) + self.assertIn("linter post-command has been run", output)