Passed
Push — master ( a97a13...4050b6 )
by Gabor
03:36
created

Checkout Config

inherit: true

filter:
    paths: ['src/*']
    excluded_paths: ['vendor/*', 'tests/*', 'bin/*', 'build/*', 'config/*', 'data/*', 'resources/*']

checks:
    php:
        code_rating: true
        duplication: true
        remove_extra_empty_lines: true
        remove_php_closing_tag: true
        remove_trailing_whitespace: true
        fix_use_statements:
            remove_unused: true
            preserve_multiple: false
            preserve_blanklines: true
            order_alphabetically: true
        fix_php_opening_tag: true
        fix_linefeed: true
        fix_line_ending: true
        fix_identation_4spaces: true
        fix_doc_comments: true
        no_debug_code: true

coding_style:
    php:
        spaces:
            around_operators:
                bitwise: false

before_commands:
    - 'sudo composer self-update'
    - 'composer install --no-interaction'

build:
    nodes:
        php72:
            environment:
                php: '7.2'

            tests:
                override:
                    - php-scrutinizer-run --enable-security-analysis
                    -
                        command: 'vendor/bin/phpunit -c phpunit.xml'
                        coverage:
                            file: 'build/logs/clover.xml'
                            format: 'clover'

tools:
    external_code_coverage: false

    sensiolabs_security_checker: true

    php_changetracking: true

    php_code_coverage:
        enabled: true

    php_code_sniffer:
        enabled: true
        config:
            standard: PSR2
        filter:
            paths: ["src/*", "tests/*"]

    php_cpd:
        enabled: true
        excluded_dirs: ["build/*", "tests", "vendor"]

    php_analyzer:
        enabled: true
        filter:
            paths: ["src/*", "tests/*"]

    php_mess_detector:
        enabled: true
        filter:
            paths: ["src/*"]
        config:
            ruleset: "phpmd.xml"

    php_pdepend:
        enabled: true
        excluded_dirs: ["build", "tests", "vendor"]

    php_loc:
            enabled: true
            excluded_dirs: ["vendor", "tests", "bin", "build", "resources", "config", "data"]

    php_cpd:
            enabled: true
            excluded_dirs: ["vendor", "tests", "bin", "build", "resources", "config", "data"]

Repository Config

inherit: true

filter:
    paths: ['src/*']
    excluded_paths: ['vendor/*', 'tests/*', 'bin/*', 'build/*', 'config/*', 'data/*', 'resources/*']

checks:
    php:
        code_rating: true
        duplication: true
        remove_extra_empty_lines: true
        remove_php_closing_tag: true
        remove_trailing_whitespace: true
        fix_use_statements:
            remove_unused: true
            preserve_multiple: false
            preserve_blanklines: true
            order_alphabetically: true
        fix_php_opening_tag: true
        fix_linefeed: true
        fix_line_ending: true
        fix_identation_4spaces: true
        fix_doc_comments: true
        no_debug_code: true

coding_style:
    php:
        spaces:
            around_operators:
                bitwise: false

before_commands:
    - 'sudo composer self-update'
    - 'composer install --no-interaction'

build:
    nodes:
        php71:
            environment:
                php: '7.1'

            tests:
                override:
                    - php-scrutinizer-run --enable-security-analysis
                    -
                        command: 'vendor/bin/phpunit -c phpunit.xml'
                        coverage:
                            file: 'build/logs/clover.xml'
                            format: 'clover'

