]> source.dussan.org Git - redmine.git/commitdiff
Add RuboCop to enforce some styles (#31509).
authorGo MAEDA <maeda@farend.jp>
Wed, 19 Jun 2019 00:49:28 +0000 (00:49 +0000)
committerGo MAEDA <maeda@farend.jp>
Wed, 19 Jun 2019 00:49:28 +0000 (00:49 +0000)
Patch by Marius BALTEANU and Go MAEDA.

git-svn-id: http://svn.redmine.org/redmine/trunk@18259 e93f8b46-1217-0410-a6f0-8f06a7374b81

.rubocop.yml [new file with mode: 0644]
.rubocop_todo.yml [new file with mode: 0644]
Gemfile
doc/RUNNING_TESTS

diff --git a/.rubocop.yml b/.rubocop.yml
new file mode 100644 (file)
index 0000000..976368f
--- /dev/null
@@ -0,0 +1,44 @@
+inherit_from: .rubocop_todo.yml
+
+AllCops:
+  TargetRubyVersion: 2.3
+  TargetRailsVersion: 5.2
+
+  Exclude:
+    - '**/vendor/**/*'
+    - '**/tmp/**/*'
+    - '**/bin/**/*'
+    - '**/plugins/**/*'
+    - '**/extra/**/*'
+    - '**/lib/generators/**/templates/*'
+    - '**/lib/tasks/**/*'
+    - '**/files/**/*'
+
+# Enable extensions
+
+Rails:
+  Enabled: true
+
+# Rules for Redmine
+
+Layout/SpaceBeforeBlockBraces:
+  Enabled: false
+
+Rails/BulkChangeTable:
+  Exclude:
+    - 'db/migrate/20120714122200_add_workflows_rule_fields.rb'
+    - 'db/migrate/20131214094309_remove_custom_fields_min_max_length_default_values.rb'
+
+Style/FrozenStringLiteralComment:
+  Enabled: true
+  EnforcedStyle: always
+  Exclude:
+    - 'db/**/*.rb'
+    - 'Gemfile'
+    - 'Rakefile'
+    - 'config.ru'
+    - 'config/additional_environment.rb'
+
+Style/HashSyntax:
+  Enabled: true
+  EnforcedStyle: no_mixed_keys
diff --git a/.rubocop_todo.yml b/.rubocop_todo.yml
new file mode 100644 (file)
index 0000000..a2dedd5
--- /dev/null
@@ -0,0 +1,2208 @@
+# This configuration was generated by
+# `rubocop --auto-gen-config`
+# on 2019-06-18 23:55:41 +0900 using RuboCop version 0.71.0.
+# The point is for the user to remove these configuration records
+# one by one as the offenses are removed from the code base.
+# Note that changes in the inspected code, or installation of new
+# versions of RuboCop, may require this file to be generated again.
+
+# Offense count: 11
+# Cop supports --auto-correct.
+# Configuration parameters: TreatCommentsAsGroupSeparators, Include.
+# Include: **/*.gemfile, **/Gemfile, **/gems.rb
+Bundler/OrderedGems:
+  Exclude:
+    - 'Gemfile'
+
+# Offense count: 10
+# Cop supports --auto-correct.
+# Configuration parameters: EnforcedStyle, IndentationWidth.
+# SupportedStyles: outdent, indent
+Layout/AccessModifierIndentation:
+  Exclude:
+    - 'app/controllers/boards_controller.rb'
+    - 'app/controllers/messages_controller.rb'
+    - 'app/controllers/timelog_controller.rb'
+    - 'app/controllers/wiki_controller.rb'
+    - 'app/models/role.rb'
+    - 'app/models/setting.rb'
+    - 'app/models/tracker.rb'
+    - 'lib/redmine/scm/adapters/abstract_adapter.rb'
+    - 'lib/redmine/wiki_formatting/textile/formatter.rb'
+    - 'lib/redmine/wiki_formatting/textile/redcloth3.rb'
+
+# Offense count: 576
+# Cop supports --auto-correct.
+# Configuration parameters: EnforcedStyle, IndentationWidth.
+# SupportedStyles: with_first_argument, with_fixed_indentation
+Layout/AlignArguments:
+  Enabled: false
+
+# Offense count: 91
+# Cop supports --auto-correct.
+Layout/AlignArray:
+  Exclude:
+    - 'app/models/setting.rb'
+    - 'lib/redmine/default_data/loader.rb'
+    - 'test/functional/issues_controller_test.rb'
+    - 'test/unit/lib/redmine/scm/adapters/mercurial_adapter_test.rb'
+    - 'test/unit/repository_bazaar_test.rb'
+
+# Offense count: 1012
+# Cop supports --auto-correct.
+# Configuration parameters: AllowMultipleStyles, EnforcedHashRocketStyle, EnforcedColonStyle, EnforcedLastArgumentHashStyle.
+# SupportedHashRocketStyles: key, separator, table
+# SupportedColonStyles: key, separator, table
+# SupportedLastArgumentHashStyles: always_inspect, always_ignore, ignore_implicit, ignore_explicit
+Layout/AlignHash:
+  Enabled: false
+
+# Offense count: 10
+# Cop supports --auto-correct.
+# Configuration parameters: EnforcedStyleAlignWith.
+# SupportedStylesAlignWith: either, start_of_block, start_of_line
+Layout/BlockAlignment:
+  Exclude:
+    - 'app/helpers/queries_helper.rb'
+    - 'app/models/principal.rb'
+    - 'app/models/project.rb'
+    - 'app/models/time_entry.rb'
+    - 'test/functional/issues_controller_test.rb'
+    - 'test/functional/repositories_git_controller_test.rb'
+    - 'test/functional/repositories_mercurial_controller_test.rb'
+    - 'test/unit/lib/redmine/menu_manager/mapper_test.rb'
+    - 'test/unit/lib/redmine/menu_manager/menu_helper_test.rb'
+    - 'test/unit/lib/redmine/scm/adapters/mercurial_adapter_test.rb'
+
+# Offense count: 5
+# Cop supports --auto-correct.
+Layout/BlockEndNewline:
+  Exclude:
+    - 'app/controllers/auth_sources_controller.rb'
+    - 'app/controllers/files_controller.rb'
+    - 'app/models/issue.rb'
+    - 'app/models/message.rb'
+
+# Offense count: 21
+# Cop supports --auto-correct.
+# Configuration parameters: EnforcedStyle, IndentOneStep, IndentationWidth.
+# SupportedStyles: case, end
+Layout/CaseIndentation:
+  Exclude:
+    - 'app/helpers/versions_helper.rb'
+    - 'app/models/issue_import.rb'
+    - 'app/models/issue_priority.rb'
+    - 'app/models/issue_query.rb'
+    - 'config/initializers/10-patches.rb'
+    - 'lib/redmine/helpers/gantt.rb'
+    - 'lib/redmine/menu_manager.rb'
+    - 'lib/redmine/views/builders.rb'
+    - 'test/test_helper.rb'
+    - 'test/unit/lib/redmine/scm/adapters/mercurial_adapter_test.rb'
+
+# Offense count: 64
+# Cop supports --auto-correct.
+Layout/ClosingHeredocIndentation:
+  Exclude:
+    - 'app/models/setting.rb'
+    - 'test/helpers/application_helper_test.rb'
+    - 'test/integration/api_test/issues_test.rb'
+    - 'test/integration/lib/redmine/hook_test.rb'
+    - 'test/unit/lib/redmine/unified_diff_test.rb'
+    - 'test/unit/lib/redmine/wiki_formatting/macros_test.rb'
+    - 'test/unit/lib/redmine/wiki_formatting/markdown_formatter_test.rb'
+    - 'test/unit/lib/redmine/wiki_formatting/textile_formatter_test.rb'
+    - 'test/unit/lib/redmine/wiki_formatting_test.rb'
+    - 'test/unit/setting_test.rb'
+
+# Offense count: 65
+# Cop supports --auto-correct.
+Layout/ClosingParenthesisIndentation:
+  Enabled: false
+
+# Offense count: 19
+# Cop supports --auto-correct.
+Layout/CommentIndentation:
+  Exclude:
+    - 'app/helpers/versions_helper.rb'
+    - 'app/models/mailer.rb'
+    - 'lib/redmine/wiki_formatting/textile/redcloth3.rb'
+    - 'test/unit/issue_test.rb'
+    - 'test/unit/lib/redmine/wiki_formatting/markdown_formatter_test.rb'
+    - 'test/unit/lib/redmine/wiki_formatting/textile_formatter_test.rb'
+    - 'test/unit/repository_cvs_test.rb'
+
+# Offense count: 2
+# Cop supports --auto-correct.
+# Configuration parameters: EnforcedStyleAlignWith, AutoCorrect, Severity.
+# SupportedStylesAlignWith: start_of_line, def
+Layout/DefEndAlignment:
+  Exclude:
+    - 'test/functional/documents_controller_test.rb'
+    - 'test/unit/repository_cvs_test.rb'
+
+# Offense count: 345
+# Cop supports --auto-correct.
+# Configuration parameters: EnforcedStyle.
+# SupportedStyles: leading, trailing
+Layout/DotPosition:
+  Enabled: false
+
+# Offense count: 14
+# Cop supports --auto-correct.
+Layout/ElseAlignment:
+  Exclude:
+    - 'app/helpers/application_helper.rb'
+    - 'app/helpers/attachments_helper.rb'
+    - 'app/helpers/queries_helper.rb'
+    - 'app/models/changeset.rb'
+    - 'app/models/issue.rb'
+    - 'app/models/issue_query.rb'
+    - 'lib/redmine/export/pdf/issues_pdf_helper.rb'
+    - 'lib/redmine/i18n.rb'
+    - 'lib/redmine/plugin.rb'
+    - 'lib/redmine/wiki_formatting.rb'
+
+# Offense count: 205
+# Cop supports --auto-correct.
+Layout/EmptyLineAfterGuardClause:
+  Enabled: false
+
+# Offense count: 29
+# Cop supports --auto-correct.
+# Configuration parameters: AllowAdjacentOneLineDefs, NumberOfEmptyLines.
+Layout/EmptyLineBetweenDefs:
+  Exclude:
+    - 'app/helpers/application_helper.rb'
+    - 'app/models/attachment.rb'
+    - 'app/models/user.rb'
+    - 'app/models/user_preference.rb'
+    - 'app/models/version.rb'
+    - 'db/migrate/20170302015225_change_attachments_digest_limit_to_64.rb'
+    - 'lib/redmine/info.rb'
+    - 'lib/redmine/version.rb'
+    - 'test/functional/email_addresses_controller_test.rb'
+    - 'test/functional/settings_controller_test.rb'
+    - 'test/functional/users_controller_test.rb'
+    - 'test/helpers/sort_helper_test.rb'
+    - 'test/unit/issue_test.rb'
+    - 'test/unit/mailer_test.rb'
+    - 'test/unit/project_test.rb'
+
+# Offense count: 21
+# Cop supports --auto-correct.
+Layout/EmptyLines:
+  Enabled: false
+
+# Offense count: 11
+# Cop supports --auto-correct.
+# Configuration parameters: EnforcedStyle.
+# SupportedStyles: around, only_before
+Layout/EmptyLinesAroundAccessModifier:
+  Exclude:
+    - 'app/controllers/boards_controller.rb'
+    - 'app/controllers/messages_controller.rb'
+    - 'app/controllers/previews_controller.rb'
+    - 'app/controllers/timelog_controller.rb'
+    - 'app/models/tracker.rb'
+    - 'config/initializers/10-patches.rb'
+    - 'lib/redmine/scm/adapters/abstract_adapter.rb'
+    - 'lib/redmine/scm/adapters/cvs_adapter.rb'
+    - 'lib/redmine/syntax_highlighting.rb'
+    - 'lib/redmine/wiki_formatting/textile/redcloth3.rb'
+    - 'test/functional/repositories_git_controller_test.rb'
+
+# Offense count: 1
+# Cop supports --auto-correct.
+Layout/EmptyLinesAroundArguments:
+  Exclude:
+    - 'lib/redmine/wiki_formatting/textile/redcloth3.rb'
+
+# Offense count: 19
+# Cop supports --auto-correct.
+# Configuration parameters: EnforcedStyle.
+# SupportedStyles: empty_lines, no_empty_lines
+Layout/EmptyLinesAroundBlockBody:
+  Exclude:
+    - 'app/helpers/application_helper.rb'
+    - 'app/models/attachment.rb'
+    - 'app/models/setting.rb'
+    - 'db/schema.rb'
+    - 'lib/redmine/wiki_formatting/textile/redcloth3.rb'
+    - 'test/functional/issues_controller_test.rb'
+    - 'test/integration/api_test/attachments_test.rb'
+    - 'test/integration/api_test/issues_test.rb'
+    - 'test/integration/api_test/my_test.rb'
+    - 'test/unit/changeset_test.rb'
+
+# Offense count: 52
+# Cop supports --auto-correct.
+# Configuration parameters: EnforcedStyle.
+# SupportedStyles: empty_lines, empty_lines_except_namespace, empty_lines_special, no_empty_lines, beginning_only, ending_only
+Layout/EmptyLinesAroundClassBody:
+  Enabled: false
+
+# Offense count: 6
+# Cop supports --auto-correct.
+Layout/EmptyLinesAroundExceptionHandlingKeywords:
+  Exclude:
+    - 'app/controllers/activities_controller.rb'
+    - 'app/controllers/imports_controller.rb'
+    - 'app/controllers/wiki_controller.rb'
+    - 'test/functional/settings_controller_test.rb'
+    - 'test/integration/attachments_test.rb'
+
+# Offense count: 20
+# Cop supports --auto-correct.
+Layout/EmptyLinesAroundMethodBody:
+  Exclude:
+    - 'app/models/query.rb'
+    - 'db/migrate/001_setup.rb'
+    - 'db/migrate/20111201201315_add_unique_index_to_issue_relations.rb'
+    - 'lib/redmine/wiki_formatting/textile/redcloth3.rb'
+    - 'test/functional/journals_controller_test.rb'
+    - 'test/functional/repositories_git_controller_test.rb'
+    - 'test/functional/users_controller_test.rb'
+    - 'test/integration/account_test.rb'
+    - 'test/unit/attachment_test.rb'
+    - 'test/unit/issue_test.rb'
+    - 'test/unit/lib/redmine/menu_manager/mapper_test.rb'
+    - 'test/unit/lib/redmine/menu_manager/menu_helper_test.rb'
+    - 'test/unit/lib/redmine/unified_diff_test.rb'
+
+# Offense count: 25
+# Cop supports --auto-correct.
+# Configuration parameters: EnforcedStyle.
+# SupportedStyles: empty_lines, empty_lines_except_namespace, empty_lines_special, no_empty_lines
+Layout/EmptyLinesAroundModuleBody:
+  Enabled: false
+
+# Offense count: 24
+# Cop supports --auto-correct.
+# Configuration parameters: EnforcedStyleAlignWith, AutoCorrect, Severity.
+# SupportedStylesAlignWith: keyword, variable, start_of_line
+Layout/EndAlignment:
+  Enabled: false
+
+# Offense count: 107
+# Cop supports --auto-correct.
+# Configuration parameters: AllowForAlignment, AllowBeforeTrailingComments, ForceEqualSignAlignment.
+Layout/ExtraSpacing:
+  Enabled: false
+
+# Offense count: 9
+# Cop supports --auto-correct.
+# Configuration parameters: IndentationWidth.
+Layout/IndentAssignment:
+  Exclude:
+    - 'app/helpers/application_helper.rb'
+    - 'app/helpers/issues_helper.rb'
+    - 'app/helpers/repositories_helper.rb'
+    - 'lib/redmine/wiki_formatting/textile/redcloth3.rb'
+    - 'test/unit/lib/redmine/helpers/gantt_test.rb'
+
+# Offense count: 201
+# Cop supports --auto-correct.
+# Configuration parameters: EnforcedStyle, IndentationWidth.
+# SupportedStyles: consistent, consistent_relative_to_receiver, special_for_inner_method_call, special_for_inner_method_call_in_parentheses
+Layout/IndentFirstArgument:
+  Enabled: false
+
+# Offense count: 99
+# Cop supports --auto-correct.
+# Configuration parameters: EnforcedStyle, IndentationWidth.
+# SupportedStyles: special_inside_parentheses, consistent, align_brackets
+Layout/IndentFirstArrayElement:
+  Enabled: false
+
+# Offense count: 2602
+# Cop supports --auto-correct.
+# Configuration parameters: EnforcedStyle, IndentationWidth.
+# SupportedStyles: special_inside_parentheses, consistent, align_braces
+Layout/IndentFirstHashElement:
+  Enabled: false
+
+# Offense count: 79
+# Cop supports --auto-correct.
+# Configuration parameters: EnforcedStyle.
+# SupportedStyles: squiggly, active_support, powerpack, unindent
+Layout/IndentHeredoc:
+  Exclude:
+    - 'test/functional/documents_controller_test.rb'
+    - 'test/helpers/application_helper_test.rb'
+    - 'test/integration/api_test/custom_fields_attribute_test.rb'
+    - 'test/integration/api_test/files_test.rb'
+    - 'test/integration/api_test/issues_test.rb'
+    - 'test/integration/lib/redmine/hook_test.rb'
+    - 'test/unit/lib/redmine/syntax_highlighting/rouge_test.rb'
+    - 'test/unit/lib/redmine/unified_diff_test.rb'
+    - 'test/unit/lib/redmine/wiki_formatting/macros_test.rb'
+    - 'test/unit/lib/redmine/wiki_formatting/markdown_formatter_test.rb'
+    - 'test/unit/lib/redmine/wiki_formatting/textile_formatter_test.rb'
+    - 'test/unit/lib/redmine/wiki_formatting_test.rb'
+    - 'test/unit/setting_test.rb'
+
+# Offense count: 38
+# Cop supports --auto-correct.
+# Configuration parameters: EnforcedStyle.
+# SupportedStyles: normal, rails
+Layout/IndentationConsistency:
+  Exclude:
+    - 'app/models/attachment.rb'
+    - 'test/functional/issues_controller_test.rb'
+    - 'test/functional/project_enumerations_controller_test.rb'
+    - 'test/functional/repositories_git_controller_test.rb'
+    - 'test/functional/repositories_mercurial_controller_test.rb'
+    - 'test/helpers/application_helper_test.rb'
+    - 'test/integration/api_test/custom_fields_attribute_test.rb'
+    - 'test/integration/api_test/issues_test.rb'
+    - 'test/mocks/open_id_authentication_mock.rb'
+    - 'test/unit/repository_cvs_test.rb'
+
+# Offense count: 287
+# Cop supports --auto-correct.
+# Configuration parameters: Width, IgnoredPatterns.
+Layout/IndentationWidth:
+  Enabled: false
+
+# Offense count: 32
+# Cop supports --auto-correct.
+Layout/LeadingCommentSpace:
+  Exclude:
+    - 'app/controllers/repositories_controller.rb'
+    - 'app/models/repository.rb'
+    - 'lib/diff.rb'
+    - 'lib/redmine/scm/adapters/cvs_adapter.rb'
+    - 'lib/redmine/scm/adapters/git_adapter.rb'
+    - 'lib/redmine/wiki_formatting/textile/redcloth3.rb'
+    - 'test/integration/api_test/issues_test.rb'
+    - 'test/integration/issues_test.rb'
+    - 'test/unit/issue_test.rb'
+    - 'test/unit/project_test.rb'
+    - 'test/unit/query_test.rb'
+    - 'test/unit/user_test.rb'
+
+# Offense count: 9
+# Cop supports --auto-correct.
+# Configuration parameters: EnforcedStyle.
+# SupportedStyles: symmetrical, new_line, same_line
+Layout/MultilineArrayBraceLayout:
+  Exclude:
+    - 'app/helpers/projects_helper.rb'
+    - 'app/helpers/settings_helper.rb'
+    - 'app/helpers/users_helper.rb'
+    - 'app/models/setting.rb'
+    - 'test/unit/lib/redmine/wiki_formatting/markdown_formatter_test.rb'
+    - 'test/unit/lib/redmine/wiki_formatting/textile_formatter_test.rb'
+    - 'test/unit/repository_bazaar_test.rb'
+
+# Offense count: 4
+# Cop supports --auto-correct.
+Layout/MultilineBlockLayout:
+  Exclude:
+    - 'app/controllers/auth_sources_controller.rb'
+    - 'app/controllers/auto_completes_controller.rb'
+    - 'app/models/issue.rb'
+    - 'app/models/message.rb'
+
+# Offense count: 77
+# Cop supports --auto-correct.
+# Configuration parameters: EnforcedStyle.
+# SupportedStyles: symmetrical, new_line, same_line
+Layout/MultilineHashBraceLayout:
+  Enabled: false
+
+# Offense count: 126
+# Cop supports --auto-correct.
+# Configuration parameters: EnforcedStyle.
+# SupportedStyles: symmetrical, new_line, same_line
+Layout/MultilineMethodCallBraceLayout:
+  Enabled: false
+
+# Offense count: 218
+# Cop supports --auto-correct.
+# Configuration parameters: EnforcedStyle, IndentationWidth.
+# SupportedStyles: aligned, indented, indented_relative_to_receiver
+Layout/MultilineMethodCallIndentation:
+  Enabled: false
+
+# Offense count: 185
+# Cop supports --auto-correct.
+# Configuration parameters: EnforcedStyle, IndentationWidth.
+# SupportedStyles: aligned, indented
+Layout/MultilineOperationIndentation:
+  Enabled: false
+
+# Offense count: 1
+# Cop supports --auto-correct.
+Layout/RescueEnsureAlignment:
+  Exclude:
+    - 'db/migrate/085_add_role_tracker_old_status_index_to_workflows.rb'
+
+# Offense count: 4
+# Cop supports --auto-correct.
+Layout/SpaceAfterColon:
+  Exclude:
+    - 'test/functional/issues_controller_test.rb'
+    - 'test/integration/wiki_test.rb'
+
+# Offense count: 357
+# Cop supports --auto-correct.
+Layout/SpaceAfterComma:
+  Enabled: false
+
+# Offense count: 37
+# Cop supports --auto-correct.
+Layout/SpaceAfterNot:
+  Enabled: false
+
+# Offense count: 1
+# Cop supports --auto-correct.
+Layout/SpaceAfterSemicolon:
+  Exclude:
+    - 'app/models/mail_handler.rb'
+
+# Offense count: 6
+# Cop supports --auto-correct.
+# Configuration parameters: EnforcedStyleInsidePipes.
+# SupportedStylesInsidePipes: space, no_space
+Layout/SpaceAroundBlockParameters:
+  Exclude:
+    - 'app/controllers/issues_controller.rb'
+    - 'lib/redmine/plugin.rb'
+    - 'test/unit/query_test.rb'
+
+# Offense count: 654
+# Cop supports --auto-correct.
+# Configuration parameters: EnforcedStyle.
+# SupportedStyles: space, no_space
+Layout/SpaceAroundEqualsInParameterDefault:
+  Enabled: false
+
+# Offense count: 332
+# Cop supports --auto-correct.
+# Configuration parameters: AllowForAlignment.
+Layout/SpaceAroundOperators:
+  Enabled: false
+
+# Offense count: 7
+# Cop supports --auto-correct.
+Layout/SpaceBeforeComma:
+  Exclude:
+    - 'lib/redmine/export/pdf.rb'
+    - 'test/helpers/application_helper_test.rb'
+    - 'test/mocks/open_id_authentication_mock.rb'
+    - 'test/unit/lib/redmine/helpers/calendar_test.rb'
+    - 'test/unit/time_entry_test.rb'
+
+# Offense count: 5
+# Cop supports --auto-correct.
+# Configuration parameters: AllowForAlignment.
+Layout/SpaceBeforeFirstArg:
+  Exclude:
+    - 'test/helpers/issues_helper_test.rb'
+    - 'test/helpers/search_helper_test.rb'
+    - 'test/unit/lib/redmine/menu_manager_test.rb'
+    - 'test/unit/lib/redmine/scm/adapters/git_adapter_test.rb'
+
+# Offense count: 9
+# Cop supports --auto-correct.
+Layout/SpaceBeforeSemicolon:
+  Exclude:
+    - 'app/models/issue_query.rb'
+    - 'app/models/user_preference.rb'
+    - 'config/initializers/10-patches.rb'
+
+# Offense count: 12
+# Cop supports --auto-correct.
+# Configuration parameters: EnforcedStyle.
+# SupportedStyles: require_no_space, require_space
+Layout/SpaceInLambdaLiteral:
+  Exclude:
+    - 'app/helpers/application_helper.rb'
+
+# Offense count: 47
+# Cop supports --auto-correct.
+# Configuration parameters: EnforcedStyle, EnforcedStyleForEmptyBrackets.
+# SupportedStyles: space, no_space, compact
+# SupportedStylesForEmptyBrackets: space, no_space
+Layout/SpaceInsideArrayLiteralBrackets:
+  Exclude:
+    - 'app/controllers/projects_controller.rb'
+    - 'app/helpers/timelog_helper.rb'
+    - 'app/models/query.rb'
+    - 'lib/diff.rb'
+    - 'lib/redmine/i18n.rb'
+    - 'test/mocks/open_id_authentication_mock.rb'
+    - 'test/unit/mailer_localisation_test.rb'
+    - 'test/unit/mailer_test.rb'
+    - 'test/unit/search_test.rb'
+
+# Offense count: 1846
+# Cop supports --auto-correct.
+# Configuration parameters: EnforcedStyle, EnforcedStyleForEmptyBraces, SpaceBeforeBlockParameters.
+# SupportedStyles: space, no_space
+# SupportedStylesForEmptyBraces: space, no_space
+Layout/SpaceInsideBlockBraces:
+  Enabled: false
+
+# Offense count: 3691
+# Cop supports --auto-correct.
+# Configuration parameters: EnforcedStyle, EnforcedStyleForEmptyBraces.
+# SupportedStyles: space, no_space, compact
+# SupportedStylesForEmptyBraces: space, no_space
+Layout/SpaceInsideHashLiteralBraces:
+  Enabled: false
+
+# Offense count: 408
+# Cop supports --auto-correct.
+# Configuration parameters: EnforcedStyle.
+# SupportedStyles: space, no_space
+Layout/SpaceInsideParens:
+  Enabled: false
+
+# Offense count: 2
+# Cop supports --auto-correct.
+Layout/SpaceInsidePercentLiteralDelimiters:
+  Exclude:
+    - 'app/models/project.rb'
+
+# Offense count: 1
+# Cop supports --auto-correct.
+Layout/SpaceInsideRangeLiteral:
+  Exclude:
+    - 'app/models/repository/cvs.rb'
+
+# Offense count: 27
+# Cop supports --auto-correct.
+# Configuration parameters: EnforcedStyle, EnforcedStyleForEmptyBrackets.
+# SupportedStyles: space, no_space
+# SupportedStylesForEmptyBrackets: space, no_space
+Layout/SpaceInsideReferenceBrackets:
+  Exclude:
+    - 'lib/redmine/scm/adapters/subversion_adapter.rb'
+    - 'test/unit/lib/redmine/scm/adapters/git_adapter_test.rb'
+
+# Offense count: 112
+# Cop supports --auto-correct.
+# Configuration parameters: EnforcedStyle.
+# SupportedStyles: space, no_space
+Layout/SpaceInsideStringInterpolation:
+  Exclude:
+    - 'app/helpers/application_helper.rb'
+    - 'app/helpers/issues_helper.rb'
+    - 'app/helpers/workflows_helper.rb'
+    - 'app/models/issue_query.rb'
+    - 'app/models/mail_handler.rb'
+    - 'lib/redmine/core_ext/string/inflections.rb'
+    - 'lib/redmine/wiki_formatting/textile/redcloth3.rb'
+    - 'test/functional/issues_controller_test.rb'
+    - 'test/integration/admin_test.rb'
+
+# Offense count: 6
+# Cop supports --auto-correct.
+# Configuration parameters: EnforcedStyle.
+# SupportedStyles: final_newline, final_blank_line
+Layout/TrailingBlankLines:
+  Exclude:
+    - 'app/models/issue_priority_custom_field.rb'
+    - 'app/models/time_entry_custom_field.rb'
+    - 'app/models/user_custom_field.rb'
+    - 'lib/redmine/wiki_formatting/textile/redcloth3.rb'
+    - 'test/integration/api_test/my_test.rb'
+    - 'test/unit/lib/redmine/hook_test.rb'
+
+# Offense count: 3
+# Cop supports --auto-correct.
+# Configuration parameters: AllowInHeredoc.
+Layout/TrailingWhitespace:
+  Exclude:
+    - 'foo.rb'
+    - 'test/unit/lib/redmine/unified_diff_test.rb'
+
+# Offense count: 124
+Lint/AmbiguousBlockAssociation:
+  Enabled: false
+
+# Offense count: 7
+Lint/AmbiguousOperator:
+  Exclude:
+    - 'app/controllers/application_controller.rb'
+    - 'app/helpers/application_helper.rb'
+    - 'lib/redmine/scm/adapters/mercurial_adapter.rb'
+    - 'test/unit/custom_field_test.rb'
+    - 'test/unit/member_test.rb'
+
+# Offense count: 145
+Lint/AmbiguousRegexpLiteral:
+  Enabled: false
+
+# Offense count: 136
+# Configuration parameters: AllowSafeAssignment.
+Lint/AssignmentInCondition:
+  Enabled: false
+
+# Offense count: 19
+# Cop supports --auto-correct.
+Lint/DeprecatedClassMethods:
+  Exclude:
+    - 'Gemfile'
+    - 'app/models/import.rb'
+    - 'config/application.rb'
+    - 'config/boot.rb'
+    - 'config/routes.rb'
+    - 'lib/redmine/scm/adapters/abstract_adapter.rb'
+    - 'lib/redmine/thumbnail.rb'
+    - 'lib/redmine/utils.rb'
+    - 'test/functional/issues_controller_test.rb'
+    - 'test/unit/attachment_test.rb'
+    - 'test/unit/issue_import_test.rb'
+
+# Offense count: 7
+Lint/DuplicateMethods:
+  Exclude:
+    - 'app/models/custom_field_value.rb'
+    - 'app/models/issue.rb'
+    - 'app/models/query.rb'
+    - 'app/models/wiki_page.rb'
+    - 'test/functional/issues_controller_test.rb'
+    - 'test/functional/projects_controller_test.rb'
+
+# Offense count: 2
+Lint/EmptyWhen:
+  Exclude:
+    - 'app/controllers/issues_controller.rb'
+    - 'app/controllers/wiki_controller.rb'
+
+# Offense count: 19
+# Configuration parameters: AllowComments.
+Lint/HandleExceptions:
+  Exclude:
+    - 'app/controllers/activities_controller.rb'
+    - 'app/controllers/issues_controller.rb'
+    - 'app/helpers/versions_helper.rb'
+    - 'app/models/attachment.rb'
+    - 'app/models/import.rb'
+    - 'app/models/user.rb'
+    - 'db/migrate/085_add_role_tracker_old_status_index_to_workflows.rb'
+    - 'lib/redmine.rb'
+    - 'lib/redmine/codeset_util.rb'
+    - 'lib/redmine/scm/adapters/cvs_adapter.rb'
+    - 'lib/redmine/scm/adapters/mercurial_adapter.rb'
+    - 'lib/redmine/scm/adapters/subversion_adapter.rb'
+    - 'lib/redmine/subclass_factory.rb'
+    - 'lib/redmine/version.rb'
+
+# Offense count: 23
+Lint/IneffectiveAccessModifier:
+  Exclude:
+    - 'app/models/attachment.rb'
+    - 'app/models/auth_source_ldap.rb'
+    - 'app/models/issue.rb'
+    - 'app/models/mail_handler.rb'
+    - 'app/models/mailer.rb'
+    - 'app/models/role.rb'
+    - 'app/models/setting.rb'
+    - 'app/models/user.rb'
+    - 'app/models/watcher.rb'
+    - 'lib/redmine/helpers/gantt.rb'
+    - 'lib/redmine/scm/adapters/abstract_adapter.rb'
+    - 'lib/redmine/themes.rb'
+
+# Offense count: 9
+Lint/InterpolationCheck:
+  Exclude:
+    - 'app/models/user.rb'
+
+# Offense count: 1
+Lint/Loop:
+  Exclude:
+    - 'lib/redmine/helpers/gantt.rb'
+
+# Offense count: 1
+Lint/NestedMethodDefinition:
+  Exclude:
+    - 'test/unit/lib/redmine/menu_manager/menu_helper_test.rb'
+
+# Offense count: 23
+Lint/ParenthesesAsGroupedExpression:
+  Exclude:
+    - 'lib/redmine/field_format.rb'
+    - 'test/functional/account_controller_test.rb'
+    - 'test/functional/email_addresses_controller_test.rb'
+    - 'test/functional/my_controller_test.rb'
+    - 'test/functional/settings_controller_test.rb'
+    - 'test/functional/users_controller_test.rb'
+    - 'test/helpers/application_helper_test.rb'
+    - 'test/unit/attachment_test.rb'
+    - 'test/unit/lib/redmine/export/pdf_test.rb'
+
+# Offense count: 1
+# Cop supports --auto-correct.
+Lint/ScriptPermission:
+  Exclude:
+    - 'Rakefile'
+
+# Offense count: 52
+Lint/ShadowingOuterLocalVariable:
+  Enabled: false
+
+# Offense count: 4
+# Cop supports --auto-correct.
+Lint/StringConversionInInterpolation:
+  Exclude:
+    - 'lib/redmine/export/pdf/issues_pdf_helper.rb'
+    - 'test/functional/repositories_filesystem_controller_test.rb'
+    - 'test/functional/repositories_git_controller_test.rb'
+    - 'test/functional/repositories_mercurial_controller_test.rb'
+
+# Offense count: 1
+# Configuration parameters: AllowKeywordBlockArguments.
+Lint/UnderscorePrefixedVariableName:
+  Exclude:
+    - 'lib/redmine/i18n.rb'
+
+# Offense count: 1
+# Cop supports --auto-correct.
+Lint/UnifiedInteger:
+  Exclude:
+    - 'test/unit/query_test.rb'
+
+# Offense count: 1
+# Cop supports --auto-correct.
+Lint/UnneededRequireStatement:
+  Exclude:
+    - 'app/models/wiki_page.rb'
+
+# Offense count: 95
+# Cop supports --auto-correct.
+# Configuration parameters: IgnoreEmptyBlocks, AllowUnusedKeywordArguments.
+Lint/UnusedBlockArgument:
+  Enabled: false
+
+# Offense count: 214
+# Cop supports --auto-correct.
+# Configuration parameters: AllowUnusedKeywordArguments, IgnoreEmptyMethods.
+Lint/UnusedMethodArgument:
+  Enabled: false
+
+# Offense count: 9
+Lint/UriEscapeUnescape:
+  Exclude:
+    - 'lib/redmine/field_format.rb'
+    - 'lib/redmine/scm/adapters/subversion_adapter.rb'
+    - 'test/functional/wiki_controller_test.rb'
+
+# Offense count: 3
+# Configuration parameters: ContextCreatingMethods, MethodCreatingMethods.
+Lint/UselessAccessModifier:
+  Exclude:
+    - 'app/models/changeset.rb'
+    - 'app/models/watcher.rb'
+    - 'lib/redmine/themes.rb'
+
+# Offense count: 177
+Lint/UselessAssignment:
+  Enabled: false
+
+# Offense count: 1
+Lint/UselessSetterCall:
+  Exclude:
+    - 'test/unit/issue_test.rb'
+
+# Offense count: 5
+# Configuration parameters: CheckForMethodsWithNoSideEffects.
+Lint/Void:
+  Exclude:
+    - 'app/models/query.rb'
+    - 'app/models/time_entry.rb'
+    - 'app/models/wiki_content_version.rb'
+    - 'lib/redmine/unified_diff.rb'
+    - 'test/functional/project_enumerations_controller_test.rb'
+
+# Offense count: 1436
+Metrics/AbcSize:
+  Max: 343
+
+# Offense count: 50
+# Configuration parameters: CountComments, ExcludedMethods.
+# ExcludedMethods: refine
+Metrics/BlockLength:
+  Max: 575
+
+# Offense count: 55
+# Configuration parameters: CountBlocks.
+Metrics/BlockNesting:
+  Max: 8
+
+# Offense count: 190
+# Configuration parameters: CountComments.
+Metrics/ClassLength:
+  Max: 5884
+
+# Offense count: 255
+Metrics/CyclomaticComplexity:
+  Max: 72
+
+# Offense count: 1868
+# Configuration parameters: CountComments, ExcludedMethods.
+Metrics/MethodLength:
+  Max: 232
+
+# Offense count: 15
+# Configuration parameters: CountComments.
+Metrics/ModuleLength:
+  Max: 1271
+
+# Offense count: 19
+# Configuration parameters: CountKeywordArgs.
+Metrics/ParameterLists:
+  Max: 9
+
+# Offense count: 225
+Metrics/PerceivedComplexity:
+  Max: 67
+
+# Offense count: 9
+Naming/AccessorMethodName:
+  Exclude:
+    - 'app/controllers/account_controller.rb'
+    - 'app/controllers/application_controller.rb'
+    - 'app/models/enumeration.rb'
+    - 'app/models/issue.rb'
+    - 'app/models/issue_relation.rb'
+    - 'app/models/mail_handler.rb'
+    - 'app/models/project.rb'
+    - 'app/models/setting.rb'
+    - 'lib/redmine/i18n.rb'
+
+# Offense count: 16
+Naming/BinaryOperatorParameterName:
+  Exclude:
+    - 'app/models/custom_field.rb'
+    - 'app/models/enumeration.rb'
+    - 'app/models/issue.rb'
+    - 'app/models/issue_category.rb'
+    - 'app/models/issue_relation.rb'
+    - 'app/models/issue_status.rb'
+    - 'app/models/member.rb'
+    - 'app/models/principal.rb'
+    - 'app/models/project.rb'
+    - 'app/models/repository.rb'
+    - 'app/models/role.rb'
+    - 'app/models/tracker.rb'
+    - 'app/models/version.rb'
+    - 'lib/redmine/plugin.rb'
+    - 'lib/redmine/themes.rb'
+
+# Offense count: 6
+Naming/ConstantName:
+  Exclude:
+    - 'app/models/document_category.rb'
+    - 'app/models/issue_priority.rb'
+    - 'app/models/time_entry_activity.rb'
+    - 'lib/redmine/helpers/gantt.rb'
+
+# Offense count: 4
+# Configuration parameters: ExpectMatchingDefinition, Regex, IgnoreExecutableScripts, AllowedAcronyms.
+# AllowedAcronyms: CLI, DSL, ACL, API, ASCII, CPU, CSS, DNS, EOF, GUID, HTML, HTTP, HTTPS, ID, IP, JSON, LHS, QPS, RAM, RHS, RPC, SLA, SMTP, SQL, SSH, TCP, TLS, TTL, UDP, UI, UID, UUID, URI, URL, UTF8, VM, XML, XMPP, XSRF, XSS
+Naming/FileName:
+  Exclude:
+    - 'config/initializers/00-core_plugins.rb'
+    - 'config/initializers/10-patches.rb'
+    - 'config/initializers/20-mime_types.rb'
+    - 'config/initializers/30-redmine.rb'
+
+# Offense count: 10
+# Configuration parameters: EnforcedStyleForLeadingUnderscores.
+# SupportedStylesForLeadingUnderscores: disallowed, required, optional
+Naming/MemoizedInstanceVariableName:
+  Exclude:
+    - 'app/controllers/email_addresses_controller.rb'
+    - 'app/controllers/users_controller.rb'
+    - 'app/controllers/workflows_controller.rb'
+    - 'app/models/issue.rb'
+    - 'app/models/project.rb'
+    - 'app/models/query.rb'
+    - 'app/models/role.rb'
+    - 'lib/redmine/field_format.rb'
+    - 'lib/redmine/helpers/calendar.rb'
+    - 'lib/redmine/search.rb'
+
+# Offense count: 16
+# Configuration parameters: EnforcedStyle.
+# SupportedStyles: snake_case, camelCase
+Naming/MethodName:
+  Exclude:
+    - 'lib/redmine/export/pdf.rb'
+    - 'lib/redmine/scm/adapters/cvs_adapter.rb'
+    - 'lib/redmine/wiki_formatting/textile/redcloth3.rb'
+    - 'test/helpers/application_helper_test.rb'
+
+# Offense count: 30
+# Configuration parameters: NamePrefix, NamePrefixBlacklist, NameWhitelist, MethodDefinitionMacros.
+# NamePrefix: is_, has_, have_
+# NamePrefixBlacklist: is_, has_, have_
+# NameWhitelist: is_a?
+# MethodDefinitionMacros: define_method, define_singleton_method
+Naming/PredicateName:
+  Exclude:
+    - 'spec/**/*'
+    - 'app/controllers/repositories_controller.rb'
+    - 'app/models/attachment.rb'
+    - 'app/models/enumeration.rb'
+    - 'app/models/member.rb'
+    - 'app/models/query.rb'
+    - 'app/models/repository/mercurial.rb'
+    - 'app/models/role.rb'
+    - 'app/models/user.rb'
+    - 'app/models/wiki_page.rb'
+    - 'lib/redmine/export/pdf/issues_pdf_helper.rb'
+    - 'lib/redmine/mime_type.rb'
+    - 'lib/redmine/nested_set/traversing.rb'
+    - 'lib/redmine/scm/adapters/abstract_adapter.rb'
+    - 'lib/redmine/scm/adapters/cvs_adapter.rb'
+
+# Offense count: 4
+# Cop supports --auto-correct.
+# Configuration parameters: PreferredName.
+Naming/RescuedExceptionsVariableName:
+  Exclude:
+    - 'app/models/user.rb'
+    - 'lib/redmine/scm/adapters/abstract_adapter.rb'
+    - 'lib/redmine/scm/adapters/filesystem_adapter.rb'
+
+# Offense count: 60
+# Configuration parameters: MinNameLength, AllowNamesEndingInNumbers, AllowedNames, ForbiddenNames.
+# AllowedNames: io, id, to, by, on, in, at, ip, db
+Naming/UncommunicativeMethodParamName:
+  Enabled: false
+
+# Offense count: 8
+# Configuration parameters: EnforcedStyle.
+# SupportedStyles: snake_case, camelCase
+Naming/VariableName:
+  Exclude:
+    - 'lib/redmine/scm/adapters/cvs_adapter.rb'
+    - 'lib/redmine/wiki_formatting/textile/redcloth3.rb'
+
+# Offense count: 30
+# Configuration parameters: EnforcedStyle.
+# SupportedStyles: snake_case, normalcase, non_integer
+Naming/VariableNumber:
+  Exclude:
+    - 'test/functional/versions_controller_test.rb'
+    - 'test/helpers/application_helper_test.rb'
+    - 'test/unit/lib/redmine/export/pdf_test.rb'
+    - 'test/unit/lib/redmine/scm/adapters/git_adapter_test.rb'
+    - 'test/unit/lib/redmine/scm/adapters/mercurial_adapter_test.rb'
+    - 'test/unit/project_test.rb'
+
+# Offense count: 16
+# Cop supports --auto-correct.
+Rails/ActiveRecordAliases:
+  Exclude:
+    - 'app/controllers/enumerations_controller.rb'
+    - 'app/models/project.rb'
+    - 'test/functional/documents_controller_test.rb'
+    - 'test/functional/journals_controller_test.rb'
+    - 'test/functional/search_controller_test.rb'
+    - 'test/unit/document_category_test.rb'
+    - 'test/unit/document_test.rb'
+    - 'test/unit/enumeration_test.rb'
+    - 'test/unit/issue_subtasking_test.rb'
+    - 'test/unit/message_test.rb'
+
+# Offense count: 4
+# Configuration parameters: Include.
+# Include: app/models/**/*.rb
+Rails/ActiveRecordOverride:
+  Exclude:
+    - 'app/models/email_address.rb'
+    - 'app/models/issue.rb'
+    - 'app/models/journal.rb'
+    - 'app/models/member.rb'
+
+# Offense count: 64
+# Cop supports --auto-correct.
+Rails/ApplicationRecord:
+  Enabled: false
+
+# Offense count: 487
+# Cop supports --auto-correct.
+# Configuration parameters: Include.
+# Include: **/test/**/*
+Rails/AssertNot:
+  Enabled: false
+
+# Offense count: 14
+# Cop supports --auto-correct.
+# Configuration parameters: NilOrEmpty, NotPresent, UnlessPresent.
+Rails/Blank:
+  Exclude:
+    - 'app/controllers/application_controller.rb'
+    - 'app/controllers/context_menus_controller.rb'
+    - 'app/controllers/repositories_controller.rb'
+    - 'app/controllers/watchers_controller.rb'
+    - 'app/helpers/issues_helper.rb'
+    - 'app/helpers/queries_helper.rb'
+    - 'app/helpers/repositories_helper.rb'
+    - 'app/models/mailer.rb'
+    - 'app/models/query.rb'
+    - 'app/models/repository/git.rb'
+    - 'app/models/role.rb'
+    - 'lib/redmine/field_format.rb'
+    - 'lib/redmine/wiki_formatting/macros.rb'
+
+# Offense count: 57
+# Configuration parameters: Include.
+# Include: db/migrate/*.rb
+Rails/CreateTableWithTimestamps:
+  Enabled: false
+
+# Offense count: 71
+# Configuration parameters: EnforcedStyle.
+# SupportedStyles: strict, flexible
+Rails/Date:
+  Enabled: false
+
+# Offense count: 22
+# Cop supports --auto-correct.
+# Configuration parameters: EnforceForPrefixed.
+Rails/Delegate:
+  Exclude:
+    - 'app/models/changeset.rb'
+    - 'app/models/custom_field.rb'
+    - 'app/models/custom_field_enumeration.rb'
+    - 'app/models/custom_field_value.rb'
+    - 'app/models/custom_value.rb'
+    - 'app/models/group.rb'
+    - 'app/models/message.rb'
+    - 'app/models/repository.rb'
+    - 'app/models/repository/git.rb'
+    - 'app/models/time_entry_activity.rb'
+    - 'app/models/wiki_content.rb'
+    - 'app/models/wiki_content_version.rb'
+    - 'lib/redmine/menu_manager.rb'
+
+# Offense count: 576
+# Cop supports --auto-correct.
+# Configuration parameters: Whitelist.
+# Whitelist: find_by_sql
+Rails/DynamicFindBy:
+  Enabled: false
+
+# Offense count: 3
+# Configuration parameters: Include.
+# Include: app/**/*.rb, config/**/*.rb, lib/**/*.rb
+Rails/Exit:
+  Exclude:
+    - 'lib/**/*.rake'
+    - 'config/environment.rb'
+    - 'config/initializers/10-patches.rb'
+    - 'config/routes.rb'
+
+# Offense count: 39
+# Configuration parameters: EnforcedStyle.
+# SupportedStyles: slashes, arguments
+Rails/FilePath:
+  Enabled: false
+
+# Offense count: 17
+# Cop supports --auto-correct.
+# Configuration parameters: Include.
+# Include: app/models/**/*.rb
+Rails/FindBy:
+  Exclude:
+    - 'app/models/attachment.rb'
+    - 'app/models/enumeration.rb'
+    - 'app/models/issue_import.rb'
+    - 'app/models/repository.rb'
+    - 'app/models/repository/cvs.rb'
+    - 'app/models/repository/git.rb'
+    - 'app/models/repository/mercurial.rb'
+    - 'app/models/time_entry_query.rb'
+    - 'app/models/user.rb'
+    - 'app/models/wiki.rb'
+    - 'app/models/wiki_content_version.rb'
+
+# Offense count: 13
+# Cop supports --auto-correct.
+# Configuration parameters: Include.
+# Include: app/models/**/*.rb
+Rails/FindEach:
+  Exclude:
+    - 'app/models/auth_source.rb'
+    - 'app/models/group.rb'
+    - 'app/models/issue.rb'
+    - 'app/models/issue_status.rb'
+    - 'app/models/project.rb'
+    - 'app/models/query.rb'
+    - 'app/models/repository.rb'
+    - 'app/models/setting.rb'
+    - 'app/models/watcher.rb'
+    - 'app/models/wiki_page.rb'
+
+# Offense count: 16
+# Configuration parameters: Include.
+# Include: app/models/**/*.rb
+Rails/HasAndBelongsToMany:
+  Exclude:
+    - 'app/models/changeset.rb'
+    - 'app/models/custom_field.rb'
+    - 'app/models/group.rb'
+    - 'app/models/issue.rb'
+    - 'app/models/issue_custom_field.rb'
+    - 'app/models/project.rb'
+    - 'app/models/query.rb'
+    - 'app/models/role.rb'
+    - 'app/models/tracker.rb'
+    - 'app/models/user.rb'
+
+# Offense count: 10
+# Configuration parameters: Include.
+# Include: app/models/**/*.rb
+Rails/HasManyOrHasOneDependent:
+  Exclude:
+    - 'app/models/auth_source.rb'
+    - 'app/models/document_category.rb'
+    - 'app/models/issue_priority.rb'
+    - 'app/models/issue_status.rb'
+    - 'app/models/project.rb'
+    - 'app/models/time_entry_activity.rb'
+    - 'app/models/tracker.rb'
+    - 'app/models/wiki.rb'
+
+# Offense count: 6
+# Cop supports --auto-correct.
+# Configuration parameters: EnforcedStyle.
+# SupportedStyles: numeric, symbolic
+Rails/HttpStatus:
+  Exclude:
+    - 'app/controllers/mail_handler_controller.rb'
+    - 'app/controllers/sys_controller.rb'
+    - 'app/controllers/watchers_controller.rb'
+
+# Offense count: 29
+# Configuration parameters: Include.
+# Include: app/models/**/*.rb
+Rails/InverseOf:
+  Enabled: false
+
+# Offense count: 2
+# Configuration parameters: Include.
+# Include: app/controllers/**/*.rb
+Rails/LexicallyScopedActionFilter:
+  Exclude:
+    - 'app/controllers/projects_controller.rb'
+
+# Offense count: 1
+# Cop supports --auto-correct.
+Rails/LinkToBlank:
+  Exclude:
+    - 'app/helpers/avatars_helper.rb'
+
+# Offense count: 9
+# Configuration parameters: Include.
+# Include: app/**/*.rb, config/**/*.rb, db/**/*.rb, lib/**/*.rb
+Rails/Output:
+  Exclude:
+    - 'app/models/mail_handler.rb'
+    - 'config/routes.rb'
+    - 'lib/redmine/unified_diff.rb'
+
+# Offense count: 106
+Rails/OutputSafety:
+  Enabled: false
+
+# Offense count: 8
+# Cop supports --auto-correct.
+Rails/PluralizationGrammar:
+  Exclude:
+    - 'lib/redmine/helpers/time_report.rb'
+    - 'test/functional/gantts_controller_test.rb'
+    - 'test/unit/mailer_test.rb'
+    - 'test/unit/query_test.rb'
+
+# Offense count: 16
+# Cop supports --auto-correct.
+Rails/Presence:
+  Exclude:
+    - 'app/controllers/activities_controller.rb'
+    - 'app/helpers/application_helper.rb'
+    - 'app/models/repository.rb'
+    - 'config/initializers/10-patches.rb'
+    - 'config/initializers/30-redmine.rb'
+    - 'db/migrate/20110228000100_copy_repositories_log_encoding.rb'
+    - 'lib/redmine/codeset_util.rb'
+    - 'lib/redmine/i18n.rb'
+    - 'lib/redmine/scm/adapters/abstract_adapter.rb'
+    - 'lib/redmine/scm/adapters/cvs_adapter.rb'
+    - 'lib/redmine/scm/adapters/filesystem_adapter.rb'
+    - 'lib/redmine/scm/adapters/git_adapter.rb'
+    - 'lib/redmine/scm/adapters/mercurial_adapter.rb'
+    - 'lib/redmine/sort_criteria.rb'
+
+# Offense count: 67
+# Cop supports --auto-correct.
+# Configuration parameters: NotNilAndNotEmpty, NotBlank, UnlessBlank.
+Rails/Present:
+  Enabled: false
+
+# Offense count: 38
+# Cop supports --auto-correct.
+# Configuration parameters: Include.
+# Include: app/models/**/*.rb
+Rails/ReadWriteAttribute:
+  Enabled: false
+
+# Offense count: 2
+Rails/ReflectionClassName:
+  Exclude:
+    - 'lib/redmine/nested_set/issue_nested_set.rb'
+    - 'lib/redmine/nested_set/project_nested_set.rb'
+
+# Offense count: 13
+# Cop supports --auto-correct.
+# Configuration parameters: Include.
+# Include: **/test/**/*
+Rails/RefuteMethods:
+  Exclude:
+    - 'test/functional/projects_controller_test.rb'
+    - 'test/functional/wiki_controller_test.rb'
+    - 'test/integration/account_test.rb'
+    - 'test/integration/api_test/my_test.rb'
+    - 'test/unit/attachment_test.rb'
+    - 'test/unit/custom_field_test.rb'
+    - 'test/unit/lib/redmine/project_jump_box_test.rb'
+    - 'test/unit/mail_handler_test.rb'
+
+# Offense count: 354
+# Configuration parameters: Blacklist, Whitelist.
+# Blacklist: decrement!, decrement_counter, increment!, increment_counter, toggle!, touch, update_all, update_attribute, update_column, update_columns, update_counters
+Rails/SkipsModelValidations:
+  Enabled: false
+
+# Offense count: 103
+# Cop supports --auto-correct.
+# Configuration parameters: EnforcedStyle.
+# SupportedStyles: strict, flexible
+Rails/TimeZone:
+  Enabled: false
+
+# Offense count: 144
+# Cop supports --auto-correct.
+# Configuration parameters: Include.
+# Include: app/models/**/*.rb
+Rails/Validation:
+  Enabled: false
+
+# Offense count: 4
+Security/Eval:
+  Exclude:
+    - 'app/helpers/attachments_helper.rb'
+    - 'app/models/user.rb'
+    - 'config/initializers/00-core_plugins.rb'
+
+# Offense count: 1
+Security/Open:
+  Exclude:
+    - 'app/models/version.rb'
+
+# Offense count: 4
+# Cop supports --auto-correct.
+Security/YAMLLoad:
+  Exclude:
+    - 'Gemfile'
+    - 'app/models/setting.rb'
+    - 'lib/redmine/configuration.rb'
+
+# Offense count: 52
+# Configuration parameters: EnforcedStyle.
+# SupportedStyles: inline, group
+Style/AccessModifierDeclarations:
+  Enabled: false
+
+# Offense count: 25
+# Cop supports --auto-correct.
+# Configuration parameters: EnforcedStyle.
+# SupportedStyles: prefer_alias, prefer_alias_method
+Style/Alias:
+  Enabled: false
+
+# Offense count: 40
+# Cop supports --auto-correct.
+# Configuration parameters: EnforcedStyle.
+# SupportedStyles: always, conditionals
+Style/AndOr:
+  Enabled: false
+
+# Offense count: 3
+# Configuration parameters: AllowedChars.
+Style/AsciiComments:
+  Exclude:
+    - 'app/models/repository/git.rb'
+    - 'lib/redmine/search.rb'
+    - 'test/unit/mail_handler_test.rb'
+
+# Offense count: 1
+# Cop supports --auto-correct.
+# Configuration parameters: EnforcedStyle.
+# SupportedStyles: percent_q, bare_percent
+Style/BarePercentLiterals:
+  Exclude:
+    - 'test/integration/api_test/api_test.rb'
+
+# Offense count: 1
+# Cop supports --auto-correct.
+Style/BlockComments:
+  Exclude:
+    - 'lib/diff.rb'
+
+# Offense count: 147
+# Cop supports --auto-correct.
+# Configuration parameters: EnforcedStyle, ProceduralMethods, FunctionalMethods, IgnoredMethods, AllowBracesOnProceduralOneLiners.
+# SupportedStyles: line_count_based, semantic, braces_for_chaining, always_braces
+# ProceduralMethods: benchmark, bm, bmbm, create, each_with_object, measure, new, realtime, tap, with_object
+# FunctionalMethods: let, let!, subject, watch
+# IgnoredMethods: lambda, proc, it
+Style/BlockDelimiters:
+  Enabled: false
+
+# Offense count: 209
+# Cop supports --auto-correct.
+# Configuration parameters: EnforcedStyle.
+# SupportedStyles: braces, no_braces, context_dependent
+Style/BracesAroundHashParameters:
+  Enabled: false
+
+# Offense count: 2
+# Cop supports --auto-correct.
+Style/CharacterLiteral:
+  Exclude:
+    - 'lib/redmine/wiki_formatting.rb'
+    - 'lib/redmine/wiki_formatting/textile/redcloth3.rb'
+
+# Offense count: 79
+# Cop supports --auto-correct.
+# Configuration parameters: AutoCorrect, EnforcedStyle.
+# SupportedStyles: nested, compact
+Style/ClassAndModuleChildren:
+  Enabled: false
+
+# Offense count: 2
+# Cop supports --auto-correct.
+# Configuration parameters: EnforcedStyle.
+# SupportedStyles: is_a?, kind_of?
+Style/ClassCheck:
+  Exclude:
+    - 'lib/redmine/scm/adapters/cvs_adapter.rb'
+
+# Offense count: 1
+# Cop supports --auto-correct.
+Style/ClassMethods:
+  Exclude:
+    - 'lib/diff.rb'
+
+# Offense count: 48
+Style/ClassVars:
+  Enabled: false
+
+# Offense count: 34
+# Cop supports --auto-correct.
+Style/ColonMethodCall:
+  Exclude:
+    - 'Gemfile'
+    - 'app/controllers/admin_controller.rb'
+    - 'app/models/setting.rb'
+    - 'lib/redmine/configuration.rb'
+    - 'lib/redmine/export/pdf.rb'
+    - 'lib/redmine/scm/adapters/bazaar_adapter.rb'
+    - 'lib/redmine/wiki_formatting.rb'
+    - 'lib/redmine/wiki_formatting/textile/redcloth3.rb'
+    - 'test/test_helper.rb'
+    - 'test/unit/default_data_test.rb'
+    - 'test/unit/lib/redmine/export/pdf_test.rb'
+
+# Offense count: 1
+# Cop supports --auto-correct.
+# Configuration parameters: Keywords.
+# Keywords: TODO, FIXME, OPTIMIZE, HACK, REVIEW
+Style/CommentAnnotation:
+  Exclude:
+    - 'lib/redmine/scm/adapters/cvs_adapter.rb'
+
+# Offense count: 1
+Style/CommentedKeyword:
+  Exclude:
+    - 'app/models/repository/cvs.rb'
+
+# Offense count: 76
+# Cop supports --auto-correct.
+# Configuration parameters: EnforcedStyle, SingleLineConditionsOnly, IncludeTernaryExpressions.
+# SupportedStyles: assign_to_condition, assign_inside_condition
+Style/ConditionalAssignment:
+  Enabled: false
+
+# Offense count: 3
+# Cop supports --auto-correct.
+Style/DefWithParentheses:
+  Exclude:
+    - 'app/helpers/sort_helper.rb'
+    - 'lib/redmine/scm/adapters/cvs_adapter.rb'
+    - 'lib/redmine/unified_diff.rb'
+
+# Offense count: 626
+Style/Documentation:
+  Enabled: false
+
+# Offense count: 9
+Style/DoubleNegation:
+  Exclude:
+    - 'app/controllers/application_controller.rb'
+    - 'app/helpers/application_helper.rb'
+    - 'app/models/attachment.rb'
+    - 'app/models/issue_import.rb'
+    - 'app/models/mailer.rb'
+    - 'app/models/query.rb'
+    - 'app/models/user.rb'
+    - 'lib/redmine/sudo_mode.rb'
+
+# Offense count: 27
+# Cop supports --auto-correct.
+Style/EachWithObject:
+  Enabled: false
+
+# Offense count: 2
+# Cop supports --auto-correct.
+Style/EmptyCaseCondition:
+  Exclude:
+    - 'app/models/auth_source_ldap.rb'
+    - 'app/models/issue_priority.rb'
+
+# Offense count: 5
+# Cop supports --auto-correct.
+# Configuration parameters: EnforcedStyle.
+# SupportedStyles: empty, nil, both
+Style/EmptyElse:
+  Exclude:
+    - 'app/helpers/avatars_helper.rb'
+    - 'app/models/import.rb'
+    - 'app/models/mail_handler.rb'
+    - 'app/models/query.rb'
+
+# Offense count: 1
+# Cop supports --auto-correct.
+Style/EmptyLiteral:
+  Exclude:
+    - 'lib/redmine/scm/adapters/cvs_adapter.rb'
+
+# Offense count: 39
+# Cop supports --auto-correct.
+# Configuration parameters: EnforcedStyle.
+# SupportedStyles: compact, expanded
+Style/EmptyMethod:
+  Enabled: false
+
+# Offense count: 1
+Style/EvalWithLocation:
+  Exclude:
+    - 'app/helpers/attachments_helper.rb'
+
+# Offense count: 320
+# Cop supports --auto-correct.
+Style/ExpandPathArguments:
+  Enabled: false
+
+# Offense count: 3
+# Cop supports --auto-correct.
+# Configuration parameters: EnforcedStyle.
+# SupportedStyles: each, for
+Style/For:
+  Exclude:
+    - 'lib/redmine/export/pdf/issues_pdf_helper.rb'
+    - 'lib/redmine/export/pdf/wiki_pdf_helper.rb'
+
+# Offense count: 18
+# Cop supports --auto-correct.
+# Configuration parameters: EnforcedStyle.
+# SupportedStyles: format, sprintf, percent
+Style/FormatString:
+  Exclude:
+    - 'app/helpers/application_helper.rb'
+    - 'app/helpers/queries_helper.rb'
+    - 'app/models/query.rb'
+    - 'config/initializers/10-patches.rb'
+    - 'lib/generators/redmine_plugin_model/redmine_plugin_model_generator.rb'
+    - 'lib/redmine/export/csv.rb'
+    - 'lib/redmine/export/pdf/issues_pdf_helper.rb'
+    - 'lib/redmine/i18n.rb'
+    - 'lib/redmine/info.rb'
+
+# Offense count: 13
+# Configuration parameters: EnforcedStyle.
+# SupportedStyles: annotated, template, unannotated
+Style/FormatStringToken:
+  Exclude:
+    - 'app/models/query.rb'
+    - 'lib/redmine/i18n.rb'
+    - 'lib/redmine/info.rb'
+    - 'test/helpers/application_helper_test.rb'
+    - 'test/unit/lib/redmine/unified_diff_test.rb'
+
+# Offense count: 2
+# Cop supports --auto-correct.
+# Configuration parameters: EnforcedStyle.
+# SupportedStyles: always, never
+Style/FrozenStringLiteralComment:
+  Exclude:
+    - 'db/**/*.rb'
+    - 'Gemfile'
+    - 'Rakefile'
+    - 'config.ru'
+    - 'config/additional_environment.rb'
+    - 'foo.rb'
+
+# Offense count: 8
+# Configuration parameters: AllowedVariables.
+Style/GlobalVars:
+  Exclude:
+    - 'test/test_helper.rb'
+
+# Offense count: 298
+# Configuration parameters: MinBodyLength.
+Style/GuardClause:
+  Enabled: false
+
+# Offense count: 2
+# Cop supports --auto-correct.
+# Configuration parameters: EnforcedStyle, UseHashRocketsWithSymbolValues, PreferHashRocketsForNonAlnumEndingSymbols.
+# SupportedStyles: ruby19, hash_rockets, no_mixed_keys, ruby19_no_mixed_keys
+Style/HashSyntax:
+  Exclude:
+    - 'test/functional/issues_controller_test.rb'
+
+# Offense count: 7
+Style/IdenticalConditionalBranches:
+  Exclude:
+    - 'app/models/project.rb'
+    - 'config/initializers/10-patches.rb'
+    - 'lib/redmine/wiki_formatting/textile/redcloth3.rb'
+
+# Offense count: 30
+Style/IfInsideElse:
+  Enabled: false
+
+# Offense count: 536
+# Cop supports --auto-correct.
+Style/IfUnlessModifier:
+  Enabled: false
+
+# Offense count: 1
+Style/IfUnlessModifierOfIfUnless:
+  Exclude:
+    - 'app/models/attachment.rb'
+
+# Offense count: 1
+Style/IfWithSemicolon:
+  Exclude:
+    - 'lib/redmine/wiki_formatting/textile/redcloth3.rb'
+
+# Offense count: 23
+# Cop supports --auto-correct.
+# Configuration parameters: InverseMethods, InverseBlocks.
+Style/InverseMethods:
+  Enabled: false
+
+# Offense count: 118
+# Cop supports --auto-correct.
+# Configuration parameters: EnforcedStyle.
+# SupportedStyles: line_count_dependent, lambda, literal
+Style/Lambda:
+  Enabled: false
+
+# Offense count: 226
+# Cop supports --auto-correct.
+Style/LineEndConcatenation:
+  Enabled: false
+
+# Offense count: 17
+# Cop supports --auto-correct.
+# Configuration parameters: IgnoredMethods.
+Style/MethodCallWithoutArgsParentheses:
+  Exclude:
+    - 'app/models/repository/cvs.rb'
+    - 'lib/redmine/export/pdf.rb'
+    - 'lib/redmine/helpers/gantt.rb'
+    - 'lib/redmine/scm/adapters/cvs_adapter.rb'
+    - 'lib/redmine/scm/adapters/filesystem_adapter.rb'
+    - 'test/functional/repositories_git_controller_test.rb'
+    - 'test/unit/activity_test.rb'
+
+# Offense count: 1
+# Cop supports --auto-correct.
+# Configuration parameters: EnforcedStyle.
+# SupportedStyles: require_parentheses, require_no_parentheses, require_no_parentheses_except_multiline
+Style/MethodDefParentheses:
+  Exclude:
+    - 'lib/redmine/menu_manager.rb'
+
+# Offense count: 1
+Style/MethodMissingSuper:
+  Exclude:
+    - 'lib/redmine/views/builders/structure.rb'
+
+# Offense count: 1
+Style/MissingRespondToMissing:
+  Exclude:
+    - 'lib/redmine/views/builders/structure.rb'
+
+# Offense count: 1
+Style/MixinUsage:
+  Exclude:
+    - 'test/test_helper.rb'
+
+# Offense count: 1
+Style/MultilineBlockChain:
+  Exclude:
+    - 'lib/redmine/scm/adapters/mercurial_adapter.rb'
+
+# Offense count: 37
+# Cop supports --auto-correct.
+Style/MultilineIfModifier:
+  Enabled: false
+
+# Offense count: 20
+Style/MultilineTernaryOperator:
+  Exclude:
+    - 'app/controllers/workflows_controller.rb'
+    - 'app/helpers/issues_helper.rb'
+    - 'app/helpers/settings_helper.rb'
+    - 'app/models/issue_query.rb'
+    - 'app/models/issue_relation.rb'
+    - 'app/models/mail_handler.rb'
+    - 'app/models/message.rb'
+    - 'config/initializers/30-redmine.rb'
+    - 'lib/redmine/ciphering.rb'
+    - 'lib/redmine/scm/adapters/filesystem_adapter.rb'
+    - 'lib/redmine/scm/adapters/git_adapter.rb'
+    - 'lib/redmine/utils.rb'
+    - 'lib/redmine/wiki_formatting.rb'
+
+# Offense count: 9
+Style/MultipleComparison:
+  Exclude:
+    - 'app/helpers/application_helper.rb'
+    - 'app/helpers/workflows_helper.rb'
+    - 'app/models/import.rb'
+    - 'app/models/version.rb'
+    - 'app/models/wiki_page.rb'
+    - 'app/models/workflow_transition.rb'
+    - 'lib/redmine/scm/adapters/git_adapter.rb'
+
+# Offense count: 83
+# Cop supports --auto-correct.
+# Configuration parameters: EnforcedStyle.
+# SupportedStyles: literals, strict
+Style/MutableConstant:
+  Enabled: false
+
+# Offense count: 20
+# Cop supports --auto-correct.
+# Configuration parameters: EnforcedStyle.
+# SupportedStyles: both, prefix, postfix
+Style/NegatedIf:
+  Exclude:
+    - 'app/controllers/application_controller.rb'
+    - 'app/controllers/messages_controller.rb'
+    - 'app/helpers/repositories_helper.rb'
+    - 'app/models/attachment.rb'
+    - 'app/models/auth_source_ldap.rb'
+    - 'app/models/custom_field.rb'
+    - 'app/models/project.rb'
+    - 'app/models/repository/cvs.rb'
+    - 'lib/diff.rb'
+    - 'lib/redmine/codeset_util.rb'
+    - 'lib/redmine/scm/adapters/bazaar_adapter.rb'
+    - 'lib/redmine/thumbnail.rb'
+
+# Offense count: 1
+# Cop supports --auto-correct.
+Style/NegatedWhile:
+  Exclude:
+    - 'app/helpers/application_helper.rb'
+
+# Offense count: 2
+# Cop supports --auto-correct.
+# Configuration parameters: Whitelist.
+# Whitelist: be, be_a, be_an, be_between, be_falsey, be_kind_of, be_instance_of, be_truthy, be_within, eq, eql, end_with, include, match, raise_error, respond_to, start_with
+Style/NestedParenthesizedCalls:
+  Exclude:
+    - 'lib/redmine/views/labelled_form_builder.rb'
+    - 'test/unit/mail_handler_test.rb'
+
+# Offense count: 7
+Style/NestedTernaryOperator:
+  Exclude:
+    - 'app/helpers/issues_helper.rb'
+    - 'app/helpers/queries_helper.rb'
+    - 'app/helpers/versions_helper.rb'
+    - 'app/models/issue_relation.rb'
+    - 'app/models/journal.rb'
+    - 'lib/redmine/i18n.rb'
+
+# Offense count: 40
+# Cop supports --auto-correct.
+# Configuration parameters: EnforcedStyle, MinBodyLength.
+# SupportedStyles: skip_modifier_ifs, always
+Style/Next:
+  Enabled: false
+
+# Offense count: 4
+# Cop supports --auto-correct.
+Style/Not:
+  Exclude:
+    - 'db/migrate/096_add_commit_access_permission.rb'
+    - 'lib/redmine/scm/adapters/filesystem_adapter.rb'
+    - 'lib/redmine/wiki_formatting/textile/redcloth3.rb'
+
+# Offense count: 3
+# Cop supports --auto-correct.
+# Configuration parameters: EnforcedOctalStyle.
+# SupportedOctalStyles: zero_with_o, zero_only
+Style/NumericLiteralPrefix:
+  Exclude:
+    - 'test/unit/user_test.rb'
+
+# Offense count: 20
+# Cop supports --auto-correct.
+# Configuration parameters: MinDigits, Strict.
+Style/NumericLiterals:
+  Exclude:
+    - 'db/schema.rb'
+    - 'lib/redmine/database.rb'
+    - 'test/functional/issues_controller_test.rb'
+    - 'test/functional/messages_controller_test.rb'
+    - 'test/helpers/application_helper_test.rb'
+    - 'test/unit/lib/redmine/i18n_test.rb'
+    - 'test/unit/lib/redmine/plugin_test.rb'
+    - 'test/unit/lib/redmine/scm/adapters/bazaar_adapter_test.rb'
+    - 'test/unit/mail_handler_test.rb'
+    - 'test/unit/search_test.rb'
+    - 'test/unit/time_entry_test.rb'
+
+# Offense count: 151
+# Cop supports --auto-correct.
+# Configuration parameters: AutoCorrect, EnforcedStyle, IgnoredMethods.
+# SupportedStyles: predicate, comparison
+Style/NumericPredicate:
+  Enabled: false
+
+# Offense count: 1
+# Cop supports --auto-correct.
+Style/OneLineConditional:
+  Exclude:
+    - 'lib/redmine/wiki_formatting/textile/redcloth3.rb'
+
+# Offense count: 5
+# Cop supports --auto-correct.
+Style/OrAssignment:
+  Exclude:
+    - 'app/helpers/sort_helper.rb'
+    - 'app/models/repository/cvs.rb'
+    - 'app/models/user.rb'
+    - 'lib/redmine/helpers/diff.rb'
+
+# Offense count: 72
+# Cop supports --auto-correct.
+Style/ParallelAssignment:
+  Enabled: false
+
+# Offense count: 23
+# Cop supports --auto-correct.
+# Configuration parameters: AllowSafeAssignment, AllowInMultilineConditions.
+Style/ParenthesesAroundCondition:
+  Exclude:
+    - 'app/controllers/context_menus_controller.rb'
+    - 'app/helpers/application_helper.rb'
+    - 'app/helpers/issues_helper.rb'
+    - 'app/models/project.rb'
+    - 'app/models/query.rb'
+    - 'app/models/repository/bazaar.rb'
+    - 'app/models/repository/subversion.rb'
+    - 'app/models/time_entry.rb'
+    - 'app/models/wiki_page.rb'
+    - 'lib/diff.rb'
+    - 'lib/redmine/helpers/gantt.rb'
+    - 'lib/redmine/scm/adapters/cvs_adapter.rb'
+    - 'lib/redmine/scm/adapters/git_adapter.rb'
+    - 'lib/redmine/wiki_formatting.rb'
+    - 'lib/redmine/wiki_formatting/textile/redcloth3.rb'
+
+# Offense count: 318
+# Cop supports --auto-correct.
+# Configuration parameters: PreferredDelimiters.
+Style/PercentLiteralDelimiters:
+  Enabled: false
+
+# Offense count: 213
+# Cop supports --auto-correct.
+Style/PerlBackrefs:
+  Enabled: false
+
+# Offense count: 50
+# Cop supports --auto-correct.
+# Configuration parameters: EnforcedStyle.
+# SupportedStyles: short, verbose
+Style/PreferredHashMethods:
+  Enabled: false
+
+# Offense count: 74
+# Cop supports --auto-correct.
+Style/Proc:
+  Enabled: false
+
+# Offense count: 33
+# Cop supports --auto-correct.
+# Configuration parameters: EnforcedStyle.
+# SupportedStyles: compact, exploded
+Style/RaiseArgs:
+  Exclude:
+    - 'app/models/auth_source_ldap.rb'
+    - 'app/models/issue_query.rb'
+    - 'app/models/mail_handler.rb'
+    - 'app/models/mailer.rb'
+    - 'app/models/query.rb'
+    - 'app/models/tracker.rb'
+    - 'app/models/user.rb'
+    - 'app/models/workflow_rule.rb'
+    - 'lib/redmine/access_control.rb'
+    - 'lib/redmine/default_data/loader.rb'
+    - 'lib/redmine/plugin.rb'
+    - 'lib/redmine/scm/adapters/abstract_adapter.rb'
+    - 'lib/redmine/scm/adapters/filesystem_adapter.rb'
+    - 'lib/redmine/sort_criteria.rb'
+
+# Offense count: 1
+# Cop supports --auto-correct.
+Style/RedundantBegin:
+  Exclude:
+    - 'lib/redmine/scm/adapters/git_adapter.rb'
+
+# Offense count: 5
+# Cop supports --auto-correct.
+Style/RedundantConditional:
+  Exclude:
+    - 'app/controllers/workflows_controller.rb'
+    - 'app/helpers/application_helper.rb'
+    - 'app/helpers/issues_helper.rb'
+    - 'app/models/enumeration.rb'
+    - 'lib/redmine/field_format.rb'
+
+# Offense count: 27
+# Cop supports --auto-correct.
+Style/RedundantParentheses:
+  Enabled: false
+
+# Offense count: 67
+# Cop supports --auto-correct.
+# Configuration parameters: AllowMultipleReturnValues.
+Style/RedundantReturn:
+  Enabled: false
+
+# Offense count: 250
+# Cop supports --auto-correct.
+Style/RedundantSelf:
+  Enabled: false
+
+# Offense count: 158
+# Cop supports --auto-correct.
+# Configuration parameters: EnforcedStyle, AllowInnerSlashes.
+# SupportedStyles: slashes, percent_r, mixed
+Style/RegexpLiteral:
+  Enabled: false
+
+# Offense count: 20
+# Cop supports --auto-correct.
+Style/RescueModifier:
+  Exclude:
+    - 'app/controllers/application_controller.rb'
+    - 'app/controllers/attachments_controller.rb'
+    - 'app/controllers/imports_controller.rb'
+    - 'app/controllers/watchers_controller.rb'
+    - 'app/helpers/avatars_helper.rb'
+    - 'app/models/custom_field.rb'
+    - 'app/models/import.rb'
+    - 'app/models/query.rb'
+    - 'app/models/repository.rb'
+    - 'lib/redmine/export/csv.rb'
+    - 'lib/redmine/field_format.rb'
+    - 'lib/redmine/scm/adapters/mercurial_adapter.rb'
+    - 'lib/redmine/search.rb'
+    - 'lib/redmine/wiki_formatting.rb'
+    - 'test/unit/lib/redmine/wiki_formatting/markdown_formatter_test.rb'
+
+# Offense count: 56
+# Cop supports --auto-correct.
+# Configuration parameters: EnforcedStyle.
+# SupportedStyles: implicit, explicit
+Style/RescueStandardError:
+  Enabled: false
+
+# Offense count: 135
+# Cop supports --auto-correct.
+# Configuration parameters: ConvertCodeThatCanStartToReturnNil, Whitelist.
+# Whitelist: present?, blank?, presence, try, try!
+Style/SafeNavigation:
+  Enabled: false
+
+# Offense count: 28
+# Cop supports --auto-correct.
+Style/SelfAssignment:
+  Exclude:
+    - 'app/controllers/repositories_controller.rb'
+    - 'app/helpers/application_helper.rb'
+    - 'app/helpers/reports_helper.rb'
+    - 'app/models/auth_source_ldap.rb'
+    - 'app/models/project.rb'
+    - 'app/models/query.rb'
+    - 'app/models/repository/cvs.rb'
+    - 'lib/redmine/helpers/calendar.rb'
+    - 'lib/redmine/helpers/gantt.rb'
+    - 'lib/redmine/helpers/time_report.rb'
+
+# Offense count: 37
+# Cop supports --auto-correct.
+# Configuration parameters: AllowAsExpressionSeparator.
+Style/Semicolon:
+  Enabled: false
+
+# Offense count: 59
+# Cop supports --auto-correct.
+# Configuration parameters: AllowIfMethodIsEmpty.
+Style/SingleLineMethods:
+  Enabled: false
+
+# Offense count: 63
+# Cop supports --auto-correct.
+# Configuration parameters: .
+# SupportedStyles: use_perl_names, use_english_names
+Style/SpecialGlobalVars:
+  EnforcedStyle: use_perl_names
+
+# Offense count: 2
+# Cop supports --auto-correct.
+Style/StderrPuts:
+  Exclude:
+    - 'config/environment.rb'
+    - 'config/initializers/10-patches.rb'
+
+# Offense count: 6361
+# Cop supports --auto-correct.
+# Configuration parameters: EnforcedStyle, ConsistentQuotesInMultiline.
+# SupportedStyles: single_quotes, double_quotes
+Style/StringLiterals:
+  Enabled: false
+
+# Offense count: 16
+# Cop supports --auto-correct.
+# Configuration parameters: EnforcedStyle.
+# SupportedStyles: single_quotes, double_quotes
+Style/StringLiteralsInInterpolation:
+  Exclude:
+    - 'app/helpers/issues_helper.rb'
+    - 'app/models/issue_query.rb'
+    - 'config/environment.rb'
+    - 'lib/redmine/scm/adapters/cvs_adapter.rb'
+    - 'lib/redmine/wiki_formatting.rb'
+    - 'lib/redmine/wiki_formatting/textile/redcloth3.rb'
+    - 'test/unit/member_test.rb'
+
+# Offense count: 2
+Style/StructInheritance:
+  Exclude:
+    - 'lib/redmine/notifiable.rb'
+    - 'lib/redmine/sudo_mode.rb'
+
+# Offense count: 317
+# Cop supports --auto-correct.
+# Configuration parameters: MinSize.
+# SupportedStyles: percent, brackets
+Style/SymbolArray:
+  EnforcedStyle: brackets
+
+# Offense count: 75
+# Cop supports --auto-correct.
+# Configuration parameters: IgnoredMethods.
+# IgnoredMethods: respond_to, define_method
+Style/SymbolProc:
+  Enabled: false
+
+# Offense count: 44
+# Cop supports --auto-correct.
+# Configuration parameters: EnforcedStyle, AllowSafeAssignment.
+# SupportedStyles: require_parentheses, require_no_parentheses, require_parentheses_when_complex
+Style/TernaryParentheses:
+  Enabled: false
+
+# Offense count: 1
+# Cop supports --auto-correct.
+# Configuration parameters: EnforcedStyleForMultiline.
+# SupportedStylesForMultiline: comma, consistent_comma, no_comma
+Style/TrailingCommaInArguments:
+  Exclude:
+    - 'test/unit/issue_test.rb'
+
+# Offense count: 31
+# Cop supports --auto-correct.
+# Configuration parameters: EnforcedStyleForMultiline.
+# SupportedStylesForMultiline: comma, consistent_comma, no_comma
+Style/TrailingCommaInArrayLiteral:
+  Exclude:
+    - 'app/models/time_entry_query.rb'
+    - 'test/functional/repositories_git_controller_test.rb'
+    - 'test/functional/repositories_mercurial_controller_test.rb'
+    - 'test/helpers/application_helper_test.rb'
+    - 'test/unit/attachment_test.rb'
+    - 'test/unit/custom_field_test.rb'
+    - 'test/unit/lib/redmine/menu_manager/menu_helper_test.rb'
+    - 'test/unit/lib/redmine/scm/adapters/git_adapter_test.rb'
+    - 'test/unit/lib/redmine/scm/adapters/mercurial_adapter_test.rb'
+    - 'test/unit/repository_git_test.rb'
+
+# Offense count: 71
+# Cop supports --auto-correct.
+# Configuration parameters: EnforcedStyleForMultiline.
+# SupportedStylesForMultiline: comma, consistent_comma, no_comma
+Style/TrailingCommaInHashLiteral:
+  Enabled: false
+
+# Offense count: 11
+# Cop supports --auto-correct.
+# Configuration parameters: ExactNameMatch, AllowPredicates, AllowDSLWriters, IgnoreClassMethods, Whitelist.
+# Whitelist: to_ary, to_a, to_c, to_enum, to_h, to_hash, to_i, to_int, to_io, to_open, to_path, to_proc, to_r, to_regexp, to_str, to_s, to_sym
+Style/TrivialAccessors:
+  Exclude:
+    - 'app/models/issue.rb'
+    - 'app/models/journal.rb'
+    - 'app/models/query.rb'
+    - 'lib/redmine/access_control.rb'
+    - 'lib/redmine/scm/adapters/abstract_adapter.rb'
+    - 'lib/redmine/scm/adapters/cvs_adapter.rb'
+    - 'lib/redmine/scm/adapters/filesystem_adapter.rb'
+    - 'lib/redmine/scm/adapters/git_adapter.rb'
+    - 'lib/redmine/scm/adapters/mercurial_adapter.rb'
+
+# Offense count: 5
+# Cop supports --auto-correct.
+Style/UnlessElse:
+  Exclude:
+    - 'app/controllers/auth_sources_controller.rb'
+    - 'app/controllers/trackers_controller.rb'
+    - 'lib/redmine/scm/adapters/abstract_adapter.rb'
+    - 'lib/redmine/unified_diff.rb'
+    - 'lib/redmine/wiki_formatting/textile/redcloth3.rb'
+
+# Offense count: 7
+# Cop supports --auto-correct.
+Style/UnneededCondition:
+  Exclude:
+    - 'app/controllers/messages_controller.rb'
+    - 'app/controllers/previews_controller.rb'
+    - 'app/models/issue.rb'
+    - 'app/models/setting.rb'
+
+# Offense count: 24
+# Cop supports --auto-correct.
+Style/UnneededInterpolation:
+  Exclude:
+    - 'app/helpers/calendars_helper.rb'
+    - 'app/helpers/my_helper.rb'
+    - 'app/helpers/queries_helper.rb'
+    - 'app/models/query.rb'
+    - 'app/views/common/feed.atom.builder'
+    - 'app/views/journals/index.builder'
+    - 'lib/redmine/helpers/time_report.rb'
+    - 'lib/redmine/scm/adapters/git_adapter.rb'
+    - 'lib/redmine/scm/adapters/subversion_adapter.rb'
+    - 'lib/redmine/wiki_formatting.rb'
+    - 'test/functional/versions_controller_test.rb'
+    - 'test/functional/watchers_controller_test.rb'
+    - 'test/unit/repository_mercurial_test.rb'
+
+# Offense count: 13
+# Cop supports --auto-correct.
+Style/UnneededSort:
+  Exclude:
+    - 'app/models/import.rb'
+    - 'lib/redmine/scm/adapters/abstract_adapter.rb'
+    - 'test/functional/issues_controller_test.rb'
+    - 'test/unit/member_test.rb'
+    - 'test/unit/repository_git_test.rb'
+
+# Offense count: 1
+# Cop supports --auto-correct.
+Style/VariableInterpolation:
+  Exclude:
+    - 'lib/redmine/configuration.rb'
+
+# Offense count: 10
+# Cop supports --auto-correct.
+Style/WhenThen:
+  Exclude:
+    - 'app/helpers/application_helper.rb'
+    - 'app/models/issue_query.rb'
+    - 'app/models/role.rb'
+    - 'lib/redmine/views/builders.rb'
+
+# Offense count: 12
+# Cop supports --auto-correct.
+Style/WhileUntilModifier:
+  Exclude:
+    - 'app/helpers/issues_helper.rb'
+    - 'app/helpers/queries_helper.rb'
+    - 'app/models/attachment.rb'
+    - 'app/models/project.rb'
+    - 'lib/redmine/export/pdf/issues_pdf_helper.rb'
+    - 'lib/redmine/unified_diff.rb'
+    - 'lib/redmine/utils.rb'
+    - 'lib/redmine/wiki_formatting/textile/redcloth3.rb'
+    - 'test/application_system_test_case.rb'
+
+# Offense count: 391
+# Cop supports --auto-correct.
+# Configuration parameters: EnforcedStyle, MinSize, WordRegex.
+# SupportedStyles: percent, brackets
+Style/WordArray:
+  Enabled: false
+
+# Offense count: 2
+# Cop supports --auto-correct.
+# Configuration parameters: EnforcedStyle.
+# SupportedStyles: forbid_for_all_comparison_operators, forbid_for_equality_operators_only, require_for_all_comparison_operators, require_for_equality_operators_only
+Style/YodaCondition:
+  Exclude:
+    - 'lib/redmine/scm/adapters/abstract_adapter.rb'
+
+# Offense count: 12
+# Cop supports --auto-correct.
+Style/ZeroLengthPredicate:
+  Exclude:
+    - 'app/models/import.rb'
+    - 'app/models/issue.rb'
+    - 'app/models/mail_handler.rb'
+    - 'app/models/user.rb'
+    - 'lib/redmine/field_format.rb'
+    - 'lib/redmine/unified_diff.rb'
+    - 'lib/redmine/wiki_formatting/macros.rb'
+    - 'test/functional/custom_fields_controller_test.rb'
+    - 'test/object_helpers.rb'
+    - 'test/unit/activity_test.rb'
+    - 'test/unit/custom_field_test.rb'
+
+# Offense count: 7893
+# Cop supports --auto-correct.
+# Configuration parameters: AutoCorrect, AllowHeredoc, AllowURI, URISchemes, IgnoreCopDirectives, IgnoredPatterns.
+# URISchemes: http, https
+Metrics/LineLength:
+  Max: 461
diff --git a/Gemfile b/Gemfile
index 8b3c43cfb875f0cad5497067b8ed00d4ef0e6165..388abdcc862eabb0e7da3c4d1d3786bd2c3db7dd 100644 (file)
--- a/Gemfile
+++ b/Gemfile
@@ -84,6 +84,8 @@ group :test do
   gem 'puma', '~> 3.7'
   gem "capybara", '~> 2.13'
   gem "selenium-webdriver"
+  # RuboCop
+  gem 'rubocop', '~> 0.71.0'
 end
 
 local_gemfile = File.join(File.dirname(__FILE__), "Gemfile.local")
index edd39be4eb1f058c3a94c0e85ce3c7df112e613c..12a3167c09f4ba55ccd6d7f99d8341f231404cb4 100644 (file)
@@ -71,3 +71,12 @@ https://sites.google.com/a/chromium.org/chromedriver/
 
 Capybara tests can be run with:
 `rails test:system`
+
+Running RuboCop, a static code analyzer
+=======================================
+
+RuboCop allows you to find out if the code violates the Ruby Style Guide.
+Checking with RuboCop is recommended when you write patches.
+
+You can run RuboCop with:
+`bundle exec rubocop [file ...]`