Global Config
imports:
- php
tools:
external_code_coverage:
# 15 minutes - Travis takes a while
timeout: 900
before_commands:
- "composer install --prefer-source"
build_failure_conditions:
# No new code elements with rating of D or lower
- 'elements.rating(<= D).new.exists'
# No new issues with severity MAJOR or higher
- 'issues.severity(>= MAJOR).new.exists'
# Minimum code rating: 7
- 'project.metric("scrutinizer.quality", < 7)'
# Minimum code coverage: 70%
- 'project.metric("scrutinizer.test_coverage", < 0.70)'
# Code coverage must not decrease by more than 5%
- 'project.metric_change("scrutinizer.test_coverage", < -0.05)'
checks:
php:
verify_property_names: true
verify_argument_usable_as_reference: true
verify_access_scope_valid: true
variable_existence: true
useless_calls: true
use_statement_alias_conflict: true
use_self_instead_of_fqcn: true
uppercase_constants: true
unused_variables: true
unused_properties: true
unused_methods: true
unreachable_code: true
too_many_arguments: true
switch_fallthrough_commented: true
single_namespace_per_use: true
simplify_boolean_return: true
security_vulnerabilities: true
return_doc_comments: true
return_doc_comment_if_not_inferrable: true
require_scope_for_properties: true
require_scope_for_methods: true
require_php_tag_first: true
remove_extra_empty_lines: true
psr2_switch_declaration: true
psr2_class_declaration: true
property_assignments: true
properties_in_camelcaps: true
prefer_while_loop_over_for_loop: true
precedence_mistakes: true
precedence_in_conditions: true
phpunit_assertions: true
php5_style_constructor: true
parse_doc_comments: true
parameters_in_camelcaps: true
parameter_non_unique: true
parameter_doc_comments: true
overriding_private_members: false
param_doc_comment_if_not_inferrable: true
no_unnecessary_if: true
no_unnecessary_final_modifier: false
no_underscore_prefix_in_properties: true
no_underscore_prefix_in_methods: true
no_trait_type_hints: true
no_trailing_whitespace: true
no_short_open_tag: true
no_property_on_interface: true
no_non_implemented_abstract_methods: true
no_goto: true
no_global_keyword: true
no_eval: true
no_error_suppression: true
no_empty_statements: true
no_duplicate_arguments: true
no_debug_code: true
no_commented_out_code: true
more_specific_types_in_doc_comments: true
missing_arguments: true
method_calls_on_non_object: true
instanceof_class_exists: true
function_in_camel_caps: true
foreach_usable_as_reference: true
foreach_traversable: true
fix_use_statements:
remove_unused: true
preserve_multiple: false
preserve_blanklines: false
order_alphabetically: false
fix_line_ending: true
fix_doc_comments: false
encourage_single_quotes: true
encourage_shallow_comparison: true
duplication: true
deprecated_code_usage: true
deadlock_detection_in_loops: true
code_rating: true
closure_use_not_conflicting: true
closure_use_modifiable: true
classes_in_camel_caps: true
catch_class_exists: true
blank_line_after_namespace_declaration: true
avoid_useless_overridden_methods: true
avoid_usage_of_logical_operators: true
avoid_perl_style_comments: true
avoid_multiple_statements_on_same_line: true
avoid_length_functions_in_loops: true
avoid_duplicate_types: true
avoid_corrupting_byteorder_marks: true
avoid_conflicting_incrementers: false
avoid_closing_tag: true
avoid_aliased_php_functions: true
assignment_of_null_return: true
argument_type_checks: true