tools:
    external_code_coverage: false

    sensiolabs_security_checker: true

    php_changetracking: true

    php_code_coverage:
        enabled: true

    php_code_sniffer:
        enabled: true
        config:
            standard: PSR2
        filter:
            paths: ["src/*", "tests/*"]

    php_cpd:
        enabled: true
        excluded_dirs: ["build/*", "tests", "vendor"]

    php_analyzer:
        enabled: true
        filter:
            paths: ["src/*", "tests/*"]

    php_mess_detector:
        enabled: true
        filter:
            paths: ["src/*"]
        config:
            ruleset: "phpmd.xml"

    php_pdepend:
        enabled: true
        excluded_dirs: ["build", "tests", "vendor"]

    php_loc:
            enabled: true
            excluded_dirs: ["vendor", "tests", "bin", "build", "resources", "config", "data"]

    php_cpd:
            enabled: true
            excluded_dirs: ["vendor", "tests", "bin", "build", "resources", "config", "data"]

Global Config

filter:
    paths:
      - 'src/*'
    excluded_paths:
      - 'vendor/*'
      - 'tests/*'
      - 'bin/*'
      - 'build/*'
      - 'config/*'
      - 'data/*'
      - 'resources/*'

checks:
    php:
        code_rating: true
        duplication: true
        overriding_parameter: false
    javascript: true

coding_style:
    php:
        spaces:
            around_operators:
                bitwise: false

before_commands:
    - 'sudo composer self-update'
    - 'composer install --prefer-source --no-interaction'

build:
    environment:
        php: '5.6'
    tests:
        override:
            -
                command: 'vendor/bin/phpunit -c phpunit.xml'
                coverage:
                    file: 'build/logs/clover.xml'
                    format: 'clover'
            -
                command: 'vendor/bin/phpcs --standard=PSR2 src/'
            -
                command: 'vendor/bin/phpmd src/ text phpmd.xml'

