Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
41 changes: 41 additions & 0 deletions .rubocop.yml
Original file line number Diff line number Diff line change
Expand Up @@ -54,6 +54,18 @@ Style/FetchEnvVar:
Style/HashSyntax:
EnforcedShorthandSyntax: never

########## Naming Rules

# 76 methods in this gem use `is_`/`has_`/`have_` prefixes. These are part of the public API
# and renaming them would be a breaking change for consumers.
Naming/PredicatePrefix:
Enabled: false

# Many flagged methods are part of Fastlane's Action API contract (e.g. `self.run`)
# or are public API methods that cannot be renamed without breaking consumers.
Naming/PredicateMethod:
Enabled: false

########## Gemspec Rules

# This was turned on by default after updating Rubocop to `1.50.2`. We want to disable this for now because
Expand All @@ -62,6 +74,23 @@ Style/HashSyntax:
Gemspec/RequireMFA:
Enabled: false

# Dev dependencies are defined in the gemspec, which is the standard pattern for this project.
Gemspec/DevelopmentDependencies:
Exclude:
- 'fastlane-plugin-wpmreleasetoolkit.gemspec'

########## Style Rules

# No class-level documentation is required — this is a Fastlane plugin, not a library with public docs.
Style/Documentation:
Enabled: false

# These files intentionally reopen external modules (Nokogiri, Fastlane).
Style/OneClassPerFile:
Exclude:
- 'lib/fastlane/plugin/wpmreleasetoolkit/helper/android/android_localize_helper.rb'
- 'lib/fastlane/plugin/wpmreleasetoolkit/helper/ci_helper.rb'

########## Metrics / Max Lengths Rules

Layout/LineLength:
Expand Down Expand Up @@ -107,3 +136,15 @@ RSpec/MultipleMemoizedHelpers:

RSpec/MultipleExpectations:
Enabled: false

# The project consistently uses `receive` style across 136 usages — this is the preferred style.
RSpec/MessageSpies:
EnforcedStyle: receive

# Spec structure uses up to 5 levels of nesting, which is acceptable for this project.
RSpec/NestedGroups:
Max: 5

# Spec file paths don't follow the default RuboCop convention due to the plugin's namespace structure.
RSpec/SpecFilePathFormat:
Enabled: false
39 changes: 0 additions & 39 deletions .rubocop_todo.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,14 +6,6 @@
# Note that changes in the inspected code, or installation of new
# versions of RuboCop, may require this file to be generated again.

# Offense count: 10
# Configuration parameters: EnforcedStyle, AllowedGems, Include.
# SupportedStyles: Gemfile, gems.rb, gemspec
# Include: **/*.gemspec, **/Gemfile, **/gems.rb
Gemspec/DevelopmentDependencies:
Exclude:
- 'fastlane-plugin-wpmreleasetoolkit.gemspec'

# Offense count: 3
Lint/NonLocalExitFromIterator:
Exclude:
Expand All @@ -33,15 +25,6 @@ Naming/MethodParameterName:
- 'lib/fastlane/plugin/wpmreleasetoolkit/actions/android/an_update_metadata_source_action.rb'
- 'lib/fastlane/plugin/wpmreleasetoolkit/actions/common/gp_update_metadata_source.rb'

# Offense count: 76
# Configuration parameters: NamePrefix, ForbiddenPrefixes, AllowedMethods, MethodDefinitionMacros.
# NamePrefix: is_, has_, have_
# ForbiddenPrefixes: is_, has_, have_
# AllowedMethods: is_a?
# MethodDefinitionMacros: define_method, define_singleton_method
Naming/PredicateName:
Enabled: false

# Offense count: 2
# Configuration parameters: EnforcedStyle, CheckMethodNames, CheckSymbols, AllowedIdentifiers, AllowedPatterns.
# SupportedStyles: snake_case, normalcase, non_integer
Expand Down Expand Up @@ -87,12 +70,6 @@ RSpec/InstanceVariable:
- 'spec/git_helper_spec.rb'
- 'spec/ios_lint_localizations_spec.rb'

# Offense count: 136
# Configuration parameters: .
# SupportedStyles: have_received, receive
RSpec/MessageSpies:
EnforcedStyle: receive

# Offense count: 46
# Configuration parameters: EnforcedStyle, IgnoreSharedExamples.
# SupportedStyles: always, named_only
Expand All @@ -103,11 +80,6 @@ RSpec/NamedSubject:
- 'spec/configuration_spec.rb'
- 'spec/file_reference_spec.rb'

# Offense count: 20
# Configuration parameters: AllowedGroups.
RSpec/NestedGroups:
Max: 5

# Offense count: 54
# Configuration parameters: AllowedPatterns.
# AllowedPatterns: ^expect_, ^assert_
Expand All @@ -131,12 +103,6 @@ RSpec/ReceiveMessages:
- 'spec/file_reference_spec.rb'
- 'spec/firebase_device_spec.rb'

# Offense count: 63
# Configuration parameters: Include, CustomTransform, IgnoreMethods, IgnoreMetadata.
# Include: **/*_spec.rb
RSpec/SpecFilePathFormat:
Enabled: false

# Offense count: 7
RSpec/StubbedMock:
Exclude:
Expand Down Expand Up @@ -181,11 +147,6 @@ Security/Open:
- 'lib/fastlane/plugin/wpmreleasetoolkit/actions/android/an_validate_lib_strings_action.rb'
- 'lib/fastlane/plugin/wpmreleasetoolkit/actions/android/android_create_xml_release_notes.rb'

# Offense count: 95
# Configuration parameters: AllowedConstants.
Style/Documentation:
Enabled: false

# Offense count: 1
# This cop supports safe autocorrection (--autocorrect).
Style/EmptyLiteral:
Expand Down
3 changes: 2 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,8 @@ _None_

### Internal Changes

_None_
- Remove `activesupport` as a runtime dependency — replace the only production usage (`deep_dup`) with `Marshal` deep copy — and move it to a dev-only dependency for specs. [#709]
- Update RuboCop configuration: fix obsolete `Naming/PredicateName` cop rename, move permanent style choices from `.rubocop_todo.yml` to `.rubocop.yml`, and fix a `Style/FileOpen` violation. [#709]

## 14.3.0

Expand Down
Loading