我正在使用GrumPhp在我的symfony项目中嗅探我的提交:https://github.com/phpro/grumphp
这是我的配置:
parameters:
git_dir: .
bin_dir: vendor/bin
tasks:
phpcsfixer:
config_file: ~
config: sf23
fixers: [psr2, symfony, indentation]
level: psr2
verbose: true
我的问题是:
Grumphp 是否有办法在我提交时自动运行php-cs-fixer
?
答案 0 :(得分:1)
是的! https://github.com/phpro/grumphp/blob/master/doc/tasks.md
由于您的帖子有点旧,这里是新的更新文档,但您仍然可以使用第一版! https://github.com/phpro/grumphp/blob/master/doc/tasks/php_cs_fixer2.md
你可以尝试这个配置,但它是phpcsfixer version2!:
# grumphp.yml
parameters:
bin_dir: "./vendor/bin"
git_dir: "."
hooks_dir: ~
hooks_preset: local
stop_on_failure: false
ignore_unstaged_changes: false
process_async_limit: 10
process_async_wait: 1000
process_timeout: 60
ascii:
failed: grumphp-grumpy.txt
succeeded: grumphp-happy.txt
tasks:
phpcsfixer2:
allow_risky: false
cache_file: ~
config: ~
rules: ['@Symfony']
using_cache: true
path_mode: ~
verbose: true
您的配置看起来很好,输出是什么? 您是否安装了cs fixer并将grumPHP配置配置为CS修复程序的路径? https://github.com/FriendsOfPHP/PHP-CS-Fixer#usage
答案 1 :(得分:0)
GrumPHP始终使用php-cs-fixer
参数运行--dry-run
,并且此行为不可配置。您可以在这里阅读原因:https://github.com/phpro/grumphp/issues/110
但是有一种自动运行php-cs-fixer
的方法:您必须安装GrumPHP Extra Tasks并将phpcsfixer2
替换为{grpphp中的php_cs_auto_fixerv2
。 yml”文件。
请注意,到目前为止,GrumPHP Extra Tasks与最新版本的GrumPHP不兼容,但最高兼容0.17.2。