使用GrumPHP运行PHP CS修复程序

时间:2016-08-23 22:54:59

标签: php symfony phpcs

我正在使用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

2 个答案:

答案 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。