diff --git a/.editorconfig b/.editorconfig new file mode 100644 index 0000000..47ae637 --- /dev/null +++ b/.editorconfig @@ -0,0 +1,17 @@ +# For more information about the properties used in this file, +# please see the EditorConfig documentation: +# http://editorconfig.org + +[*] +charset = utf-8 +end_of_line = lf +indent_size = 4 +indent_style = space +insert_final_newline = true +trim_trailing_whitespace = true + +[{*.yml,package.json}] +indent_size = 2 + +# The indent size used in the package.json file cannot be changed: +# https://github.com/npm/npm/pull/3180#issuecomment-16336516 diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..ad126f0 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,6 @@ +/tests export-ignore +/docs export-ignore +/.gitattributes export-ignore +/.gitignore export-ignore +/.travis.yml export-ignore +/.scrutinizer.yml export-ignore \ No newline at end of file diff --git a/.scrutinizer.yml b/.scrutinizer.yml new file mode 100644 index 0000000..6cae042 --- /dev/null +++ b/.scrutinizer.yml @@ -0,0 +1,69 @@ +inherit: true + +checks: + php: + verify_property_names: true + verify_argument_usable_as_reference: true + verify_access_scope_valid: true + useless_calls: true + use_statement_alias_conflict: true + variable_existence: true + unused_variables: true + unused_properties: true + unused_parameters: true + unused_methods: true + unreachable_code: true + too_many_arguments: true + sql_injection_vulnerabilities: true + simplify_boolean_return: true + side_effects_or_types: 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 + psr2_switch_declaration: true + psr2_class_declaration: true + property_assignments: 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 + parameter_non_unique: true + parameter_doc_comments: true + param_doc_comment_if_not_inferrable: true + optional_parameters_at_the_end: true + one_class_per_file: true + no_unnecessary_if: true + no_trailing_whitespace: true + no_property_on_interface: true + no_non_implemented_abstract_methods: true + no_error_suppression: true + no_duplicate_arguments: true + no_commented_out_code: true + newline_at_end_of_file: true + missing_arguments: true + method_calls_on_non_object: true + instanceof_class_exists: true + foreach_traversable: true + fix_line_ending: true + fix_doc_comments: true + duplication: true + deprecated_code_usage: true + deadlock_detection_in_loops: true + code_rating: true + closure_use_not_conflicting: true + catch_class_exists: true + blank_line_after_namespace_declaration: false + avoid_multiple_statements_on_same_line: true + avoid_duplicate_types: true + avoid_conflicting_incrementers: true + avoid_closing_tag: true + assignment_of_null_return: true + argument_type_checks: true + +filter: + paths: [code/*, tests/*] \ No newline at end of file diff --git a/.travis.yml b/.travis.yml new file mode 100644 index 0000000..178a3e9 --- /dev/null +++ b/.travis.yml @@ -0,0 +1,83 @@ +# Travis config taken from the SS Comments Module +language: php + +sudo: true + +addons: + apt: + packages: + - tidy + +php: + - 5.4 + - 5.5 + - 5.6 + - 7.0 + - 7.1 + +before_install: + - pip install --user codecov + +env: + global: + - DB=MYSQL CORE_RELEASE=3.1 + - MODULE_PATH=auth-username + + # Set to 1 in the matrix to enable code coverage + - COVERAGE=0 + +matrix: + include: + - php: 7.1 + env: DB=MYSQL COVERAGE=1 + - php: 7.1 + env: DB=PGSQL + - php: 7.1 + env: DB=MYSQL CORE_RELEASE=3.2 + - php: 7.1 + env: DB=PGSQL CORE_RELEASE=3.2 + - php: 7.0 + env: DB=MYSQL COVERAGE=1 + - php: 7.0 + env: DB=PGSQL + - php: 7.0 + env: DB=MYSQL CORE_RELEASE=3.2 + - php: 7.0 + env: DB=PGSQL CORE_RELEASE=3.2 + - php: 5.6 + env: DB=MYSQL COVERAGE=1 + - php: 5.6 + env: DB=PGSQL + - php: 5.6 + env: DB=MYSQL CORE_RELEASE=3.2 + - php: 5.6 + env: DB=PGSQL CORE_RELEASE=3.2 + - php: 5.5 + env: DB=MYSQL + - php: 5.5 + env: DB=SQLITE + - php: 5.4 + env: DB=MYSQL + - php: 5.4 + env: DB=SQLITE + +before_script: + - phpenv rehash + - composer self-update || true + - git clone git://github.com/silverstripe-labs/silverstripe-travis-support.git ~/travis-support + # Install suggested modules in order to maximize test coverage + - php ~/travis-support/travis_setup.php --source `pwd` --target ~/builds/ss --require "ezyang/htmlpurifier:4.*,silverstripe/cms:~3.1" + - cd ~/builds/ss + +script: + # Execute tests with no coverage. This is the fastest option + - "if [ \"$COVERAGE\" = \"0\" ]; then vendor/bin/phpunit $MODULE_PATH/tests/; fi" + + # Execute tests with coverage. Do this for a small + - "if [ \"$COVERAGE\" = \"1\" ]; then vendor/bin/phpunit --coverage-clover=coverage.clover $MODULE_PATH/tests/; fi" + +after_script: + - "if [ \"$COVERAGE\" = \"1\" ]; then mv coverage.clover ~/build/$TRAVIS_REPO_SLUG/; fi" + - cd ~/build/$TRAVIS_REPO_SLUG + - wget https://scrutinizer-ci.com/ocular.phar + - "if [ \"$COVERAGE\" = \"1\" ]; then travis_retry codecov && travis_retry php ocular.phar code-coverage:upload --format=php-clover coverage.clover; fi" \ No newline at end of file diff --git a/contributing.md b/contributing.md new file mode 100644 index 0000000..ddf427c --- /dev/null +++ b/contributing.md @@ -0,0 +1,15 @@ +# Contributing + +We have released this module open source to the community and as such +welcome any feedback that usera may have. + +If you encounter any issues, have any ideas or want to request a +feature, please use the following links: + + * [Sharing your opinion and raising issues](https://github.com/i-lateral/silverstripe-systemmessages/issues) + * [Submit a pull request](https://github.com/i-lateral/silverstripe-systemmessages/pulls) + +## Translations + +If you would like to add some translations to this module, please either provide us with a pull request or alternativley submit an +issue with the translations you would like implemented \ No newline at end of file