# # scrutinizer-ci.com Configuration File # # https://scrutinizer-ci.com/docs/ # build: environment: mysql: false postgresql: false redis: false rabbitmq: false php: version: 5.6 filter: excluded_paths: - 'vendor/*' before_commands: - 'sudo composer self-update' - 'composer install --dev --prefer-dist' changetracking: bug_patterns: ["\bfix(?:es|ed)?\b", "\bclose(?:s|ed)?\b"] feature_patterns: ["\badd(?:s|ed)?\b", "\bimplement(?:s|ed)?\b"] tools: php_mess_detector: filter: paths: ['framework/*', 'tests/*'] config: code_size_rules: { too_many_methods: false } unused_code_rules: { unused_formal_parameter: true } naming_rules: { short_variable: false, long_variable: false, short_method: true, boolean_method_name: true } controversial_rules: { superglobals: false } design_rules: { exit_expression: true, eval_expression: true, goto_statement: true } php_cs_fixer: filter: paths: ['framework/*', 'tests/*'] config: level: all php_analyzer: filter: paths: ['framework/*', 'tests/*'] config: parameter_reference_check: { enabled: true } checkstyle: { enabled: true, no_trailing_whitespace: true, naming: { enabled: true, local_variable: '^[a-z][a-zA-Z0-9]*$', abstract_class_name: ^Abstract|Factory$, utility_class_name: 'Utils?$', 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 } suspicious_code: { enabled: true, overriding_parameter: true, 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: true, 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, method_call_on_non_object: { enabled: true, ignore_null_pointer: true }, foreach: { value_as_reference: true, traversable: true }, missing_argument: true, argument_type_checks: lenient } simplify_boolean_return: { enabled: true } phpunit_checks: { enabled: true } reflection_checks: { enabled: true } precedence_checks: { enabled: true, assignment_in_condition: true, comparison_of_bit_result: true } basic_semantic_checks: { enabled: true } doc_comment_fixes: { enabled: true } reflection_fixes: { enabled: true } use_statement_fixes: { enabled: true, remove_unused: true, preserve_multiple: true, order_alphabetically: false } doctrine_entity_manager_injection: { enabled: true } useless_function_calls: { enabled: true } check_calls: { enabled: true, too_many_arguments: true, missing_argument: true, argument_type_checks: lenient } php_code_sniffer: filter: paths: ['framework/*', 'tests/*'] config: tab_width: 4 encoding: utf8 standard: PSR2 sniffs: { generic: { white_space: { disallow_tab_indent_sniff: true } } } # disable copy paste detector and simliarity analyzer # because huge number of false-positives and no real value php_cpd: false php_sim: false php_changetracking: true php_hhvm: enabled: false #command: hhvm -vRepo.Authoritative=false filter: paths: ['framework/*', 'tests/*'] #excluded_paths: ['vendor/*'] php_code_coverage: false external_code_coverage: timeout: 600 runs: 4 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