diff --git a/.sonarcloud.properties b/.sonarcloud.properties index dc34389..904c403 100644 --- a/.sonarcloud.properties +++ b/.sonarcloud.properties @@ -1 +1,2 @@ -sonar.exclusions=tests/lib/Sets/expected_rules/**/* +# Exclude files from duplication detection +sonar.cpd.exclusions=tests/lib/PhpCsFixer/Sets/expected_rules/** diff --git a/composer.json b/composer.json index 50b06d4..5f81127 100644 --- a/composer.json +++ b/composer.json @@ -14,7 +14,7 @@ }, "require": { "php": ">=7.4", - "friendsofphp/php-cs-fixer": "v3.75.0", + "friendsofphp/php-cs-fixer": "v3.89.1", "composer-runtime-api": ">=2.0" }, "require-dev": { diff --git a/src/lib/PhpCsFixer/Sets/AbstractIbexaRuleSet.php b/src/lib/PhpCsFixer/Sets/AbstractIbexaRuleSet.php index 8c20f9f..f85aad0 100644 --- a/src/lib/PhpCsFixer/Sets/AbstractIbexaRuleSet.php +++ b/src/lib/PhpCsFixer/Sets/AbstractIbexaRuleSet.php @@ -195,7 +195,7 @@ public function getRules(): array 'trailing_comma_in_multiline' => true, 'trim_array_spaces' => true, 'unary_operator_spaces' => true, - 'visibility_required' => true, + 'modifier_keywords' => true, 'whitespace_after_comma_in_array' => true, 'yoda_style' => false, 'fully_qualified_strict_types' => [ @@ -211,7 +211,7 @@ public function buildConfig(): Config $config->setRules(array_merge( $config->getRules(), - static::getRules(), + $this->getRules(), )); $config->setRiskyAllowed(true); diff --git a/src/lib/PhpCsFixer/Sets/Ibexa46RuleSet.php b/src/lib/PhpCsFixer/Sets/Ibexa46RuleSet.php index 3955f1b..9233d6d 100644 --- a/src/lib/PhpCsFixer/Sets/Ibexa46RuleSet.php +++ b/src/lib/PhpCsFixer/Sets/Ibexa46RuleSet.php @@ -15,17 +15,25 @@ public function getRules(): array return array_merge( parent::getRules(), [ - 'no_spaces_inside_parenthesis' => true, - 'braces' => [ - 'allow_single_line_closure' => true, + 'spaces_inside_parentheses' => true, + 'single_space_around_construct' => true, + 'control_structure_braces' => true, + 'control_structure_continuation_position' => true, + 'no_multiple_statements_per_line' => true, + 'declare_parentheses' => true, + 'braces_position' => [ + 'allow_single_line_empty_anonymous_classes' => true, + 'allow_single_line_anonymous_functions' => true, ], - 'function_typehint_space' => true, - 'native_function_type_declaration_casing' => true, - 'new_with_braces' => true, - 'no_trailing_comma_in_list_call' => true, - 'no_trailing_comma_in_singleline_array' => true, - 'no_unneeded_curly_braces' => true, - 'single_blank_line_before_namespace' => true, + 'statement_indentation' => false, + 'type_declaration_spaces' => true, + 'native_type_declaration_casing' => true, + 'new_with_parentheses' => true, + 'no_trailing_comma_in_singleline' => true, + 'no_unneeded_braces' => true, + 'blank_lines_before_namespace' => true, + 'single_line_empty_body' => true, + 'blank_line_between_import_groups' => true, ], ); } diff --git a/src/lib/PhpCsFixer/Sets/Ibexa50RuleSet.php b/src/lib/PhpCsFixer/Sets/Ibexa50RuleSet.php index 7e00b69..e56fe57 100644 --- a/src/lib/PhpCsFixer/Sets/Ibexa50RuleSet.php +++ b/src/lib/PhpCsFixer/Sets/Ibexa50RuleSet.php @@ -14,24 +14,22 @@ public function getRules(): array { return array_merge( [ - '@PER-CS2.0' => true, + '@PER-CS2x0' => true, ], parent::getRules(), [ 'spaces_inside_parentheses' => [ 'space' => 'none', ], - 'braces' => [ - 'allow_single_line_closure' => true, - ], + 'declare_parentheses' => true, 'type_declaration_spaces' => [ 'elements' => [ 'function', 'property', ], ], - 'native_function_type_declaration_casing' => true, - 'new_with_braces' => true, + 'native_type_declaration_casing' => true, + 'new_with_parentheses' => true, 'no_trailing_comma_in_singleline' => [ 'elements' => [ 'arguments', @@ -40,7 +38,7 @@ public function getRules(): array 'group_import', ], ], - 'no_unneeded_curly_braces' => true, + 'no_unneeded_braces' => true, 'blank_lines_before_namespace' => true, 'class_definition' => [ 'single_item_single_line' => true, diff --git a/tests/lib/PhpCsFixer/Sets/expected_rules/4_6_rule_set/local_rules.php b/tests/lib/PhpCsFixer/Sets/expected_rules/4_6_rule_set/local_rules.php index a0d84e8..076043f 100644 --- a/tests/lib/PhpCsFixer/Sets/expected_rules/4_6_rule_set/local_rules.php +++ b/tests/lib/PhpCsFixer/Sets/expected_rules/4_6_rule_set/local_rules.php @@ -21,9 +21,16 @@ 'return', ], ], - 'braces' => [ - 'allow_single_line_closure' => true, + 'single_space_around_construct' => true, + 'control_structure_braces' => true, + 'control_structure_continuation_position' => true, + 'no_multiple_statements_per_line' => true, + 'declare_parentheses' => true, + 'braces_position' => [ + 'allow_single_line_empty_anonymous_classes' => true, + 'allow_single_line_anonymous_functions' => true, ], + 'statement_indentation' => false, 'cast_spaces' => false, 'class_attributes_separation' => [ 'elements' => [ @@ -49,7 +56,7 @@ 'full_opening_tag' => true, 'function_declaration' => true, 'function_to_constant' => true, - 'function_typehint_space' => true, + 'type_declaration_spaces' => true, 'general_phpdoc_tag_rename' => true, 'header_comment' => [ 'comment_type' => 'PHPDoc', @@ -82,8 +89,8 @@ ], 'native_function_casing' => true, 'native_function_invocation' => false, - 'native_function_type_declaration_casing' => true, - 'new_with_braces' => true, + 'native_type_declaration_casing' => true, + 'new_with_parentheses' => true, 'no_alias_functions' => true, 'no_blank_lines_after_class_opening' => true, 'no_blank_lines_after_phpdoc' => true, @@ -111,13 +118,12 @@ 'no_singleline_whitespace_before_semicolons' => true, 'no_spaces_after_function_name' => true, 'no_spaces_around_offset' => true, - 'no_spaces_inside_parenthesis' => true, - 'no_trailing_comma_in_list_call' => true, - 'no_trailing_comma_in_singleline_array' => true, + 'spaces_inside_parentheses' => true, + 'no_trailing_comma_in_singleline' => true, 'no_trailing_whitespace' => true, 'no_trailing_whitespace_in_comment' => true, 'no_unneeded_control_parentheses' => true, - 'no_unneeded_curly_braces' => true, + 'no_unneeded_braces' => true, 'no_unneeded_final_method' => true, 'no_unused_imports' => true, 'no_whitespace_before_comma_in_array' => true, @@ -170,7 +176,7 @@ 'short_scalar_cast' => true, 'simplified_null_return' => false, 'single_blank_line_at_eof' => true, - 'single_blank_line_before_namespace' => true, + 'blank_lines_before_namespace' => true, 'single_class_element_per_statement' => true, 'single_import_per_statement' => true, 'single_line_after_imports' => true, @@ -191,11 +197,13 @@ 'trailing_comma_in_multiline' => true, 'trim_array_spaces' => true, 'unary_operator_spaces' => true, - 'visibility_required' => true, + 'modifier_keywords' => true, 'whitespace_after_comma_in_array' => true, 'yoda_style' => false, 'Ibexa/multiline_parameters' => true, 'fully_qualified_strict_types' => [ 'import_symbols' => true, ], + 'single_line_empty_body' => true, + 'blank_line_between_import_groups' => true, ]; diff --git a/tests/lib/PhpCsFixer/Sets/expected_rules/4_6_rule_set/php_cs_fixer_rules.php b/tests/lib/PhpCsFixer/Sets/expected_rules/4_6_rule_set/php_cs_fixer_rules.php index b67d1b4..b5f4b39 100644 --- a/tests/lib/PhpCsFixer/Sets/expected_rules/4_6_rule_set/php_cs_fixer_rules.php +++ b/tests/lib/PhpCsFixer/Sets/expected_rules/4_6_rule_set/php_cs_fixer_rules.php @@ -11,7 +11,7 @@ 'declare_equal_normalize' => true, 'lowercase_cast' => true, 'lowercase_static_reference' => true, - 'new_with_braces' => true, + 'new_with_parentheses' => true, 'no_blank_lines_after_class_opening' => true, 'no_leading_import_slash' => true, 'no_whitespace_in_blank_line' => true, @@ -21,7 +21,7 @@ 'single_import_per_statement' => true, 'single_trait_insert_per_statement' => true, 'ternary_operator_spaces' => true, - 'visibility_required' => true, + 'modifier_keywords' => true, 'blank_line_after_namespace' => true, 'constant_case' => [ 'case' => 'lower', @@ -168,18 +168,25 @@ 'concat_space' => [ 'spacing' => 'one', ], - 'braces' => [ - 'allow_single_line_closure' => true, + 'braces_position' => [ + 'allow_single_line_empty_anonymous_classes' => true, + 'allow_single_line_anonymous_functions' => true, ], - 'no_spaces_inside_parenthesis' => true, - 'function_typehint_space' => true, - 'native_function_type_declaration_casing' => true, - 'no_trailing_comma_in_list_call' => true, - 'no_trailing_comma_in_singleline_array' => true, - 'no_unneeded_curly_braces' => true, - 'single_blank_line_before_namespace' => true, + 'single_space_around_construct' => true, + 'control_structure_braces' => true, + 'control_structure_continuation_position' => true, + 'no_multiple_statements_per_line' => true, + 'declare_parentheses' => true, + 'spaces_inside_parentheses' => true, + 'type_declaration_spaces' => true, + 'native_type_declaration_casing' => true, + 'no_trailing_comma_in_singleline' => true, + 'no_unneeded_braces' => true, + 'blank_lines_before_namespace' => true, 'Ibexa/multiline_parameters' => true, 'fully_qualified_strict_types' => [ 'import_symbols' => true, ], + 'single_line_empty_body' => true, + 'blank_line_between_import_groups' => true, ]; diff --git a/tests/lib/PhpCsFixer/Sets/expected_rules/5_0_rule_set/local_rules.php b/tests/lib/PhpCsFixer/Sets/expected_rules/5_0_rule_set/local_rules.php index c790c8f..b254e30 100644 --- a/tests/lib/PhpCsFixer/Sets/expected_rules/5_0_rule_set/local_rules.php +++ b/tests/lib/PhpCsFixer/Sets/expected_rules/5_0_rule_set/local_rules.php @@ -9,7 +9,7 @@ use Ibexa\CodeStyle\PhpCsFixer\Sets\AbstractIbexaRuleSet; return [ - '@PER-CS2.0' => true, + '@PER-CS2x0' => true, '@PSR12' => false, 'array_syntax' => [ 'syntax' => 'short', @@ -23,9 +23,8 @@ ], ], 'blank_lines_before_namespace' => true, - 'braces' => [ - 'allow_single_line_closure' => true, - ], + 'declare_parentheses' => true, + 'no_unneeded_braces' => true, 'cast_spaces' => false, 'class_attributes_separation' => [ 'elements' => [ @@ -86,8 +85,8 @@ ], 'native_function_casing' => true, 'native_function_invocation' => false, - 'native_function_type_declaration_casing' => true, - 'new_with_braces' => true, + 'native_type_declaration_casing' => true, + 'new_with_parentheses' => true, 'no_alias_functions' => true, 'no_blank_lines_after_class_opening' => true, 'no_blank_lines_after_phpdoc' => true, @@ -126,7 +125,6 @@ 'no_trailing_whitespace' => true, 'no_trailing_whitespace_in_comment' => true, 'no_unneeded_control_parentheses' => true, - 'no_unneeded_curly_braces' => true, 'no_unneeded_final_method' => true, 'no_unused_imports' => true, 'no_whitespace_before_comma_in_array' => true, @@ -214,7 +212,7 @@ 'space' => 'single', ], 'unary_operator_spaces' => true, - 'visibility_required' => true, + 'modifier_keywords' => true, 'whitespace_after_comma_in_array' => true, 'yoda_style' => false, 'Ibexa/multiline_parameters' => true, diff --git a/tests/lib/PhpCsFixer/Sets/expected_rules/5_0_rule_set/php_cs_fixer_rules.php b/tests/lib/PhpCsFixer/Sets/expected_rules/5_0_rule_set/php_cs_fixer_rules.php index aad8dbb..3232db4 100644 --- a/tests/lib/PhpCsFixer/Sets/expected_rules/5_0_rule_set/php_cs_fixer_rules.php +++ b/tests/lib/PhpCsFixer/Sets/expected_rules/5_0_rule_set/php_cs_fixer_rules.php @@ -21,7 +21,6 @@ 'declare_equal_normalize' => true, 'lowercase_cast' => true, 'lowercase_static_reference' => true, - 'new_with_braces' => true, 'no_blank_lines_after_class_opening' => true, 'no_leading_import_slash' => true, 'no_whitespace_in_blank_line' => true, @@ -31,7 +30,7 @@ 'single_import_per_statement' => true, 'single_trait_insert_per_statement' => true, 'ternary_operator_spaces' => true, - 'visibility_required' => true, + 'modifier_keywords' => true, 'blank_line_after_namespace' => true, 'constant_case' => [ 'case' => 'lower', @@ -178,16 +177,15 @@ 'trim_array_spaces' => true, 'unary_operator_spaces' => true, 'whitespace_after_comma_in_array' => true, - 'braces' => [ - 'allow_single_line_closure' => true, - ], + 'declare_parentheses' => true, + 'new_with_parentheses' => true, 'type_declaration_spaces' => [ 'elements' => [ 'function', 'property', ], ], - 'native_function_type_declaration_casing' => true, + 'native_type_declaration_casing' => true, 'no_trailing_comma_in_singleline' => [ 'elements' => [ 'arguments', @@ -196,7 +194,7 @@ 'group_import', ], ], - 'no_unneeded_curly_braces' => true, + 'no_unneeded_braces' => true, 'php_unit_test_case_static_method_calls' => [ 'call_type' => 'self', ],