Repository Config
checks:
php:
fix_php_opening_tag: true
remove_php_closing_tag: true
one_class_per_file: true
side_effects_or_types: true
no_mixed_inline_html: true
require_braces_around_control_structures: true
php5_style_constructor: true
no_global_keyword: true
avoid_usage_of_logical_operators: true
psr2_class_declaration: true
no_underscore_prefix_in_properties: true
no_underscore_prefix_in_methods: true
blank_line_after_namespace_declaration: true
single_namespace_per_use: true
psr2_switch_declaration: true
psr2_control_structure_declaration: true
avoid_superglobals: true
security_vulnerabilities: true
no_exit: true
check_method_contracts:
verify_interface_like_constraints: true
verify_documented_constraints: true
verify_parent_constraints: true
return_doc_comments: true
simplify_boolean_return: true
no_trailing_whitespace: true
custom_coding_standard:
ruleset_path: .ruleset.xml
uppercase_constants: true
optional_parameters_at_the_end: true
encourage_postdec_operator: true
javascript:
no_else_return: true
no_alert: true
eqeqeq: true
no_implicit_undefined_return: true
no_param_assign: true
no_loop_var_assign: true
no_var: false
filter:
excluded_paths:
- '*.min.js'
- '*.min.css'
- '*.min.css.map'
coding_style:
php:
indentation:
general:
use_tabs: true
size: 4
switch:
indent_case: true
spaces:
general:
linefeed_character: newline
before_parentheses:
function_declaration: false
closure_definition: false
function_call: false
if: true
for: true
while: true
switch: true
catch: true
array_initializer: false
around_operators:
assignment: true
logical: true
equality: true
relational: true
bitwise: true
additive: true
multiplicative: true
shift: true
unary_additive: false
concatenation: false
negation: false
before_left_brace:
class: true
function: true
if: true
else: true
for: true
while: true
do: true
switch: true
try: true
catch: true
finally: true
before_keywords:
else: true
while: true
catch: true
finally: true
within:
brackets: false
array_initializer: false
grouping: false
function_call: false
function_declaration: false
if: false
for: false
while: false
switch: false
catch: false
type_cast: false
ternary_operator:
before_condition: true
after_condition: true
before_alternative: true
after_alternative: true
in_short_version: false
other:
before_comma: false
after_comma: true
before_semicolon: false
after_semicolon: true
after_type_cast: true
braces:
classes_functions:
class: new-line
function: new-line
closure: new-line
if:
opening: end-of-line
always: true
else_on_new_line: false
for:
opening: end-of-line
always: true
while:
opening: end-of-line
always: true
do_while:
opening: end-of-line
always: true
while_on_new_line: false
switch:
opening: end-of-line
try:
opening: end-of-line
catch_on_new_line: false
finally_on_new_line: false
upper_lower_casing:
keywords:
general: lower
constants:
true_false_null: lower
build:
tests:
override:
- shellcheck-run
#- phpcs-run --standard=.ruleset.xml
build_failure_conditions:
- 'elements.rating(<= D).new.exists' # No new classes/methods with a rating of C or worse
- 'issues.severity(>= MAJOR).new.exists' # New issues of major or higher severity
- 'issues.label("coding-style").new.exists' # No new coding style issues allowed
#- 'project.metric("scrutinizer.quality", < 8.5)' # Code Quality Rating drops below 9
- 'project.metric_change("scrutinizer.quality", < -0.5)' # Code Quality Rating decreased from previous inspection by more than 5%
- 'patches.label("Indentation").new.count >= 1' # More than 1 new Indentation patch