Coding standard dependencies for Drupal components.
Install the code review component via Composer:
composer require --dev openeuropa/code-review-drupalIn your project root create the following grumphp.yml.dist:
imports:
- { resource: ./vendor/openeuropa/code-review-drupal/dist/drupal-conventions.yml }GrumPHP tasks will be run at every commit, if you wish to run them without performing a commit use the following command:
./vendor/bin/grumphp runIf you want to simulate the tasks that will be run when creating a new commit:
./vendor/bin/grumphp git:pre-commitCheck GrumPHP documentation for more.
This component offers a variety of ready conventions that all projects need to follow. This list of default conventions can be found in CONVENTIONS.md.
Since GrumPHP uses the Symfony Dependency Injection component
you can override specific parameters in your project's grumphp.yml.dist file as follows:
imports:
- { resource: ./vendor/openeuropa/code-review-drupal/dist/drupal-conventions.yml }
parameters:
tasks.git_commit_message.matchers: ['/^JIRA-\d+: [A-Z].+\./']Below the list of task parameters can that be overridden on a per-project basis:
tasks.phpcs.standardtasks.phpcs.ignore_patternstasks.phpcs.triggered_bytasks.phpcs.whitelist_patternstasks.phpcs.warning_severitytasks.phpstan.autoload_filetasks.phpstan.configurationtasks.phpstan.leveltasks.phpstan.force_patternstasks.phpstan.triggered_bytasks.git_commit_message.matchers
It is also possible to extend the list of tasks to be run by adding tasks under the tasks: tree as shown below:
imports:
- { resource: ./vendor/openeuropa/code-review-drupal/dist/drupal-conventions.yml }
grumphp:
tasks:
phpparser: ~GrumPHP already has a series of tasks that can be used out of the box, you can find the complete list in the GrumPHP tasks page.
If you wih you can create your own tasks as explained in the GrumPHP extensions page.
If you wish to transition to code-review-drupal from code-review version 2.x, please replace the package via Composer:
composer remove --dev openeuropa/code-review
composer require --dev openeuropa/code-review-drupalBesides replacement of the package, some adjustments are needed in grumphp.yml file.
This component removes ExtraTasks extension. Any aditional task previously declared in extra_tasks will need to be placed inside tasks under grumphp tree.
- extra_tasks:
- phpparser:
- ignore_patterns:
- - vendor/
-
- grumphp:
- extensions:
- - OpenEuropa\CodeReview\ExtraTasksExtension
+ grumphp:
+ tasks:
+ phpparser:
+ ignore_patterns:
+ - vendor/
In addition, PHP Mess Detector is no longer available as part of the configured tasks. The task and related parameters have been removed. If you wish to continue using PHP Mess Detector, you can add it as part of GrumPHP as previously described.
All other conventions and parameters remain the same.