filter:
    excluded_paths: [vendor/*, tests/*, bin/*, assets/* ]
before_commands:
    - 'composer install --dev --prefer-source'
tools:
    external_code_coverage:
            timeout: 900    # wait for 15 minutes instead of 5
    php_mess_detector: 
        config:
            code_size_rules:
                cyclomatic_complexity:  false
                npath_complexity:     false
                excessive_method_length:  false
                excessive_class_length:  false
                excessive_parameter_list:  false
                excessive_public_count:  false
                too_many_fields:      false
                too_many_methods:     false
                excessive_class_complexity:  false

    php_code_sniffer: true
    sensiolabs_security_checker: true
    php_code_coverage: true
    php_pdepend: true
    php_loc:
        enabled: true
        excluded_dirs: [vendor, tests, languages, bin, assets]
    php_cpd:
        enabled: true
        excluded_dirs: [vendor, tests, languages, bin, assets]
checks:
    php:
        psr2_switch_declaration: false
        psr2_control_structure_declaration: false
        psr2_class_declaration: false
        one_class_per_file: false
        avoid_superglobals: false
        require_php_tag_first: false
        code_rating: true
        duplication: true
        variable_existence: true
        useless_calls: true
        use_statement_alias_conflict: true
        unused_variables: false
        unused_properties: true
        unused_parameters: false
        unreachable_code: true
        sql_injection_vulnerabilities: true
        security_vulnerabilities: true
        precedence_mistakes: true
        precedence_in_conditions: true
        parameter_non_unique: true
        no_property_on_interface: true
        no_non_implemented_abstract_methods: true
        deprecated_code_usage: true
        closure_use_not_conflicting: true
        closure_use_modifiable: true
        avoid_useless_overridden_methods: true
        avoid_conflicting_incrementers: true
        assignment_of_null_return: true
        unused_methods: true
        too_many_arguments: true
        no_debug_code: true
        missing_arguments: true
        argument_type_checks: false
        no_error_suppression: false
        return_doc_comments: false
        property_assignments: false