codelegance/grumphp

此包已被废弃且不再维护。未建议替代包。

一个启用源代码质量检查的Composer插件。

维护者

详细信息

github.com/Codelegance/grumphp

源代码

安装数: 6,453

依赖者: 0

建议者: 0

安全性: 0

星标: 0

关注者: 2

分支: 367

类型:composer-plugin

1.1.0 2017-02-27 12:28 UTC

README

Travic Insight AppVeyor Installs Packagist Twitter Freenode

GrumPHP

grumphp-grumpy.png

厌倦了一次又一次地捍卫代码质量?GrumPHP会为你完成这项工作!这个Composer插件将在你的包仓库中注册一些git钩子。当有人提交更改时,GrumPHP将对提交的代码运行一些测试。如果测试失败,你将无法提交你的更改。这个实用的工具不仅能提高你的代码库,还能教会你的同事按照团队确定的最佳实践编写更好的代码。

GrumPHP内置了一组常见任务。你将能够以最少的配置使用GrumPHP。

我们不想让你感到无聊,所以简单地说:自己安装它,释放GrumPHP的力量!

演示

demo

安装

如果你正在尝试在Windows上安装GrumPHP:请阅读Windows预安装部分。

此包是Composer插件,应该使用Composer将其安装到你的项目的开发依赖项中。

composer require --dev phpro/grumphp

当包安装后,GrumPHP将连接到你的项目的git钩子。你将在composer日志中看到以下消息

小心!GrumPHP正在监视你的提交!

为了让GrumPHP更加出色,它还会建议安装一些额外的包

  • atoum/atoum : ~2.7
  • behat/behat : ~3.0
  • codegyre/robo : ~0.7
  • doctrine/orm: ~2.5
  • friendsofphp/php-cs-fixer : ~1|~2
  • malukenho/kawaii-gherkin : ~0.1
  • phing/phing : ~2.0
  • sstalle/php7cc : ~1.1
  • phpspec/phpspec : ~2.1
  • phpunit/phpunit : ~4.5
  • roave/security-advisories : dev-master@dev
  • sebastian/phpcpd : ~2.0
  • squizlabs/php_codesniffer : ~2.3
  • codeception/codeception : ~2.1
  • sensiolabs/security-checker : ~3.0
  • phpmd/phpmd : ~2.4
  • nikic/php-parser: ~2.1
  • kahlan/kahlan: ~3

GrumPHP永远不会强迫你使用特定的任务。你可以选择适合你需求的任务,并且可以随时激活或停用任何任务!

安装GrumPHP时遇到问题?了解如何

配置

GrumPHP中的一些事情可以在项目根目录(运行grumphp命令的目录)中的grumphp.ymlgrumphp.yml.dist文件中进行配置。你可以在composer.json或控制台命令的--config选项中指定自定义配置文件名和位置。

# 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:
        ant: ~
        atoum: ~
        behat: ~
        brunch: ~
        clover_coverage: ~
        codeception: ~
        composer: ~
        composer_script: ~
        doctrine_orm: ~
        gherkin: ~
        git_blacklist: ~
        git_commit_message: ~
        git_conflict: ~
        grunt: ~
        gulp: ~
        jsonlint: ~
        kahlan: ~
        npm_script: ~
        phing: ~
        php7cc: ~
        phpcpd: ~
        phpcs: ~
        phpcsfixer: ~
        phpcsfixer2: ~
        phplint: ~
        phpmd: ~
        phpparser: ~
        phpspec: ~
        phpunit: ~
        phpversion: ~        
        robo: ~
        securitychecker: ~
        shell: ~
        xmllint: ~
        yamllint: ~
    testsuites: []
    extensions: []

你可以在以下部分中找到可配置选项的详细概述

命令

由于GrumPHP只是一个CLI工具,因此可以触发以下命令

兼容性

GrumPHP 与 PHP 5.4 或更高版本兼容,并且也已测试与 HHVM 兼容。

本包已在以下 git 客户端进行测试:

  • CLI Unix
  • CLI Mac
  • CLI Windows
  • PhpStorm Git
  • Atlassian SourceTree
  • Syntevo SmartGit

路线图

已有许多任务可用,以确保您的团队能编写出色的代码。在我们可以发布 v1.0.0 之前,还有 1 个主要部分尚未完成。

我们一直在寻找支持新任务。如果您忘记了一个任务,请随意提交问题或创建一个 pull 请求。

您缺少功能或发现了一个错误?在 问题跟踪器 中记录它!想帮忙?请随时联系我们!

构建您自己的约定检查器

您可以看到如何构建自己的约定检查器的示例

解决问题

关于

提交错误和功能请求

错误和功能请求在 GitHub 上跟踪。请在提交代码之前查看我们的规则。

许可

GrumPHP 在 MIT 许可下授权 - 有关详细信息,请参阅 LICENSE 文件。