filter: paths: - "extensions/" - "build/media/" excluded_paths: - "*.min.js" - '*/lib/*' dependency_paths: - "build/vendor/" build: environment: php: version: '7.3' dependencies: before: - 'cd build/' - 'composer install' - 'cd ..' nodes: analysis: project_setup: override: true tests: override: - php-scrutinizer-run codestyle: dependencies: override: - 'cd .scrutinizer/' - 'composer install --no-dev' - 'cd ..' tests: override: - '.scrutinizer/vendor/bin/phpcs -n --colors --standard=.scrutinizer/vendor/joomla/coding-standards/Joomla/ruleset.xml extensions/' build_failure_conditions: # No new classes/methods with a rating of D or worse - 'elements.rating(<= D).new.exists' # New issues of minor or higher severity - 'issues.new.exists'
checks: javascript: true php: verify_property_names: true verify_access_scope_valid: true variable_existence: true use_statement_alias_conflict: true unused_variables: true unused_properties: true unused_methods: true unreachable_code: true too_many_arguments: true sql_injection_vulnerabilities: true simplify_boolean_return: true security_vulnerabilities: true return_in_constructor: true return_doc_comments: true return_doc_comment_if_not_inferrable: true require_scope_for_methods: true require_php_tag_first: true property_assignments: true precedence_mistakes: true precedence_in_conditions: true parameters_in_camelcaps: true parameter_non_unique: true parameter_doc_comments: true parse_doc_comments: true param_doc_comment_if_not_inferrable: true overriding_private_members: true overriding_parameter: false no_trait_type_hints: false no_short_open_tag: true no_property_on_interface: true no_non_implemented_abstract_methods: true no_goto: true no_eval: true no_error_suppression: true no_debug_code: true more_specific_types_in_doc_comments: true missing_arguments: true method_calls_on_non_object: true instanceof_class_exists: true foreach_traversable: true encourage_shallow_comparison: true duplication: true deprecated_code_usage: true deadlock_detection_in_loops: true comparison_always_same_result: true code_rating: true closure_use_not_conflicting: true catch_class_exists: true avoid_length_functions_in_loops: true call_to_parent_method: false avoid_duplicate_types: true avoid_closing_tag: true assignment_of_null_return: true argument_type_checks: true non_commented_empty_catch_block: true verify_argument_usable_as_reference: true no_short_variable_names: minimum: '2' no_long_variable_names: maximum: '20' check_method_contracts: verify_interface_like_constraints: true verify_documented_constraints: true verify_parent_constraints: true