services:
    task.ant:
        class: GrumPHP\Task\Ant
        arguments:
            - '@config'
            - '@process_builder'
            - '@formatter.raw_process'
        tags:
            - {name: grumphp.task, config: ant}

    task.atoum:
        class: GrumPHP\Task\Atoum
        arguments:
            - '@config'
            - '@process_builder'
            - '@formatter.raw_process'
        tags:
            - {name: grumphp.task, config: atoum}

    task.behat:
        class: GrumPHP\Task\Behat
        arguments:
            - '@config'
            - '@process_builder'
            - '@formatter.raw_process'
        tags:
            - {name: grumphp.task, config: behat}

    task.brunch:
        class: GrumPHP\Task\Brunch
        arguments:
            - '@config'
            - '@process_builder'
            - '@formatter.raw_process'
        tags:
            - {name: grumphp.task, config: brunch}

    task.clovercoverage:
        class: GrumPHP\Task\CloverCoverage
        arguments:
            - '@config'
            - '@filesystem'
        tags:
            - {name: grumphp.task, config: clover_coverage}

    task.codeception:
        class: GrumPHP\Task\Codeception
        arguments:
            - '@config'
            - '@process_builder'
            - '@formatter.raw_process'
        tags:
            - {name: grumphp.task, config: codeception}

    task.composer:
        class: GrumPHP\Task\Composer
        arguments:
            - '@config'
            - '@process_builder'
            - '@formatter.raw_process'
            - '@grumphp.util.filesystem'
        tags:
            - {name: grumphp.task, config: composer}

    task.composer.script:
        class: GrumPHP\Task\ComposerScript
        arguments:
            - '@config'
            - '@process_builder'
            - '@formatter.raw_process'
        tags:
            - {name: grumphp.task, config: composer_script}

    task.deptrac:
        class: GrumPHP\Task\Deptrac
        arguments:
            - '@config'
            - '@process_builder'
            - '@formatter.raw_process'
        tags:
            - {name: grumphp.task, config: deptrac}

    task.doctrine_orm:
        class: GrumPHP\Task\DoctrineOrm
        arguments:
          - '@config'
          - '@process_builder'
          - '@formatter.raw_process'
        tags:
          - {name: grumphp.task, config: doctrine_orm}

    task.git.gherkin:
        class: GrumPHP\Task\Gherkin
        arguments:
            - '@config'
            - '@process_builder'
            - '@formatter.raw_process'
        tags:
            - {name: grumphp.task, config: gherkin}

    task.git.blacklist:
        class: GrumPHP\Task\Git\Blacklist
        arguments:
            - '@config'
            - '@process_builder'
            - '@formatter.git_blacklist'
            - '@grumphp.io'
        tags:
            - {name: grumphp.task, config: git_blacklist}

    task.git.commitmessage:
        class: GrumPHP\Task\Git\CommitMessage
        arguments:
            - '@config'
        tags:
            - {name: grumphp.task, config: git_commit_message}

    task.git.branchname:
        class: GrumPHP\Task\Git\BranchName
        arguments:
            - '@config'
            - '@git.repository'
        tags:
            - {name: grumphp.task, config: git_branch_name}

    task.grunt:
        class: GrumPHP\Task\Grunt
        arguments:
            - '@config'
            - '@process_builder'
            - '@formatter.raw_process'
        tags:
            - {name: grumphp.task, config: grunt}

    task.gulp:
        class: GrumPHP\Task\Gulp
        arguments:
            - '@config'
            - '@process_builder'
            - '@formatter.raw_process'
        tags:
            - {name: grumphp.task, config: gulp}
    task.jsonlint:
        class: GrumPHP\Task\JsonLint
        arguments:
            - '@config'
            - '@linter.jsonlint'
        tags:
            - {name: grumphp.task, config: jsonlint}

    task.kahlan:
        class: GrumPHP\Task\Kahlan
        arguments:
            - '@config'
            - '@process_builder'
            - '@formatter.raw_process'
        tags:
            - {name: grumphp.task, config: kahlan}

    task.make:
        class: GrumPHP\Task\Make
        arguments:
            - '@config'
            - '@process_builder'
            - '@formatter.raw_process'
        tags:
            - {name: grumphp.task, config: make}

    task.npm.script:
        class: GrumPHP\Task\NpmScript
        arguments:
            - '@config'
            - '@process_builder'
            - '@formatter.raw_process'
        tags:
            - {name: grumphp.task, config: npm_script}

    task.phan:
        class: GrumPHP\Task\Phan
        arguments:
            - '@config'
            - '@process_builder'
            - '@formatter.raw_process'
        tags:
            - {name: grumphp.task, config: phan}

    task.phing:
        class: GrumPHP\Task\Phing
        arguments:
            - '@config'
            - '@process_builder'
            - '@formatter.raw_process'
        tags:
            - {name: grumphp.task, config: phing}

    task.php7cc:
        class: GrumPHP\Task\Php7cc
        arguments:
            - '@config'
            - '@process_builder'
            - '@formatter.raw_process'
        tags:
            - {name: grumphp.task, config: php7cc}

    task.phpcpd:
        class: GrumPHP\Task\PhpCpd
        arguments:
          - '@config'
          - '@process_builder'
          - '@formatter.raw_process'
        tags:
          - {name: grumphp.task, config: phpcpd}

    task.phpcs:
        class: GrumPHP\Task\Phpcs
        arguments:
          - '@config'
          - '@process_builder'
          - '@formatter.phpcs'
        tags:
          - {name: grumphp.task, config: phpcs}

    task.phpcsfixer:
        class: GrumPHP\Task\PhpCsFixer
        arguments:
          - '@config'
          - '@process_builder'
          - '@async_process_runner'
          - '@formatter.phpcsfixer'
        tags:
          - {name: grumphp.task, config: phpcsfixer}

    task.phpcsfixer2:
        class: GrumPHP\Task\PhpCsFixerV2
        arguments:
          - '@config'
          - '@process_builder'
          - '@async_process_runner'
          - '@formatter.phpcsfixer'
        tags:
          - {name: grumphp.task, config: phpcsfixer2}

    task.phplint:
        class: GrumPHP\Task\PhpLint
        arguments:
            - '@config'
            - '@process_builder'
            - '@formatter.raw_process'
        tags:
            - {name: grumphp.task, config: phplint}

    task.phpmd:
        class: GrumPHP\Task\PhpMd
        arguments:
          - '@config'
          - '@process_builder'
          - '@formatter.raw_process'
        tags:
          - {name: grumphp.task, config: phpmd}

    task.phpmnd:
        class: GrumPHP\Task\PhpMnd
        arguments:
          - '@config'
          - '@process_builder'
          - '@formatter.raw_process'
        tags:
          - {name: grumphp.task, config: phpmnd}

    task.phpparser:
        class: GrumPHP\Task\PhpParser
        arguments:
            - '@config'
            - '@grumphp.parser.php.parser'
        tags:
          - {name: grumphp.task, config: phpparser}

    task.phpspec:
        class: GrumPHP\Task\Phpspec
        arguments:
          - '@config'
          - '@process_builder'
          - '@formatter.raw_process'
        tags:
          - {name: grumphp.task, config: phpspec}

    task.phpstan:
        class: GrumPHP\Task\PhpStan
        arguments:
          - '@config'
          - '@process_builder'
          - '@formatter.raw_process'
        tags:
          - {name: grumphp.task, config: phpstan}

    task.phpunit:
        class: GrumPHP\Task\Phpunit
        arguments:
            - '@config'
            - '@process_builder'
            - '@formatter.raw_process'
        tags:
            - {name: grumphp.task, config: phpunit}

    task.phpversion:
        class: GrumPHP\Task\PhpVersion
        arguments:
            - '@config'
            - '@grumphp.util.phpversion'
        tags:
            - {name: grumphp.task, config: phpversion}

    task.robo:
        class: GrumPHP\Task\Robo
        arguments:
            - '@config'
            - '@process_builder'
            - '@formatter.raw_process'
        tags:
            - {name: grumphp.task, config: robo}

    task.securitychecker:
        class: GrumPHP\Task\SecurityChecker
        arguments:
            - '@config'
            - '@process_builder'
            - '@formatter.raw_process'
        tags:
            - {name: grumphp.task, config: securitychecker}

    task.shell:
        class: GrumPHP\Task\Shell
        arguments:
            - '@config'
            - '@process_builder'
            - '@formatter.raw_process'
        tags:
            - {name: grumphp.task, config: shell}

    task.xmllint:
        class: GrumPHP\Task\XmlLint
        arguments:
            - '@config'
            - '@linter.xmllint'
        tags:
            - {name: grumphp.task, config: xmllint}

    task.yamllint:
        class: GrumPHP\Task\YamlLint
        arguments:
            - '@config'
            - '@linter.yamllint'
        tags:
            - {name: grumphp.task, config: yamllint}
