diff --git a/lib/plugins/gravatar/gitignore b/lib/plugins/gravatar/gitignore new file mode 100644 index 0000000..4ebc8ae --- /dev/null +++ b/lib/plugins/gravatar/gitignore @@ -0,0 +1 @@ +coverage diff --git a/plugins/additionals/README.rst b/plugins/additionals/README.rst deleted file mode 120000 index d46ade8..0000000 --- a/plugins/additionals/README.rst +++ /dev/null @@ -1 +0,0 @@ -docs/index.rst \ No newline at end of file diff --git a/plugins/additionals/assets/javascripts/eslintignore b/plugins/additionals/assets/javascripts/eslintignore new file mode 100644 index 0000000..d304d63 --- /dev/null +++ b/plugins/additionals/assets/javascripts/eslintignore @@ -0,0 +1,5 @@ +# eslint ignore file +*.js +!additionals*.js +!noreferrer.js +!tooltips.js diff --git a/plugins/additionals/assets/stylesheets/stylelintignore b/plugins/additionals/assets/stylesheets/stylelintignore new file mode 100644 index 0000000..c234968 --- /dev/null +++ b/plugins/additionals/assets/stylesheets/stylelintignore @@ -0,0 +1,4 @@ +# stylelint ignore file +bootstrap* +*.map +*.min.css diff --git a/plugins/additionals/codeclimate.yml b/plugins/additionals/codeclimate.yml new file mode 100644 index 0000000..fe12bce --- /dev/null +++ b/plugins/additionals/codeclimate.yml @@ -0,0 +1,22 @@ +engines: + fixme: + enabled: false + eslint: + enabled: true + rubocop: + enabled: true + duplication: + enabled: true + config: + languages: + - "ruby" +ratings: + paths: + - "**.css" + - "**.erb" + - "**.js" + - "**.rb" +exclude_paths: +- "test/" +- "assets/javascripts/" +- "assets/stylesheets/jquery.*" diff --git a/plugins/additionals/eslintrc.yml b/plugins/additionals/eslintrc.yml new file mode 100644 index 0000000..f0f5725 --- /dev/null +++ b/plugins/additionals/eslintrc.yml @@ -0,0 +1,17 @@ +env: + browser: true + jquery: true +extends: 'eslint:recommended' +rules: + indent: + - error + - 2 + linebreak-style: + - error + - unix + quotes: + - error + - single + semi: + - error + - always diff --git a/plugins/additionals/rubocop.yml b/plugins/additionals/rubocop.yml new file mode 100644 index 0000000..7fcb391 --- /dev/null +++ b/plugins/additionals/rubocop.yml @@ -0,0 +1,49 @@ +Rails: + Enabled: true + +AllCops: + TargetRubyVersion: 2.2 + TargetRailsVersion: 5.2 + +Metrics/AbcSize: + Max: 65 + +Metrics/BlockLength: + Max: 60 + +Metrics/ClassLength: + Enabled: false + +Metrics/CyclomaticComplexity: + Max: 20 + +Metrics/LineLength: + Max: 140 + +Metrics/MethodLength: + Max: 60 + +Metrics/ModuleLength: + Enabled: false + +Metrics/PerceivedComplexity: + Max: 25 + +Rails/SkipsModelValidations: + Enabled: false + +Rails/CreateTableWithTimestamps: + Enabled: false + +# app/model/application_record.rb is missing in redmine, we can't use ApplicationRecord +Rails/ApplicationRecord: + Enabled: false + +Style/AutoResourceCleanup: + Enabled: true + +Style/Documentation: + Enabled: false + +Style/ExpandPathArguments: + Enabled: false diff --git a/plugins/additionals/slim-lint.yml b/plugins/additionals/slim-lint.yml new file mode 100644 index 0000000..aea15c3 --- /dev/null +++ b/plugins/additionals/slim-lint.yml @@ -0,0 +1,39 @@ +linters: + LineLength: + max: 140 + RuboCop: + ignored_cops: + - Layout/AlignArray + - Layout/AlignHash + - Layout/AlignParameters + - Layout/BlockEndNewline + - Layout/EmptyLineAfterGuardClause + - Layout/FirstParameterIndentation + - Layout/IndentArray + - Layout/IndentationConsistency + - Layout/IndentationWidth + - Layout/IndentHash + - Layout/MultilineArrayBraceLayout + - Layout/MultilineAssignmentLayout + - Layout/MultilineBlockLayout + - Layout/MultilineHashBraceLayout + - Layout/MultilineMethodCallBraceLayout + - Layout/MultilineMethodCallIndentation + - Layout/MultilineMethodDefinitionBraceLayout + - Layout/MultilineOperationIndentation + - Layout/TrailingBlankLines + - Layout/TrailingWhitespace + - Lint/BlockAlignment + - Lint/EndAlignment + - Lint/Void + - Metrics/BlockLength + - Metrics/BlockNesting + - Metrics/LineLength + - Naming/FileName + - Rails/OutputSafety + - Style/ConditionalAssignment + - Style/FrozenStringLiteralComment + - Style/IdenticalConditionalBranches + - Style/IfUnlessModifier + - Style/Next + - Style/WhileUntilModifier diff --git a/plugins/additionals/travis.yml b/plugins/additionals/travis.yml new file mode 100644 index 0000000..7c7aa27 --- /dev/null +++ b/plugins/additionals/travis.yml @@ -0,0 +1,49 @@ +language: ruby + +rvm: + - 2.5.3 + - 2.4.5 + - 2.3.8 + +env: + - REDMINE_VER=4.0-stable DB=postgresql + - REDMINE_VER=3.4-stable DB=postgresql + - REDMINE_VER=4.0-stable DB=mysql + - REDMINE_VER=3.4-stable DB=mysql + +sudo: true + +addons: + postgresql: "9.6" + apt: + sources: + - mysql-5.7-trusty + packages: + - mysql-server + - mysql-client + +before_install: + - export PLUGIN_NAME=additionals + - export REDMINE_GIT_REPO=git://github.com/redmine/redmine.git + - export REDMINE_PATH=$HOME/redmine + - export BUNDLE_GEMFILE=$REDMINE_PATH/Gemfile + - export RAILS_ENV=test + - git clone $REDMINE_GIT_REPO $REDMINE_PATH + - cd $REDMINE_PATH + - if [[ "$REDMINE_VER" != "master" ]]; then git checkout -b $REDMINE_VER origin/$REDMINE_VER; fi + - ln -s $TRAVIS_BUILD_DIR $REDMINE_PATH/plugins/$PLUGIN_NAME + - cp $TRAVIS_BUILD_DIR/test/support/additional_environment.rb $REDMINE_PATH/config/ + - cp $TRAVIS_BUILD_DIR/test/support/database-$DB-travis.yml $REDMINE_PATH/config/database.yml + +before_script: + - if [[ "$DB" == "mysql" ]]; then mysql -e "use mysql; update user set authentication_string=PASSWORD('travis_ci_test') where User='root'; update user set plugin='mysql_native_password';FLUSH PRIVILEGES;"; fi + - if [[ "$DB" == "mysql" ]]; then mysql_upgrade -ptravis_ci_test; fi + - if [[ "$DB" == "mysql" ]]; then service mysql restart; fi + - bundle exec rake db:create db:migrate redmine:plugins:migrate + +script: + - export SKIP_COVERAGE=1 + - if [[ "$REDMINE_VER" == "master" ]]; then bundle exec rake redmine:plugins:test:units NAME=$PLUGIN_NAME; fi + - if [[ "$REDMINE_VER" == "master" ]]; then bundle exec rake redmine:plugins:test:functionals NAME=$PLUGIN_NAME; fi + - if [[ "$REDMINE_VER" == "master" ]]; then bundle exec rake redmine:plugins:test:integration NAME=$PLUGIN_NAME; fi + - if [[ "$REDMINE_VER" != "master" ]]; then bundle exec rake redmine:plugins:test NAME=$PLUGIN_NAME RUBYOPT="-W0"; fi