-
Notifications
You must be signed in to change notification settings - Fork 11
/
.scrutinizer.yml
134 lines (130 loc) · 4.67 KB
/
.scrutinizer.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
build:
nodes:
analysis:
project_setup:
override: true
environment:
mysql: false
postgresql: false
redis: false
rabbitmq: false
php: 7.3
tests:
override: ['php-scrutinizer-run']
filter:
excluded_paths:
- "tests/"
# Everything in a root level "tests" directory will be excluded
dependency_paths:
- "vendor/"
# Everything in a root level "vendor" directory will be excluded from analysis
# but treated as a dependency
tools:
external_code_coverage:
timeout: 180
checks:
php:
code_rating: true
duplication: true
argument_type_checks: true
assignment_of_null_return: true
avoid_conflicting_incrementers: true
avoid_useless_overridden_methods: true
catch_class_exists: true
closure_use_modifiable: true
closure_use_not_conflicting: true
deprecated_code_usage: true
method_calls_on_non_object: true
missing_arguments: true
no_duplicate_arguments: true
no_non_implemented_abstract_methods: true
no_property_on_interface: true
parameter_non_unique: true
precedence_in_conditions: true
precedence_mistakes: true
require_php_tag_first: true
security_vulnerabilities: true
sql_injection_vulnerabilities: true
too_many_arguments: true
unreachable_code: true
unused_methods: true
unused_parameters: true
unused_properties: true
unused_variables: true
use_statement_alias_conflict: true
useless_calls: true
variable_existence: true
verify_access_scope_valid: true
verify_argument_usable_as_reference: true
verify_property_names: true
uppercase_constants: true
simplify_boolean_return: true
return_doc_comments: true
remove_extra_empty_lines: true
properties_in_camelcaps: true
phpunit_assertions: true
parameters_in_camelcaps: true
parameter_doc_comments: true
overriding_parameter: true
optional_parameters_at_the_end: true
no_short_variable_names:
minimum: '2'
no_long_variable_names:
maximum: '20'
no_goto: true
newline_at_end_of_file: true
more_specific_types_in_doc_comments: false
function_in_camel_caps: true
encourage_single_quotes: true
encourage_postdec_operator: true
classes_in_camel_caps: true
check_method_contracts:
verify_interface_like_constraints: true
verify_documented_constraints: true
verify_parent_constraints: true
avoid_unnecessary_concatenation: true
avoid_perl_style_comments: true
avoid_multiple_statements_on_same_line: true
align_assignments: true
deadlock_detection_in_loops: true
use_self_instead_of_fqcn: true
single_namespace_per_use: true
side_effects_or_types: true
require_scope_for_properties: true
require_scope_for_methods: true
psr2_switch_declaration: true
psr2_class_declaration: true
property_assignments: true
parse_doc_comments: true
overriding_private_members: true
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_global_keyword: true
no_exit: true
no_eval: true
no_error_suppression: true
no_empty_statements: true
no_debug_code: true
no_commented_out_code: true
no_unnecessary_if: true
return_in_constructor: true
php5_style_constructor: true
instanceof_class_exists: true
foreach_traversable: true
call_to_parent_method: true
blank_line_after_namespace_declaration: true
avoid_usage_of_logical_operators: true
avoid_superglobals: true
avoid_length_functions_in_loops: true
avoid_duplicate_types: true
avoid_closing_tag: true
avoid_corrupting_byteorder_marks: true
avoid_aliased_php_functions: true
encourage_shallow_comparison: true
build_failure_conditions:
- 'elements.rating(<= B).new.exists' # No new classes/methods with a rating of C or worse allowed
- 'issues.label("coding-style").new.exists' # No new coding style issues allowed
- 'issues.severity(>= MAJOR).new.exists' # New issues of major or higher severity