Merge pull request #1008 from MikeMcQuaid/more-rubocop
More Rubocop tweaks
This commit is contained in:
commit
357cce11fe
@ -1,4 +1,6 @@
|
|||||||
inherit_from: .rubocop_todo.yml
|
inherit_from:
|
||||||
|
- .rubocop_rules.yml
|
||||||
|
- .rubocop_todo.yml
|
||||||
|
|
||||||
AllCops:
|
AllCops:
|
||||||
TargetRubyVersion: 2.0
|
TargetRubyVersion: 2.0
|
||||||
@ -6,129 +8,3 @@ AllCops:
|
|||||||
- 'Homebrew/cask/**/*'
|
- 'Homebrew/cask/**/*'
|
||||||
- 'Homebrew/vendor/**/*'
|
- 'Homebrew/vendor/**/*'
|
||||||
- 'Homebrew/test/vendor/**/*'
|
- 'Homebrew/test/vendor/**/*'
|
||||||
|
|
||||||
# ruby style guide favorite
|
|
||||||
Style/StringLiterals:
|
|
||||||
EnforcedStyle: double_quotes
|
|
||||||
|
|
||||||
# consistency with above
|
|
||||||
Style/StringLiteralsInInterpolation:
|
|
||||||
EnforcedStyle: double_quotes
|
|
||||||
|
|
||||||
# percent-x is allowed for multiline
|
|
||||||
Style/CommandLiteral:
|
|
||||||
EnforcedStyle: mixed
|
|
||||||
|
|
||||||
# paths abound, easy escape
|
|
||||||
Style/RegexpLiteral:
|
|
||||||
EnforcedStyle: slashes
|
|
||||||
|
|
||||||
# too prevalent to change this now, but might be discussed/changed later
|
|
||||||
Style/Alias:
|
|
||||||
EnforcedStyle: prefer_alias_method
|
|
||||||
|
|
||||||
# our current conditional style is established, clear and
|
|
||||||
# requiring users to change that now would be confusing.
|
|
||||||
Style/ConditionalAssignment:
|
|
||||||
Enabled: false
|
|
||||||
|
|
||||||
# no metrics for formulas
|
|
||||||
Metrics/AbcSize:
|
|
||||||
Enabled: false
|
|
||||||
Metrics/CyclomaticComplexity:
|
|
||||||
Enabled: false
|
|
||||||
Metrics/MethodLength:
|
|
||||||
Enabled: false
|
|
||||||
Metrics/ClassLength:
|
|
||||||
Enabled: false
|
|
||||||
Metrics/PerceivedComplexity:
|
|
||||||
Enabled: false
|
|
||||||
|
|
||||||
# we often need very long lines
|
|
||||||
Metrics/LineLength:
|
|
||||||
Enabled: false
|
|
||||||
|
|
||||||
# formulas have no mandatory doc
|
|
||||||
Style/Documentation:
|
|
||||||
Enabled: false
|
|
||||||
|
|
||||||
# favor parens-less DSL-style arguments
|
|
||||||
Lint/AmbiguousOperator:
|
|
||||||
Enabled: false
|
|
||||||
Lint/AmbiguousRegexpLiteral:
|
|
||||||
Enabled: false
|
|
||||||
Lint/AssignmentInCondition:
|
|
||||||
Enabled: false
|
|
||||||
Lint/ParenthesesAsGroupedExpression:
|
|
||||||
Enabled: false
|
|
||||||
|
|
||||||
# compact style
|
|
||||||
Style/EmptyLineBetweenDefs:
|
|
||||||
AllowAdjacentOneLineDefs: true
|
|
||||||
|
|
||||||
# port numbers and such tech stuff
|
|
||||||
Style/NumericLiterals:
|
|
||||||
Enabled: false
|
|
||||||
|
|
||||||
# zero-prefixed octal literals are just too widely used (and mostly understood)
|
|
||||||
Style/NumericLiteralPrefix:
|
|
||||||
EnforcedOctalStyle: zero_only
|
|
||||||
|
|
||||||
# consistency and readability when faced with string interpolation
|
|
||||||
Style/PercentLiteralDelimiters:
|
|
||||||
PreferredDelimiters:
|
|
||||||
'%': '()'
|
|
||||||
'%i': '()'
|
|
||||||
'%q': '()'
|
|
||||||
'%Q': '()'
|
|
||||||
'%r': '{}'
|
|
||||||
'%s': '()'
|
|
||||||
'%w': '[]'
|
|
||||||
'%W': '[]'
|
|
||||||
'%x': '()'
|
|
||||||
|
|
||||||
# conflicts with DSL-style path concatenation with `/`
|
|
||||||
Style/SpaceAroundOperators:
|
|
||||||
Enabled: false
|
|
||||||
|
|
||||||
# not a problem for typical shell users
|
|
||||||
Style/SpecialGlobalVars:
|
|
||||||
Enabled: false
|
|
||||||
|
|
||||||
# `system` is a special case and aligns on second argument
|
|
||||||
Style/AlignParameters:
|
|
||||||
Enabled: false
|
|
||||||
|
|
||||||
# counterproductive in formulas, notably within the install method
|
|
||||||
Style/GuardClause:
|
|
||||||
Enabled: false
|
|
||||||
Style/IfUnlessModifier:
|
|
||||||
Enabled: false
|
|
||||||
|
|
||||||
# dashes in filenames are typical
|
|
||||||
# TODO: enforce when rubocop has fixed this
|
|
||||||
# https://github.com/bbatsov/rubocop/issues/1545
|
|
||||||
Style/FileName:
|
|
||||||
Enabled: false
|
|
||||||
|
|
||||||
# no percent word array, being friendly to non-ruby users
|
|
||||||
# TODO: enforce when rubocop has fixed this
|
|
||||||
# https://github.com/bbatsov/rubocop/issues/1543
|
|
||||||
Style/WordArray:
|
|
||||||
Enabled: false
|
|
||||||
Style/UnneededCapitalW:
|
|
||||||
Enabled: false
|
|
||||||
|
|
||||||
# we prefer compact if-else-end/case-when-end alignment
|
|
||||||
Lint/EndAlignment:
|
|
||||||
AlignWith: variable
|
|
||||||
Style/CaseIndentation:
|
|
||||||
IndentWhenRelativeTo: end
|
|
||||||
|
|
||||||
# we prefer Perl-style regex back references
|
|
||||||
Style/PerlBackrefs:
|
|
||||||
Enabled: false
|
|
||||||
|
|
||||||
# makes diffs nicer
|
|
||||||
Style/TrailingCommaInLiteral:
|
|
||||||
EnforcedStyleForMultiline: comma
|
|
||||||
|
|||||||
141
Library/.rubocop_rules.yml
Normal file
141
Library/.rubocop_rules.yml
Normal file
@ -0,0 +1,141 @@
|
|||||||
|
|
||||||
|
# ruby style guide favorite
|
||||||
|
Style/StringLiterals:
|
||||||
|
EnforcedStyle: double_quotes
|
||||||
|
|
||||||
|
# consistency with above
|
||||||
|
Style/StringLiteralsInInterpolation:
|
||||||
|
EnforcedStyle: double_quotes
|
||||||
|
|
||||||
|
# percent-x is allowed for multiline
|
||||||
|
Style/CommandLiteral:
|
||||||
|
EnforcedStyle: mixed
|
||||||
|
|
||||||
|
# paths abound, easy escape
|
||||||
|
Style/RegexpLiteral:
|
||||||
|
EnforcedStyle: slashes
|
||||||
|
|
||||||
|
# too prevalent to change this now, but might be discussed/changed later
|
||||||
|
Style/Alias:
|
||||||
|
EnforcedStyle: prefer_alias_method
|
||||||
|
|
||||||
|
# our current conditional style is established, clear and
|
||||||
|
# requiring users to change that now would be confusing.
|
||||||
|
Style/ConditionalAssignment:
|
||||||
|
Enabled: false
|
||||||
|
|
||||||
|
# no metrics for formulas
|
||||||
|
Metrics/AbcSize:
|
||||||
|
Enabled: false
|
||||||
|
Metrics/CyclomaticComplexity:
|
||||||
|
Enabled: false
|
||||||
|
Metrics/MethodLength:
|
||||||
|
Enabled: false
|
||||||
|
Metrics/ClassLength:
|
||||||
|
Enabled: false
|
||||||
|
Metrics/PerceivedComplexity:
|
||||||
|
Enabled: false
|
||||||
|
|
||||||
|
# we often need very long lines
|
||||||
|
Metrics/LineLength:
|
||||||
|
Enabled: false
|
||||||
|
|
||||||
|
# formulas have no mandatory doc
|
||||||
|
Style/Documentation:
|
||||||
|
Enabled: false
|
||||||
|
|
||||||
|
# favor parens-less DSL-style arguments
|
||||||
|
Lint/AmbiguousOperator:
|
||||||
|
Enabled: false
|
||||||
|
Lint/AmbiguousRegexpLiteral:
|
||||||
|
Enabled: false
|
||||||
|
Lint/AssignmentInCondition:
|
||||||
|
Enabled: false
|
||||||
|
Lint/ParenthesesAsGroupedExpression:
|
||||||
|
Enabled: false
|
||||||
|
|
||||||
|
# compact style
|
||||||
|
Style/EmptyLineBetweenDefs:
|
||||||
|
AllowAdjacentOneLineDefs: true
|
||||||
|
|
||||||
|
# port numbers and such tech stuff
|
||||||
|
Style/NumericLiterals:
|
||||||
|
Enabled: false
|
||||||
|
|
||||||
|
# zero-prefixed octal literals are just too widely used (and mostly understood)
|
||||||
|
Style/NumericLiteralPrefix:
|
||||||
|
EnforcedOctalStyle: zero_only
|
||||||
|
|
||||||
|
# consistency and readability when faced with string interpolation
|
||||||
|
Style/PercentLiteralDelimiters:
|
||||||
|
PreferredDelimiters:
|
||||||
|
'%': '()'
|
||||||
|
'%i': '()'
|
||||||
|
'%q': '()'
|
||||||
|
'%Q': '()'
|
||||||
|
'%r': '{}'
|
||||||
|
'%s': '()'
|
||||||
|
'%w': '[]'
|
||||||
|
'%W': '[]'
|
||||||
|
'%x': '()'
|
||||||
|
|
||||||
|
# conflicts with DSL-style path concatenation with `/`
|
||||||
|
Style/SpaceAroundOperators:
|
||||||
|
Enabled: false
|
||||||
|
|
||||||
|
# not a problem for typical shell users
|
||||||
|
Style/SpecialGlobalVars:
|
||||||
|
Enabled: false
|
||||||
|
|
||||||
|
# `system` is a special case and aligns on second argument
|
||||||
|
Style/AlignParameters:
|
||||||
|
Enabled: false
|
||||||
|
|
||||||
|
# counterproductive in formulas, notably within the install method
|
||||||
|
Style/GuardClause:
|
||||||
|
Enabled: false
|
||||||
|
Style/IfUnlessModifier:
|
||||||
|
Enabled: false
|
||||||
|
|
||||||
|
# dashes in filenames are typical
|
||||||
|
# TODO: enforce when rubocop has fixed this
|
||||||
|
# https://github.com/bbatsov/rubocop/issues/1545
|
||||||
|
Style/FileName:
|
||||||
|
Enabled: false
|
||||||
|
|
||||||
|
# no percent word array, being friendly to non-ruby users
|
||||||
|
# TODO: enforce when rubocop has fixed this
|
||||||
|
# https://github.com/bbatsov/rubocop/issues/1543
|
||||||
|
Style/WordArray:
|
||||||
|
Enabled: false
|
||||||
|
Style/UnneededCapitalW:
|
||||||
|
Enabled: false
|
||||||
|
|
||||||
|
# we prefer compact if-else-end/case-when-end alignment
|
||||||
|
Lint/EndAlignment:
|
||||||
|
AlignWith: variable
|
||||||
|
Style/CaseIndentation:
|
||||||
|
IndentWhenRelativeTo: end
|
||||||
|
|
||||||
|
# we prefer Perl-style regex back references
|
||||||
|
Style/PerlBackrefs:
|
||||||
|
Enabled: false
|
||||||
|
|
||||||
|
# makes diffs nicer
|
||||||
|
Style/TrailingCommaInLiteral:
|
||||||
|
EnforcedStyleForMultiline: comma
|
||||||
|
|
||||||
|
# we won't change backward compatible method names
|
||||||
|
Style/MethodName:
|
||||||
|
Exclude:
|
||||||
|
- 'Homebrew/compat/**/*'
|
||||||
|
|
||||||
|
# we won't change backward compatible predicate names
|
||||||
|
Style/PredicateName:
|
||||||
|
Exclude:
|
||||||
|
- 'Homebrew/compat/**/*'
|
||||||
|
|
||||||
|
# `formula do` uses nested method definitions
|
||||||
|
Lint/NestedMethodDefinition:
|
||||||
|
Exclude:
|
||||||
|
- 'Homebrew/test/**/*'
|
||||||
@ -1,6 +1,6 @@
|
|||||||
# This configuration was generated by
|
# This configuration was generated by
|
||||||
# `rubocop --auto-gen-config`
|
# `rubocop --auto-gen-config --exclude-limit 30`
|
||||||
# on 2016-09-17 15:44:31 +0100 using RuboCop version 0.42.0.
|
# on 2016-09-18 15:15:22 +0100 using RuboCop version 0.41.2.
|
||||||
# The point is for the user to remove these configuration records
|
# The point is for the user to remove these configuration records
|
||||||
# one by one as the offenses are removed from the code base.
|
# one by one as the offenses are removed from the code base.
|
||||||
# Note that changes in the inspected code, or installation of new
|
# Note that changes in the inspected code, or installation of new
|
||||||
@ -48,6 +48,7 @@ Lint/Loop:
|
|||||||
# Offense count: 6
|
# Offense count: 6
|
||||||
Lint/NestedMethodDefinition:
|
Lint/NestedMethodDefinition:
|
||||||
Exclude:
|
Exclude:
|
||||||
|
- 'Homebrew/test/**/*'
|
||||||
- 'Homebrew/dev-cmd/bottle.rb'
|
- 'Homebrew/dev-cmd/bottle.rb'
|
||||||
- 'Homebrew/dev-cmd/test-bot.rb'
|
- 'Homebrew/dev-cmd/test-bot.rb'
|
||||||
|
|
||||||
@ -58,7 +59,23 @@ Lint/NonLocalExitFromIterator:
|
|||||||
|
|
||||||
# Offense count: 28
|
# Offense count: 28
|
||||||
Lint/RescueException:
|
Lint/RescueException:
|
||||||
Enabled: false
|
Exclude:
|
||||||
|
- 'Homebrew/brew.rb'
|
||||||
|
- 'Homebrew/build.rb'
|
||||||
|
- 'Homebrew/cmd/fetch.rb'
|
||||||
|
- 'Homebrew/cmd/reinstall.rb'
|
||||||
|
- 'Homebrew/cmd/update-report.rb'
|
||||||
|
- 'Homebrew/debrew.rb'
|
||||||
|
- 'Homebrew/dev-cmd/pull.rb'
|
||||||
|
- 'Homebrew/dev-cmd/test.rb'
|
||||||
|
- 'Homebrew/formula.rb'
|
||||||
|
- 'Homebrew/formula_installer.rb'
|
||||||
|
- 'Homebrew/migrator.rb'
|
||||||
|
- 'Homebrew/postinstall.rb'
|
||||||
|
- 'Homebrew/readall.rb'
|
||||||
|
- 'Homebrew/test.rb'
|
||||||
|
- 'Homebrew/test/test_ENV.rb'
|
||||||
|
- 'Homebrew/utils/fork.rb'
|
||||||
|
|
||||||
# Offense count: 1
|
# Offense count: 1
|
||||||
Lint/ShadowedException:
|
Lint/ShadowedException:
|
||||||
@ -77,7 +94,7 @@ Metrics/BlockNesting:
|
|||||||
# Offense count: 20
|
# Offense count: 20
|
||||||
# Configuration parameters: CountComments.
|
# Configuration parameters: CountComments.
|
||||||
Metrics/ModuleLength:
|
Metrics/ModuleLength:
|
||||||
Max: 369
|
Max: 400
|
||||||
|
|
||||||
# Offense count: 1
|
# Offense count: 1
|
||||||
# Configuration parameters: CountKeywordArgs.
|
# Configuration parameters: CountKeywordArgs.
|
||||||
@ -110,7 +127,23 @@ Style/Alias:
|
|||||||
|
|
||||||
# Offense count: 26
|
# Offense count: 26
|
||||||
Style/CaseEquality:
|
Style/CaseEquality:
|
||||||
Enabled: false
|
Exclude:
|
||||||
|
- 'Homebrew/cleanup.rb'
|
||||||
|
- 'Homebrew/cmd/search.rb'
|
||||||
|
- 'Homebrew/compilers.rb'
|
||||||
|
- 'Homebrew/cxxstdlib.rb'
|
||||||
|
- 'Homebrew/debrew.rb'
|
||||||
|
- 'Homebrew/dependencies.rb'
|
||||||
|
- 'Homebrew/dependency_collector.rb'
|
||||||
|
- 'Homebrew/download_strategy.rb'
|
||||||
|
- 'Homebrew/formula.rb'
|
||||||
|
- 'Homebrew/options.rb'
|
||||||
|
- 'Homebrew/patch.rb'
|
||||||
|
- 'Homebrew/pkg_version.rb'
|
||||||
|
- 'Homebrew/requirement.rb'
|
||||||
|
- 'Homebrew/requirements.rb'
|
||||||
|
- 'Homebrew/software_spec.rb'
|
||||||
|
- 'Homebrew/version.rb'
|
||||||
|
|
||||||
# Offense count: 1
|
# Offense count: 1
|
||||||
# Cop supports --auto-correct.
|
# Cop supports --auto-correct.
|
||||||
@ -170,6 +203,7 @@ Style/IdenticalConditionalBranches:
|
|||||||
# SupportedStyles: snake_case, camelCase
|
# SupportedStyles: snake_case, camelCase
|
||||||
Style/MethodName:
|
Style/MethodName:
|
||||||
Exclude:
|
Exclude:
|
||||||
|
- 'Homebrew/compat/**/*'
|
||||||
- 'Homebrew/cleanup.rb'
|
- 'Homebrew/cleanup.rb'
|
||||||
- 'Homebrew/diagnostic.rb'
|
- 'Homebrew/diagnostic.rb'
|
||||||
- 'Homebrew/formula_cellar_checks.rb'
|
- 'Homebrew/formula_cellar_checks.rb'
|
||||||
@ -230,7 +264,7 @@ Style/OpMethod:
|
|||||||
# NameWhitelist: is_a?
|
# NameWhitelist: is_a?
|
||||||
Style/PredicateName:
|
Style/PredicateName:
|
||||||
Exclude:
|
Exclude:
|
||||||
- 'spec/**/*'
|
- 'Homebrew/compat/**/*'
|
||||||
- 'Homebrew/download_strategy.rb'
|
- 'Homebrew/download_strategy.rb'
|
||||||
- 'Homebrew/hardware.rb'
|
- 'Homebrew/hardware.rb'
|
||||||
|
|
||||||
|
|||||||
@ -1,16 +1,12 @@
|
|||||||
#: * `style` [`--fix`] [`--display-cop-names`] [<formulae>|<files>]:
|
#: * `style` [`--fix`] [`--display-cop-names`] [<files>|<taps>|<formulae>]:
|
||||||
#: Check formulae or files for conformance to Homebrew style guidelines.
|
#: Check formulae or files for conformance to Homebrew style guidelines.
|
||||||
#:
|
#:
|
||||||
#: <formulae> is a list of formula names.
|
|
||||||
#:
|
|
||||||
#: <files> is a list of file names.
|
|
||||||
#:
|
|
||||||
#: <formulae> and <files> may not be combined. If both are omitted, style will run
|
#: <formulae> and <files> may not be combined. If both are omitted, style will run
|
||||||
#: style checks on the whole Homebrew `Library`, including core code and all
|
#: style checks on the whole Homebrew `Library`, including core code and all
|
||||||
#: formulae.
|
#: formulae.
|
||||||
#:
|
#:
|
||||||
#: If `--fix` is passed and `HOMEBREW_DEVELOPER` is set, style violations
|
#: If `--fix` is passed, style violations will be automatically fixed using
|
||||||
#: will be automatically fixed using RuboCop's `--auto-correct` feature.
|
#: RuboCop's `--auto-correct` feature.
|
||||||
#:
|
#:
|
||||||
#: If `--display-cop-names` is passed, the RuboCop cop name for each violation
|
#: If `--display-cop-names` is passed, the RuboCop cop name for each violation
|
||||||
#: is included in the output.
|
#: is included in the output.
|
||||||
@ -23,9 +19,11 @@ require "utils/json"
|
|||||||
module Homebrew
|
module Homebrew
|
||||||
def style
|
def style
|
||||||
target = if ARGV.named.empty?
|
target = if ARGV.named.empty?
|
||||||
[HOMEBREW_LIBRARY]
|
[HOMEBREW_LIBRARY_PATH]
|
||||||
elsif ARGV.named.any? { |file| File.exist? file }
|
elsif ARGV.named.any? { |file| File.exist? file }
|
||||||
ARGV.named
|
ARGV.named
|
||||||
|
elsif ARGV.named.any? { |tap| tap.count("/") == 1 }
|
||||||
|
ARGV.named.map { |tap| Tap.fetch(tap).path }
|
||||||
else
|
else
|
||||||
ARGV.formulae.map(&:path)
|
ARGV.formulae.map(&:path)
|
||||||
end
|
end
|
||||||
@ -53,7 +51,7 @@ module Homebrew
|
|||||||
--force-exclusion
|
--force-exclusion
|
||||||
--config #{HOMEBREW_LIBRARY}/.rubocop.yml
|
--config #{HOMEBREW_LIBRARY}/.rubocop.yml
|
||||||
]
|
]
|
||||||
args << "--auto-correct" if ARGV.homebrew_developer? && fix
|
args << "--auto-correct" if fix
|
||||||
args += files
|
args += files
|
||||||
|
|
||||||
case output_type
|
case output_type
|
||||||
|
|||||||
@ -1,7 +0,0 @@
|
|||||||
inherit_from: ../../.rubocop.yml
|
|
||||||
|
|
||||||
# We won't change method or predicate names because of backward compatibility.
|
|
||||||
Style/MethodName:
|
|
||||||
Enabled: false
|
|
||||||
Style/PredicateName:
|
|
||||||
Enabled: false
|
|
||||||
@ -719,6 +719,7 @@ module Homebrew
|
|||||||
test "brew", "update-test", "--commit=HEAD"
|
test "brew", "update-test", "--commit=HEAD"
|
||||||
end
|
end
|
||||||
|
|
||||||
|
test "brew", "style"
|
||||||
test "brew", "readall", "--syntax"
|
test "brew", "readall", "--syntax"
|
||||||
|
|
||||||
coverage_args = []
|
coverage_args = []
|
||||||
@ -741,6 +742,9 @@ module Homebrew
|
|||||||
test "brew", "cask-tests", *coverage_args
|
test "brew", "cask-tests", *coverage_args
|
||||||
end
|
end
|
||||||
elsif @tap
|
elsif @tap
|
||||||
|
if @tap.name == "homebrew/core"
|
||||||
|
test "brew", "style", @tap.name
|
||||||
|
end
|
||||||
test "brew", "readall", "--aliases", @tap.name
|
test "brew", "readall", "--aliases", @tap.name
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|||||||
@ -1,5 +0,0 @@
|
|||||||
inherit_from: ../../.rubocop.yml
|
|
||||||
|
|
||||||
# `formula do` uses nested method definitions
|
|
||||||
Lint/NestedMethodDefinition:
|
|
||||||
Enabled: false
|
|
||||||
Loading…
x
Reference in New Issue
Block a user