dyang/merge_junit_report

View on GitHub
.rubocop.yml

Summary

Maintainability
Test Coverage
# kind_of? is a good way to check a type
Style/ClassCheck:
  EnforcedStyle: kind_of?

# .length == 0 is also good, we don't always want .zero?
Style/NumericPredicate:
  Enabled: false

# this would cause errors with long lanes
Metrics/BlockLength:
  Enabled: false
  
# this is a bit buggy
Metrics/ModuleLength:
  Enabled: false

# certificate_1 is an okay variable name
Style/VariableNumber:
  Enabled: false

# This is used a lot across the fastlane code base for config files
Style/MethodMissing:
  Enabled: false

# 
#   File.chmod(0777, f)
# 
# is easier to read than
# 
#   File.chmod(0o777, f)
# 
Style/NumericLiteralPrefix:
  Enabled: false

# 
# command = (!clean_expired.nil? || !clean_pattern.nil?) ? CLEANUP : LIST
# 
# is easier to read than
# 
# command = !clean_expired.nil? || !clean_pattern.nil? ? CLEANUP : LIST
# 
Style/TernaryParentheses:
  Enabled: false

# sometimes it is usefull to have those empty methods
Style/EmptyMethod:
  Enabled: false

# It's better to be more explicit about the type
Style/BracesAroundHashParameters:
  Enabled: false

# specs sometimes have useless assignments, which is fine
Lint/UselessAssignment:
  Exclude:
    - '**/spec/**/*'

# We could potentially enable the 2 below:
Style/IndentHash:
  Enabled: false

Style/AlignHash:
  Enabled: false

# HoundCI doesn't like this rule
Style/DotPosition:
  Enabled: false

# We allow !! as it's an easy way to convert ot boolean
Style/DoubleNegation:
  Enabled: false

# Sometimes we allow a rescue block that doesn't contain code
Lint/HandleExceptions:
  Enabled: false

# Cop supports --auto-correct.
Lint/UnusedBlockArgument:
  Enabled: false

# Needed for $verbose
Style/GlobalVars:
  Enabled: false

# We want to allow class Fastlane::Class
Style/ClassAndModuleChildren:
  Enabled: false

# $? Exit
Style/SpecialGlobalVars:
  Enabled: false

Metrics/AbcSize:
  Enabled: false

Metrics/MethodLength:
  Enabled: false

Metrics/CyclomaticComplexity:
  Enabled: false

# The %w might be confusing for new users
Style/WordArray:
  MinSize: 19

# raise and fail are both okay
Style/SignalException:
  Enabled: false

# Better too much 'return' than one missing
Style/RedundantReturn:
  Enabled: false

# Having if in the same line might not always be good
Style/IfUnlessModifier:
  Enabled: false

# and and or is okay
Style/AndOr:
  Enabled: false

# Configuration parameters: CountComments.
Metrics/ClassLength:
  Max: 320


# Configuration parameters: AllowURI, URISchemes.
Metrics/LineLength:
  Max: 370

# Configuration parameters: CountKeywordArgs.
Metrics/ParameterLists:
  Max: 17

Metrics/PerceivedComplexity:
  Max: 18

# Sometimes it's easier to read without guards
Style/GuardClause:
  Enabled: false

# We allow both " and '
Style/StringLiterals:
  Enabled: false

# something = if something_else
# that's confusing
Style/ConditionalAssignment:
  Enabled: false

# Better to have too much self than missing a self
Style/RedundantSelf:
  Enabled: false

# e.g.
# def self.is_supported?(platform)
# we may never use `platform`
Lint/UnusedMethodArgument:
  Enabled: false

# the let(:key) { ... }
Lint/ParenthesesAsGroupedExpression:
  Exclude:
    - '**/spec/**/*'

# This would reject is_ in front of methods
# We use `is_supported?` everywhere already
Style/PredicateName:
  Enabled: false

# We allow the $
Style/PerlBackrefs:
  Enabled: false

# Disable '+ should be surrounded with a single space' for xcodebuild_spec.rb
Style/SpaceAroundOperators:
  Exclude:
    - '**/spec/actions_specs/xcodebuild_spec.rb'

AllCops:
  Include:
    - '**/fastlane/Fastfile'
  Exclude:
    - '**/lib/assets/custom_action_template.rb'
    - './vendor/**/*'

# We're not there yet
Style/Documentation:
  Enabled: false

# Added after upgrade to 0.38.0
Style/MutableConstant:
  Enabled: false

# length > 0 is good
Style/ZeroLengthPredicate:
  Enabled: false

# Adds complexity
Style/IfInsideElse:
  Enabled: false

# Sometimes we just want to 'collect'
Style/CollectionMethods:
  Enabled: false