mirror of
https://github.com/redmine/redmine.git
synced 2025-10-26 07:46:17 +01:00
git-svn-id: https://svn.redmine.org/redmine/trunk@23694 e93f8b46-1217-0410-a6f0-8f06a7374b81
307 lines
6.3 KiB
YAML
307 lines
6.3 KiB
YAML
inherit_from: .rubocop_todo.yml
|
|
|
|
AllCops:
|
|
TargetRubyVersion: 3.2
|
|
TargetRailsVersion: 7.2
|
|
|
|
NewCops: enable
|
|
|
|
Exclude:
|
|
- '**/vendor/**/*'
|
|
- '**/tmp/**/*'
|
|
- '**/bin/**/*'
|
|
- '**/plugins/**/*'
|
|
- '**/extra/**/*'
|
|
- '**/lib/generators/**/templates/*'
|
|
- '**/lib/tasks/**/*'
|
|
- '**/files/**/*'
|
|
- 'db/schema.rb'
|
|
|
|
plugins:
|
|
- rubocop-performance
|
|
- rubocop-rails
|
|
|
|
# Rules for Redmine
|
|
|
|
Bundler/OrderedGems:
|
|
Enabled: false
|
|
|
|
Layout/CaseIndentation:
|
|
Exclude:
|
|
- 'config/initializers/10-patches.rb'
|
|
|
|
Layout/ClosingParenthesisIndentation:
|
|
Exclude:
|
|
- 'lib/redmine/wiki_formatting/textile/redcloth3.rb'
|
|
|
|
Layout/EmptyLinesAroundAccessModifier:
|
|
Exclude:
|
|
- 'config/initializers/10-patches.rb'
|
|
|
|
Layout/EmptyLineBetweenDefs:
|
|
AllowAdjacentOneLineDefs: true
|
|
|
|
Layout/FirstHashElementIndentation:
|
|
Exclude:
|
|
- 'lib/redmine/wiki_formatting/textile/redcloth3.rb'
|
|
|
|
Layout/LineLength:
|
|
AllowedPatterns: ['\A\s+test \".+\" do\z', '\A\s*\#']
|
|
Exclude:
|
|
- 'db/migrate/0*.rb'
|
|
- 'db/migrate/1*.rb'
|
|
- 'db/migrate/201*.rb'
|
|
- 'db/migrate/20200*.rb'
|
|
- 'lib/redmine/wiki_formatting/textile/redcloth3.rb'
|
|
|
|
Layout/RescueEnsureAlignment:
|
|
Exclude:
|
|
- 'db/migrate/085_add_role_tracker_old_status_index_to_workflows.rb'
|
|
|
|
Layout/SpaceAroundEqualsInParameterDefault:
|
|
Enabled: false
|
|
|
|
Layout/SpaceBeforeSemicolon:
|
|
Exclude:
|
|
- 'config/initializers/10-patches.rb'
|
|
|
|
Layout/SpaceBeforeBlockBraces:
|
|
# "space" is used more than "no_space".
|
|
# But "no_space" is more natural in one liner.
|
|
# str = path.to_s.split(%r{[/\\]}).select{|p| !p.blank?}.join("/")
|
|
Enabled: false
|
|
|
|
Layout/SpaceBeforeFirstArg:
|
|
Enabled: false
|
|
|
|
Layout/SpaceInsideBlockBraces:
|
|
Enabled: false
|
|
|
|
Layout/SpaceInsideHashLiteralBraces:
|
|
Enabled: false
|
|
|
|
Lint/MissingSuper:
|
|
Exclude:
|
|
- 'lib/redmine/views/builders/structure.rb'
|
|
|
|
Lint/SuppressedException:
|
|
AllowComments: true
|
|
|
|
Lint/UselessConstantScoping:
|
|
Exclude:
|
|
- 'app/controllers/repositories_controller.rb'
|
|
- 'app/models/mail_handler.rb'
|
|
- 'lib/redmine/acts/mentionable.rb'
|
|
- 'lib/redmine/asset_path.rb'
|
|
- 'lib/redmine/wiki_formatting/textile/redcloth3.rb'
|
|
|
|
Layout/LineContinuationLeadingSpace:
|
|
Enabled: false
|
|
|
|
Layout/TrailingWhitespace:
|
|
AllowInHeredoc: true
|
|
|
|
Metrics:
|
|
Enabled: false
|
|
|
|
Naming/AccessorMethodName:
|
|
Enabled: false
|
|
|
|
Naming/VariableNumber:
|
|
CheckMethodNames: false
|
|
CheckSymbols: false
|
|
|
|
Naming/BinaryOperatorParameterName:
|
|
Enabled: false
|
|
|
|
Naming/PredicateName:
|
|
Enabled: false
|
|
|
|
Performance/CollectionLiteralInLoop:
|
|
MinSize: 4
|
|
|
|
Rails/ActionControllerFlashBeforeRender:
|
|
# False positive in actions where `redirect_to_referer_or` is used
|
|
Enabled: false
|
|
|
|
Rails/ActionControllerTestCase:
|
|
Enabled: false
|
|
|
|
Rails/ActionOrder:
|
|
Enabled: false
|
|
|
|
Rails/ActiveSupportOnLoad:
|
|
Exclude:
|
|
# TODO: Need to check the impact on plugins. Disable for now.
|
|
- 'lib/redmine/preparation.rb'
|
|
|
|
Rails/ApplicationRecord:
|
|
Exclude:
|
|
- 'db/migrate/0*.rb'
|
|
|
|
Rails/BulkChangeTable:
|
|
Exclude:
|
|
- 'db/migrate/20120714122200_add_workflows_rule_fields.rb'
|
|
- 'db/migrate/20130217094251_remove_issues_default_fk_values.rb'
|
|
- 'db/migrate/20131214094309_remove_custom_fields_min_max_length_default_values.rb'
|
|
- 'db/migrate/20190510070108_add_unique_id_to_import_items.rb'
|
|
- 'db/migrate/20200826153402_add_totp_to_user.rb'
|
|
- 'db/migrate/20221012135202_add_index_to_custom_values.rb'
|
|
|
|
Rails/CompactBlank:
|
|
Enabled: false
|
|
|
|
Rails/Delegate:
|
|
Enabled: false
|
|
|
|
Rails/EnvironmentVariableAccess:
|
|
Enabled: false
|
|
|
|
Rails/FilePath:
|
|
Enabled: false
|
|
|
|
Rails/FindEach:
|
|
Enabled: false
|
|
|
|
Rails/HelperInstanceVariable:
|
|
Enabled: false
|
|
|
|
Rails/Pluck:
|
|
Exclude:
|
|
# `pluck` is not available in Gemfile
|
|
- 'Gemfile'
|
|
|
|
Rails/RootPathnameMethods:
|
|
Enabled: false
|
|
|
|
Rails/SkipsModelValidations:
|
|
Enabled: false
|
|
|
|
Rails/SquishedSQLHeredocs:
|
|
Enabled: false
|
|
|
|
Rails/ThreeStateBooleanColumn:
|
|
Exclude:
|
|
- 'db/migrate/009_add_hide_mail_pref.rb'
|
|
- 'db/migrate/059_add_roles_assignable.rb'
|
|
- 'db/migrate/082_add_messages_locked.rb'
|
|
- 'db/migrate/086_add_custom_fields_searchable.rb'
|
|
- 'db/migrate/102_add_custom_fields_editable.rb'
|
|
- 'db/migrate/20120115143100_add_repositories_is_default.rb'
|
|
- 'db/migrate/20120127174243_add_custom_fields_multiple.rb'
|
|
- 'db/migrate/20210704125704_add_twofa_required_to_groups.rb'
|
|
|
|
Rails/WhereExists:
|
|
Enabled: false
|
|
|
|
Style/AsciiComments:
|
|
Exclude:
|
|
# Copyright credit has non ascii character.
|
|
# We can not change nor remove it.
|
|
- 'app/models/repository/git.rb'
|
|
|
|
Style/BarePercentLiterals:
|
|
Enabled: false
|
|
|
|
Style/BlockComments:
|
|
Exclude:
|
|
- 'lib/redmine/string_array_diff/diff.rb'
|
|
- 'lib/redmine/string_array_diff/diffable.rb'
|
|
|
|
Style/BlockDelimiters:
|
|
Exclude:
|
|
- 'db/migrate/007_create_journals.rb'
|
|
- 'lib/redmine/string_array_diff/diff.rb'
|
|
- 'lib/redmine/string_array_diff/diffable.rb'
|
|
|
|
Style/FetchEnvVar:
|
|
Enabled: false
|
|
|
|
Style/EmptyElse:
|
|
EnforcedStyle: empty
|
|
|
|
Style/FormatString:
|
|
Enabled: false
|
|
|
|
Style/FormatStringToken:
|
|
Enabled: false
|
|
|
|
Style/FrozenStringLiteralComment:
|
|
EnforcedStyle: always
|
|
Exclude:
|
|
- 'db/**/*.rb'
|
|
- 'Gemfile'
|
|
- 'Rakefile'
|
|
- 'config.ru'
|
|
- 'config/additional_environment.rb'
|
|
|
|
Style/GlobalStdStream:
|
|
Enabled: false
|
|
|
|
Style/HashSyntax:
|
|
EnforcedStyle: no_mixed_keys
|
|
EnforcedShorthandSyntax: either
|
|
|
|
Style/HashEachMethods:
|
|
Exclude:
|
|
- 'db/migrate/072_add_enumerations_position.rb'
|
|
- 'db/migrate/078_add_custom_fields_position.rb'
|
|
|
|
Style/IdenticalConditionalBranches:
|
|
Exclude:
|
|
- 'config/initializers/10-patches.rb'
|
|
- 'lib/redmine/wiki_formatting/textile/redcloth3.rb'
|
|
|
|
Style/InverseMethods:
|
|
Enabled: false
|
|
|
|
Style/MultipleComparison:
|
|
Enabled: true
|
|
ComparisonsThreshold: 3
|
|
|
|
Style/NegatedIfElseCondition:
|
|
Enabled: false
|
|
|
|
Style/NumericPredicate:
|
|
Enabled: false
|
|
|
|
Style/PerlBackrefs:
|
|
Enabled: false
|
|
|
|
Style/RaiseArgs:
|
|
Enabled: false
|
|
|
|
Style/RedundantCondition:
|
|
Enabled: false
|
|
|
|
Style/RedundantConstantBase:
|
|
Exclude:
|
|
- 'config/environments/production.rb'
|
|
|
|
Style/RedundantParentheses:
|
|
Enabled: false
|
|
|
|
Style/Semicolon:
|
|
Enabled: false
|
|
|
|
Style/SlicingWithRange:
|
|
Enabled: false
|
|
|
|
Style/SoleNestedConditional:
|
|
Enabled: false
|
|
|
|
Style/StringLiteralsInInterpolation:
|
|
Enabled: false
|
|
|
|
Style/TernaryParentheses:
|
|
Enabled: false
|
|
|
|
Style/TrailingCommaInArrayLiteral:
|
|
Enabled: false
|
|
|
|
Style/TrailingCommaInHashLiteral:
|
|
Enabled: false
|
|
|
|
Style/YodaExpression:
|
|
Enabled: false
|