G运行t phpcs多任务不要运行

Grunt phpcs multiple tasks don't run

我尝试为 WordPress 实现一个插件,我使用 phpcsWordPress 标准。

在我的例子中,问题是 phpcs 的默认 WordPress 标准也会检查超出我需要的 WordPress-VIP,而我喜欢做的是测试我的代码符合 ExtraDocsCore 标准。

所以,在我的应用程序中,我安装了 grunt-phpcs 模块,在我的 Gruntfile.js 中,我安装了如下示例代码并且工作正常:

phpcs : {
    application : {
        src : [
            'includes/**/*.php',
            'php/**/*.php',
            'my-plugin.php'
        ]
    },
    options     : {
        bin      : '/usr/local/bin/phpcs',
        standard : 'WordPress-Extra'
    }
}

但是正如我上面所述,这并不能解决我的问题,所以我尝试了以下方法:

phpcs : {
        extra : {
            application : {
                src : [
                    'includes/**/*.php',
                    'php/**/*.php',
                    'my-plugin.php'
                ]
            },
            options     : {
                bin      : '/usr/local/bin/phpcs',
                standard : 'WordPress-Extra'
            }
        },
        docs : {
            application : {
                src : [
                    'includes/**/*.php',
                    'php/**/*.php',
                    'my-plugin.php'
                ]
            },
            options     : {
                bin      : '/usr/local/bin/phpcs',
                standard : 'WordPress-Docs'
            }
        },
        core : {
            application : {
                src : [
                    'includes/**/*.php',
                    'php/**/*.php',
                    'my-plugin.php'
                ]
            },
            options     : {
                bin      : '/usr/local/bin/phpcs',
                standard : 'WordPress-Core'
            }
        }
    }

但是这次,当我尝试 运行 grunt phpcs:extragrunt phpcs:docsgrunt phpcs:core 时,结果是 phpcs --help ,这意味着 phpcs 不能这样工作。

那么,有没有其他方法可以执行相同的任务,但这次是工作?

我正在考虑的另一个选择是执行如下操作:

grunt.registerTask('phpcs_extra', function() {
    // do stuff
}

grunt.registerTask('phpcs_docs', function() {
    // do stuff
}

grunt.registerTask('phpcs_core', function() {
    // do stuff
}

但我不确定这是否可行。

您可以试试下面的 registerTask:

grunt.registerTask('phpcs_extra', function() {

    var application = {
        src : [
            'includes/**/*.php',
            'php/**/*.php',
            'my-plugin.php'
        ]
    };

    var options = {
        bin      : '/usr/local/bin/phpcs',
        standard : 'WordPress-Extra'
    };

    grunt.config.set('phpcs.application', application);
    grunt.config.set('phpcs.options', options);
    grunt.task.run('phpcs');

});