tools:
    external_code_coverage:
        enabled: false

    php_code_coverage:
        enabled:              true
        test_command:         'phpunit -c phpunit.xml'
        filter:
            excluded_paths:
                - 'vendor/*'
                - 'tests/*'
                - 'bin/*'
                - 'build/*'
                - 'config/*'
                - 'data/*'
                - 'resources/*'
            paths:
                - 'src'

    php_code_sniffer:
        enabled:              true
        config:
            standard:         PSR2
            sniffs:
                generic:
                    files:
                        one_class_per_file_sniff: false
        filter:
            excluded_paths:
                - 'vendor/*'
                - 'tests/*'
                - 'bin/*'
                - 'build/*'
                - 'config/*'
                - 'data/*'
                - 'resources/*'
            paths:
                - 'src'

    # Copy/Paste Detector
    php_cpd:
        enabled:              true
        excluded_dirs:
            - bin
            - tests
            - vendor
            - build
            - config
            - data
            - resources

    # PHP CS Fixer (http://http://cs.sensiolabs.org/).
    php_cs_fixer:
        enabled:              true
        config:
            level:            psr2
        filter:
            excluded_paths:
                - 'vendor/*'
                - 'tests/*'
                - 'bin/*'
                - 'build/*'
                - 'config/*'
                - 'data/*'
                - 'resources/*'
            paths:
                - 'src'

    # Analyzes the size and structure of a PHP project.
    php_loc:
        enabled:              true
        excluded_dirs:
            - bin
            - tests
            - vendor
            - build
            - config
            - data
            - resources

    # PHP Mess Detector (http://phpmd.org).
    php_mess_detector:
        enabled:              true
        extensions:
            - php
        config:
            ruleset: phpmd.xml
        filter:
            excluded_paths:
                - 'vendor/*'
                - 'tests/*'
                - 'bin/*'
                - 'build/*'
                - 'config/*'
                - 'data/*'
                - 'resources/*'
            paths:
                - 'src'

    # Analyzes the size and structure of a PHP project.
    php_pdepend:
        enabled:              true
        excluded_dirs:
            - bin
            - tests
            - vendor
            - build
            - config
            - data
            - resources

    # Runs Scrutinizer's PHP Analyzer Tool
    # https://scrutinizer-ci.com/docs/tools/php/php-analyzer/config_reference
    php_analyzer:
        enabled:              true
        filter:
            excluded_paths:
                - 'docs/*'
                - 'examples/*'
                - 'extras/*'
                - 'test/*'
                - 'vendor/*'
                - 'build/*'
                - 'config/*'
                - 'data/*'
                - 'resources/*'
            paths:
                - 'src'
        config:
            parameter_reference_check:
                enabled:              true
            checkstyle:
                enabled:              false
                no_trailing_whitespace:  true
                naming:
                    enabled:              true
                    local_variable:       ^[a-z][a-zA-Z0-9]*$
                    abstract_class_name:  ^Abstract
                    constant_name:        ^[A-Z][A-Z0-9]*(?:_[A-Z0-9]+)*$
                    property_name:        ^[a-z][a-zA-Z0-9]*$
                    method_name:          ^(?:[a-z]|__)[a-zA-Z0-9]*$
                    parameter_name:       ^[a-z][a-zA-Z0-9]*$
                    interface_name:       ^[A-Z][a-zA-Z0-9]*Interface$
                    type_name:            ^[A-Z][a-zA-Z0-9]*$
                    exception_name:       ^[A-Z][a-zA-Z0-9]*Exception$
                    isser_method_name:    ^(?:is|has|should|may|supports)
            unreachable_code:
                enabled:              true
            check_access_control:
                enabled:              true
            typo_checks:
                enabled:              true
            check_variables:
                enabled:              true
            check_calls:
                enabled:              true
                too_many_arguments:   true
                missing_argument:     true
                argument_type_checks:  lenient # Allowed Values: "disabled", "lenient", "strict"
            suspicious_code:
                enabled:              true
                overriding_parameter:  false
                overriding_closure_use:  true
                parameter_closure_use_conflict:  true
                parameter_multiple_times:  true
                non_existent_class_in_instanceof_check:  true
                non_existent_class_in_catch_clause:  true
                assignment_of_null_return:  true
                non_commented_switch_fallthrough:  true
                non_commented_empty_catch_block:  true
                overriding_private_members:  true
                use_statement_alias_conflict:  true
                precedence_in_condition_assignment:  true
            dead_assignments:
                enabled:              true
            verify_php_doc_comments:
                enabled:              false
                parameters:           true
                return:               true
                suggest_more_specific_types:  true
                ask_for_return_if_not_inferrable:  true
                ask_for_param_type_annotation:  true
            loops_must_use_braces:
                enabled:              true
            check_usage_context:
                enabled:              true
            simplify_boolean_return:
                enabled:              false
            phpunit_checks:
                enabled:              false
            reflection_checks:
                enabled:              true

            # Checks Common Precedence Mistakes
            precedence_checks:
                enabled:              true
                assignment_in_condition:  true
                comparison_of_bit_result:  true
            basic_semantic_checks:
                enabled:              true
            # Disabled unused code. In most cases, we want to keep it.
            unused_code:
                enabled:              false
            deprecation_checks:
                enabled:              true
            useless_function_calls:
                enabled:              true
            metrics_lack_of_cohesion_methods:
                enabled:              true
            metrics_coupling:
                enabled:              true
                stable_code:
                    namespace_prefixes:   []
                    classes:              []
            doctrine_parameter_binding:
                enabled:              false
            doctrine_entity_manager_injection:
                enabled:              false
            symfony_request_injection:
                enabled:              false
            doc_comment_fixes:
                enabled:              true
            reflection_fixes:
                enabled:              false
            use_statement_fixes:
                enabled:              true
                remove_unused:        true
                # Whether you would like multiple imports in one USE statement to be preserved, e.g. ``use A, B;``.
                preserve_multiple:    false
                # Whether you would like to preserve blank lines between use statements.
                preserve_blanklines:  false
                order_alphabetically:  false
         # To use specific config for a specific path, use path_configs: (see example on page https://scrutinizer-ci.com/docs/configuration/tool_config_structure)

    # Security Advisory Checker
    sensiolabs_security_checker: true