diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml new file mode 100644 index 0000000..acf07d4 --- /dev/null +++ b/.github/workflows/release.yml @@ -0,0 +1,43 @@ +name: Release + +on: + push: + tags: ['*'] + workflow_dispatch: + +jobs: + build: + runs-on: ubuntu-latest + permissions: + contents: write + + steps: + - uses: actions/checkout@v3 + + - uses: actions/setup-node@v3 + with: + node-version: 16 + + - name: Create package + run: | + rm -rf *.tar.gz + npx --yes wspackager + + - name: Check file existence + id: check_files + uses: andstor/file-existence-action@v1 + with: + #files: "${{ github.event.repository.name }}_*.tar.gz" + files: "de.softcreatr*.tar.gz" + + - name: On Build Failure + if: steps.check_files.outputs.files_exists == 'false' + run: | + echo "Packaging FAILED" && exit 1 + + - name: Release + uses: softprops/action-gh-release@v1 + if: startsWith(github.ref, 'refs/tags/') && steps.check_files.outputs.files_exists == 'true' + with: + #files: "${{ github.event.repository.name }}_*.tar.gz" + files: "de.softcreatr*.tar.gz" diff --git a/.php-cs-fixer.dist.php b/.php-cs-fixer.dist.php new file mode 100644 index 0000000..8cec04c --- /dev/null +++ b/.php-cs-fixer.dist.php @@ -0,0 +1,132 @@ +exclude('*/vendor/*') + ->in(__DIR__) + ->notPath('lib/system/api'); + +return (new PhpCsFixer\Config()) + ->setRiskyAllowed(true) + ->setRules([ + '@PSR1' => true, + '@PSR2' => true, + + 'array_push' => true, + 'backtick_to_shell_exec' => true, + 'no_alias_language_construct_call' => true, + 'no_mixed_echo_print' => true, + 'pow_to_exponentiation' => true, + 'random_api_migration' => true, + + 'array_syntax' => ['syntax' => 'short'], + 'no_multiline_whitespace_around_double_arrow' => true, + 'no_trailing_comma_in_singleline_array' => true, + 'no_whitespace_before_comma_in_array' => true, + 'normalize_index_brace' => true, + 'whitespace_after_comma_in_array' => true, + + 'non_printable_character' => ['use_escape_sequences_in_strings' => true], + + 'lowercase_static_reference' => true, + 'magic_constant_casing' => true, + 'magic_method_casing' => true, + 'native_function_casing' => true, + 'native_function_type_declaration_casing' => true, + + 'cast_spaces' => ['space' => 'none'], + 'lowercase_cast' => true, + 'no_unset_cast' => true, + 'short_scalar_cast' => true, + + 'class_attributes_separation' => true, + 'no_blank_lines_after_class_opening' => true, + 'no_null_property_initialization' => true, + 'self_accessor' => true, + 'single_class_element_per_statement' => true, + 'single_trait_insert_per_statement' => true, + + 'no_empty_comment' => true, + 'single_line_comment_style' => ['comment_types' => ['hash']], + + 'native_constant_invocation' => ['strict' => false], + + 'no_alternative_syntax' => true, + 'no_trailing_comma_in_list_call' => true, + 'no_unneeded_control_parentheses' => ['statements' => ['break', 'clone', 'continue', 'echo_print', 'return', 'switch_case', 'yield', 'yield_from']], + 'no_unneeded_curly_braces' => ['namespaces' => true], + 'switch_continue_to_break' => true, + 'trailing_comma_in_multiline' => ['elements' => ['arrays']], + + 'function_typehint_space' => true, + 'lambda_not_used_import' => true, + 'native_function_invocation' => ['include' => ['@all']], + 'no_unreachable_default_argument_value' => true, + 'nullable_type_declaration_for_default_null_value' => true, + 'return_type_declaration' => true, + 'static_lambda' => true, + + 'fully_qualified_strict_types' => true, + 'no_leading_import_slash' => true, + 'no_unused_imports' => true, + //'ordered_imports' => true, + + 'declare_equal_normalize' => true, + 'dir_constant' => true, + 'explicit_indirect_variable' => true, + 'function_to_constant' => true, + 'is_null' => true, + 'no_unset_on_property' => true, + + 'list_syntax' => ['syntax' => 'short'], + + 'clean_namespace' => true, + 'no_leading_namespace_whitespace' => true, + 'single_blank_line_before_namespace' => true, + + 'no_homoglyph_names' => true, + + 'binary_operator_spaces' => true, + 'concat_space' => ['spacing' => 'one'], + 'increment_style' => ['style' => 'post'], + 'logical_operators' => true, + 'object_operator_without_whitespace' => true, + 'operator_linebreak' => true, + 'standardize_increment' => true, + 'standardize_not_equals' => true, + 'ternary_operator_spaces' => true, + 'ternary_to_elvis_operator' => true, + 'ternary_to_null_coalescing' => true, + 'unary_operator_spaces' => true, + + 'no_useless_return' => true, + 'return_assignment' => true, + + 'multiline_whitespace_before_semicolons' => true, + 'no_empty_statement' => true, + 'no_singleline_whitespace_before_semicolons' => true, + 'space_after_semicolon' => ['remove_in_empty_for_expressions' => true], + + 'escape_implicit_backslashes' => true, + 'explicit_string_variable' => true, + 'heredoc_to_nowdoc' => true, + 'no_binary_string' => true, + 'simple_to_complex_string_variable' => true, + + 'array_indentation' => true, + 'blank_line_before_statement' => ['statements' => ['return', 'exit']], + 'compact_nullable_typehint' => true, + 'method_chaining_indentation' => true, + 'no_extra_blank_lines' => ['tokens' => ['case', 'continue', 'curly_brace_block', 'default', 'extra', 'parenthesis_brace_block', 'square_brace_block', 'switch', 'throw', 'use']], + 'no_spaces_around_offset' => true, + + // SoftCreatR style + 'blank_line_between_import_groups' => true, + 'global_namespace_import' => [ + 'import_classes' => true, + 'import_constants' => true, + 'import_functions' => false, + ], + 'ordered_imports' => [ + 'imports_order' => ['class', 'function', 'const'], + ], + ]) + ->setFinder($finder); diff --git a/objectType.xml b/objectType.xml index aa2befd..cb770cd 100644 --- a/objectType.xml +++ b/objectType.xml @@ -1,14 +1,14 @@ - - - - com.uz.wcf.compulsory.condition.filebase.files - com.uz.wcf.compulsory.condition - wcf\system\condition\UserIntegerPropertyCondition - contents - filebaseFiles - 0 - - + + + + com.uz.wcf.compulsory.condition.filebase.files + com.uz.wcf.compulsory.condition + wcf\system\condition\UserIntegerPropertyCondition + contents + filebaseFiles + 0 + + diff --git a/package.xml b/package.xml index 86bf552..6fbe877 100644 --- a/package.xml +++ b/package.xml @@ -1,37 +1,43 @@ - - - Compulsory Topic - Filebase Extension - Adds Filebase conditions to Compulsory Topic. - Pflicht-Thema - Filebase-Erweiterung - Ergänzt Pflicht-Thema um Filebase-Bedingungen. - 5.5.0 - 2022-05-25 - - - - Zaydowicz - - - - com.woltlab.wcf - com.woltlab.filebase - com.uz.wcf.compulsory - - - - com.woltlab.wcf - - - - objectType.xml - - - - objectType.xml - - - - objectType.xml - + + + Compulsory Topic - Filebase Extension + Adds Filebase conditions to Compulsory Topic. + Pflicht-Thema - Filebase-Erweiterung + Ergänzt Pflicht-Thema um Filebase-Bedingungen. + 5.5.1 + 2022-09-18 + + + + + + + + + com.woltlab.wcf + com.woltlab.filebase + de.softcreatr.wcf.compulsory + + + + com.woltlab.wcf + com.uz.wcf.compulsory.filebase + + + + + + + + + + + + + + + + +