GrumPHP comes shipped with a configuration tool. Run following command to create a basic configuration file:
php ./vendor/bin/grumphp configure
This command gets invoked during installation. It wil not ask you for anything, but it will try to guess the best possible configuration.
To enable or disable GrumPHP, you can run one of the following commands:
php ./vendor/bin/grumphp git:init
php ./vendor/bin/grumphp git:deinit
The git:init
is triggered by the composer plugin during installation.
GrumPHP will be triggered with GIT hooks. However, you can run following commands:
php ./vendor/bin/grumphp git:pre-commit
php ./vendor/bin/grumphp git:commit-msg
Both commands support raw git diffs and file lists as STDIN input.
This way it is possible to pass changes triggered by git commit -a
from the GIT hook to the GrumPHP commands.
If no stdin is provided, it will load the currently staged git diff.
Example stdin usages:
git diff | php ./vendor/bin/grumphp git:pre-commit
git diff --staged | php ./vendor/bin/grumphp git:pre-commit
git ls-files src | php ./vendor/bin/grumphp git:pre-commit
❗ If you use the stdin, we won't be able to answer questions interactively.
If you want to run the tests on the full codebase, you can run the command:
php ./vendor/bin/grumphp run
php ./vendor/bin/grumphp run --testsuite=mytestsuite
This command can also be used for continuous integration. More information about the testsuites can be found in the testsuites documentation.
If you want to run only a subset of the configured tasks, you can run the command with the --tasks
option:
php ./vendor/bin/grumphp run --tasks=task1,task2
The --tasks
value has to be a comma-separated string of task names that match the keys in the tasks
section
of the grumphp.yml
file. See #580 for a more exhaustive explanation.
The run command support raw git diffs and file lists as STDIN input. This way it is possible to select which files you want grumphp to check. If no stdin is provided, it will load all files known to git.
Example stdin usages:
git diff | php ./vendor/bin/grumphp run
git diff --staged | php ./vendor/bin/grumphp run
git ls-files src | php ./vendor/bin/grumphp run
❗ If you use the stdin, we won't be able to answer questions interactively.