before_commands:
    - "composer install --prefer-source"

tools:
    # Code Coverage
    external_code_coverage:
        enabled: true
        timeout: 300
        filter:
            excluded_paths:
                - 'docs/*'
                - 'examples/*'
                - 'extras/*'
                - 'test/*'
                - 'vendor/*'


    php_code_coverage:
        enabled:              false
        test_command:         phpunit
        filter:
            excluded_paths:
                - 'docs/*'
                - 'examples/*'
                - 'extras/*'
                - 'test/*'
                - 'vendor/*'


    # Code Sniffer
    php_code_sniffer:
        enabled:              true
        command:              phpcs
        config:
            standard:         PSR2
        filter:
            excluded_paths:
                - 'docs/*'
                - 'examples/*'
                - 'extras/*'
                - 'test/*'
                - 'vendor/*'


    # Copy/Paste Detector
    php_cpd:
        enabled:              true
        command:              phpcpd
        excluded_dirs:
            - docs
            - examples
            - extras
            - test
            - vendor


    # PHP CS Fixer (http://http://cs.sensiolabs.org/).
    php_cs_fixer:
        enabled:              true
        command:              php-cs-fixer
        config:
            level:            psr2
        filter:
            excluded_paths:
                - 'docs/*'
                - 'examples/*'
                - 'extras/*'
                - 'test/*'
                - 'vendor/*'


    # Analyzes the size and structure of a PHP project.
    php_loc:
        enabled:              true
        command:              phploc
        excluded_dirs:
            - docs
            - examples
            - extras
            - test
            - vendor


    # PHP Mess Detector (http://phpmd.org).
    php_mess_detector:
        enabled:              true
        command:              phpmd
        config:
            rulesets:
                - codesize
                - unusedcode
                - naming
                - design
            naming_rules:
                short_variable: { minimum: 2 }
        filter:
            excluded_paths:
                - 'docs/*'
                - 'examples/*'
                - 'extras/*'
                - 'test/*'
                - 'vendor/*'


    # Analyzes the size and structure of a PHP project.
    php_pdepend:
        enabled:              true
        command:              pdepend
        excluded_dirs:
            - docs
            - examples
            - extras
            - test
            - vendor

    # Runs Scrutinizer's PHP Analyzer Tool
    php_analyzer:
        enabled:              true
        checks:
            php:
                function_in_camel_caps: false
                no_underscore_prefix_in_methods: false
                no_underscore_prefix_in_properties: false
                one_class_per_file: false
        filter:
            excluded_paths:
                - 'docs/*'
                - 'examples/*'
                - 'extras/*'
                - 'test/*'
                - 'vendor/*'

    # Security Advisory Checker
    sensiolabs_security_checker: true
