#Global configs, only add new or override existing
filter: excluded_paths: - vendor/* - storage/* - public/* - gulp/* - bower_components/* - resources/* - _ide_helper.php - .phpstorm.meta.php dependency_paths: - "vendor/" build: environment: php: version: 7.2 mysql: version: 5.7 elasticsearch: version: 6.4.2 nodes: general: resources: cpus: 1 tests: override: - php-scrutinizer-run #- vendor/bin/php-cs-fixer fix --config=.php_cs.dist -v --dry-run --diff --using-cache=no && php-scrutinizer-run - command: vendor/bin/phpunit --coverage-clover=coverage.clover coverage: file: coverage.clover format: php-clover checks: php: code_rating: true duplication: true variable_existence: true useless_calls: true use_statement_alias_conflict: true unused_variables: true unused_properties: true unused_parameters: true unused_methods: true 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 assignment_of_null_return: true verify_property_names: true verify_argument_usable_as_reference: true verify_access_scope_valid: true too_many_arguments: true symfony_request_injection: true switch_fallthrough_commented: true spacing_of_function_arguments: true spacing_around_non_conditional_operators: true spacing_around_conditional_operators: true space_after_cast: true simplify_boolean_return: true scope_indentation: spaces_per_level: '4' return_doc_comments: true require_scope_for_methods: true require_php_tag_first: true require_braces_around_control_structures: true remove_trailing_whitespace: true remove_php_closing_tag: true remove_extra_empty_lines: true psr2_control_structure_declaration: true property_assignments: true properties_in_camelcaps: true phpunit_assertions: true parameters_in_camelcaps: true parameter_doc_comments: true return_doc_comment_if_not_inferrable: true param_doc_comment_if_not_inferrable: true overriding_private_members: true non_commented_empty_catch_block: true no_unnecessary_function_call_in_for_loop: true no_trailing_whitespace: true no_space_inside_cast_operator: true no_space_before_semicolon: true no_space_around_object_operator: true no_goto: true no_exit: true no_else_if_statements: true no_debug_code: true naming_conventions: 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|was)' lowercase_php_keywords: true more_specific_types_in_doc_comments: true missing_arguments: true method_calls_on_non_object: true lowercase_basic_constants: true instanceof_class_exists: true function_body_start_on_new_line: true fix_use_statements: remove_unused: true preserve_multiple: false preserve_blanklines: false order_alphabetically: true foreach_traversable: true foreach_usable_as_reference: true fix_php_opening_tag: true fix_line_ending: true fix_identation_4spaces: true fix_doc_comments: true ensure_lower_case_builtin_functions: true catch_class_exists: true avoid_tab_indentation: true avoid_superglobals: true avoid_length_functions_in_loops: true avoid_entity_manager_injection: true avoid_duplicate_types: true argument_type_checks: true deadlock_detection_in_loops: true build_failure_conditions: - 'elements.rating(<= D).exists' # No classes/methods with a rating of D or worse - 'elements.rating(<= D).new.exists' # No new classes/methods with a rating of D or worse # allowed (useful for legacy code) - 'patches.label("Doc Comments").exists' # No doc comments patches allowed - 'patches.label("Spacing").new.count > 1' # More than 1 new spacing patch - 'issues.label("coding-style").exists' # No coding style issues allowed - 'issues.label("coding-style").new.exists' # No new coding style issues allowed - 'issues.label("coding-style").new.count > 5' # More than 5 new coding style issues. - 'issues.severity(>= MAJOR).new.exists' # New issues of major or higher severity - 'project.metric("scrutinizer.quality", < 9)' # Overall 9+ rating - 'project.metric("scrutinizer.test_coverage", < 0.00)' #Overall 0+ Code cov # to be overriden based on service