diff --git a/Library/.rubocop_rules.yml b/Library/.rubocop_rules.yml index 543dc40189..6389892910 100644 --- a/Library/.rubocop_rules.yml +++ b/Library/.rubocop_rules.yml @@ -1,10 +1,185 @@ -# ruby style guide favorite -Style/StringLiterals: - EnforcedStyle: double_quotes +Metrics/AbcSize: + Enabled: false -# consistency with above -Style/StringLiteralsInInterpolation: - EnforcedStyle: double_quotes +Metrics/ClassLength: + Enabled: false + +Metrics/CyclomaticComplexity: + Enabled: false + +Metrics/LineLength: + Enabled: false + +Metrics/MethodLength: + Enabled: false + +Metrics/ModuleLength: + CountComments: false + Exclude: + - 'Homebrew/cask/lib/hbc/locations.rb' + - 'Homebrew/cask/lib/hbc/macos.rb' + - 'Homebrew/cask/lib/hbc/utils.rb' + +Metrics/PerceivedComplexity: + Enabled: false + +# favor parens-less DSL-style arguments +Lint/AmbiguousOperator: + Enabled: false + +Lint/AmbiguousRegexpLiteral: + Enabled: false + +Lint/AssignmentInCondition: + Enabled: false + +Lint/EndAlignment: + AlignWith: variable + +# `formula do` uses nested method definitions +Lint/NestedMethodDefinition: + Exclude: + - 'Homebrew/test/**/*' + +Lint/ParenthesesAsGroupedExpression: + Enabled: false + +Style/Alias: + EnforcedStyle: prefer_alias + +Style/AlignHash: + Enabled: false + +# `system` is a special case and aligns on second argument +Style/AlignParameters: + Enabled: false + +Style/BarePercentLiterals: + Exclude: + - 'Taps/**/*' + EnforcedStyle: percent_q + +Style/BlockDelimiters: + EnforcedStyle: semantic + Exclude: + - 'Taps/**/*' + FunctionalMethods: + - expect + - find + - let + - let! + - subject + - watch + - inject + - map + - map! + - collect + - collect! + - reject + - reject! + - delete_if + - with_object + - popen_read + ProceduralMethods: + - after + - at_exit + - before + - benchmark + - bm + - bmbm + - capture_io + - capture_output + - capture_subprocess_io + - chdir + - context + - create + - define_method + - define_singleton_method + - fork + - measure + - new + - open + - realtime + - shutup + - tap + - each + - each_pair + - each_with_index + - reverse_each + - ignore_interrupts + IgnoredMethods: + - each_with_object + - it + - its + - lambda + - proc + - formula + - mock + - devel + - stable + - head + - assert_raises + - assert_nothing_raised + - resource + - with_build_environment + - ensure_writable + - satisfy + - fetch + - brew + - expand + - env + - recursive_dependencies + - trap + - link_dir + - with_system_path + +Style/CaseIndentation: + IndentWhenRelativeTo: end + +Style/ClassAndModuleChildren: + EnforcedStyle: nested + +# percent-x is allowed for multiline +Style/CommandLiteral: + EnforcedStyle: mixed + +# our current conditional style is established, clear and +# requiring users to change that now would be confusing. +Style/ConditionalAssignment: + Enabled: false + +Style/Documentation: + Enabled: false + +Style/EmptyLineBetweenDefs: + AllowAdjacentOneLineDefs: true + +# dashes in filenames are typical +Style/FileName: + Regex: !ruby/regexp /^[\w\@\-\+\.]+(\.rb)?$/ + +# counterproductive in formulas, notably within the install method +Style/GuardClause: + Exclude: + - 'Taps/**/*' + +# depends_on foo: :bar looks rubbish +Style/HashSyntax: + EnforcedStyle: ruby19_no_mixed_keys + Exclude: + - 'Taps/**/*' + +Style/IfUnlessModifier: + Exclude: + - 'Taps/**/*' + +Style/IndentArray: + EnforcedStyle: special_inside_parentheses + +# we won't change backward compatible method names +Style/MethodName: + Exclude: + - 'Homebrew/compat/**/*' # only for numbers >= 1_000_000 Style/NumericLiterals: @@ -14,62 +189,6 @@ Style/NumericLiterals: Style/NumericLiteralPrefix: EnforcedOctalStyle: zero_only -# percent-x is allowed for multiline -Style/CommandLiteral: - EnforcedStyle: mixed - -# depends_on foo: :bar looks rubbish -Style/HashSyntax: - EnforcedStyle: ruby19 - Exclude: - - 'Taps/**/*' - -# paths abound, easy escape -Style/RegexpLiteral: - EnforcedStyle: slashes - -Style/Alias: - EnforcedStyle: prefer_alias - -# 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 - # consistency and readability when faced with string interpolation Style/PercentLiteralDelimiters: PreferredDelimiters: @@ -83,6 +202,23 @@ Style/PercentLiteralDelimiters: '%W': '[]' '%x': '()' +# we prefer Perl-style regex back references +Style/PerlBackrefs: + Enabled: false + +# we won't change backward compatible predicate names +Style/PredicateName: + Exclude: + - 'Homebrew/compat/**/*' + NameWhitelist: is_32_bit?, is_64_bit? + +Style/RaiseArgs: + EnforcedStyle: exploded + +# paths abound, easy escape +Style/RegexpLiteral: + EnforcedStyle: slashes + # conflicts with DSL-style path concatenation with `/` Style/SpaceAroundOperators: Enabled: false @@ -91,66 +227,32 @@ Style/SpaceAroundOperators: Style/SpecialGlobalVars: Enabled: false -# `system` is a special case and aligns on second argument -Style/AlignParameters: - Enabled: false +# ruby style guide favorite +Style/StringLiterals: + EnforcedStyle: double_quotes -# counterproductive in formulas, notably within the install method -Style/GuardClause: - Exclude: - - 'Taps/**/*' -Style/IfUnlessModifier: - Exclude: - - 'Taps/**/*' - -# TODO: enforce when rubocop has fixed this -# https://github.com/bbatsov/rubocop/issues/3516 -Style/VariableNumber: - Enabled: false +# consistency with above +Style/StringLiteralsInInterpolation: + EnforcedStyle: double_quotes # TODO: enforce when rubocop has shipped this # https://github.com/bbatsov/rubocop/pull/3513 Style/TernaryParentheses: Enabled: false -# dashes in filenames are typical -Style/FileName: - Regex: !ruby/regexp /^[\w\@\-\+\.]+(\.rb)?$/ - -# 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/**/*' +Style/UnneededCapitalW: + Enabled: false -# we won't change backward compatible predicate names -Style/PredicateName: - Exclude: - - 'Homebrew/compat/**/*' - NameWhitelist: is_32_bit?, is_64_bit? +# TODO: enforce when rubocop has fixed this +# https://github.com/bbatsov/rubocop/issues/3516 +Style/VariableNumber: + Enabled: false -# `formula do` uses nested method definitions -Lint/NestedMethodDefinition: - Exclude: - - 'Homebrew/test/**/*' +# TODO: enforce when rubocop has fixed this +# https://github.com/bbatsov/rubocop/issues/1543 +Style/WordArray: + Enabled: false diff --git a/Library/.rubocop_todo.yml b/Library/.rubocop_todo.yml index 6a38e100f3..1435e740ce 100644 --- a/Library/.rubocop_todo.yml +++ b/Library/.rubocop_todo.yml @@ -1,12 +1,12 @@ # This configuration was generated by # `rubocop --auto-gen-config --exclude-limit 100` -# on 2016-09-22 20:07:41 +0200 using RuboCop version 0.43.0. +# on 2016-09-25 02:39:38 +0200 using RuboCop version 0.43.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: 18 +# Offense count: 16 Lint/HandleExceptions: Exclude: - 'Homebrew/cmd/install.rb' @@ -16,7 +16,6 @@ Lint/HandleExceptions: - 'Homebrew/cmd/upgrade.rb' - 'Homebrew/cmd/uses.rb' - 'Homebrew/descriptions.rb' - - 'Homebrew/dev-cmd/test-bot.rb' - 'Homebrew/diagnostic.rb' - 'Homebrew/extend/ENV/super.rb' - 'Homebrew/extend/pathname.rb' @@ -35,12 +34,11 @@ Lint/Loop: Exclude: - 'Homebrew/patch.rb' -# Offense count: 6 +# Offense count: 1 Lint/NestedMethodDefinition: Exclude: - 'Homebrew/test/**/*' - 'Homebrew/dev-cmd/bottle.rb' - - 'Homebrew/dev-cmd/test-bot.rb' # Offense count: 28 Lint/RescueException: @@ -67,31 +65,117 @@ Lint/ShadowedException: Exclude: - 'Homebrew/utils/fork.rb' -# Offense count: 18 +# Offense count: 14 Metrics/BlockNesting: Max: 5 -# Offense count: 20 +# Offense count: 19 # Configuration parameters: CountComments. Metrics/ModuleLength: - Max: 370 + Max: 366 # Offense count: 2 # Configuration parameters: CountKeywordArgs. Metrics/ParameterLists: Max: 6 -# Offense count: 1 -Style/CaseEquality: +# Offense count: 9 +# Cop supports --auto-correct. +# Configuration parameters: EnforcedStyle, SupportedStyles. +# SupportedStyles: percent_q, bare_percent +Style/BarePercentLiterals: Exclude: - - 'Homebrew/compilers.rb' + - 'Taps/**/*' + - 'Homebrew/dev-cmd/audit.rb' + - 'Homebrew/test/test_diagnostic.rb' + - 'Homebrew/test/test_exceptions.rb' + - 'Homebrew/test/test_integration_cmds.rb' + - 'Homebrew/test/test_patch.rb' + - 'Homebrew/test/test_string.rb' -# Offense count: 11 +# Offense count: 136 +# Cop supports --auto-correct. +# Configuration parameters: EnforcedStyle, SupportedStyles, ProceduralMethods, FunctionalMethods, IgnoredMethods. +# SupportedStyles: line_count_based, semantic, braces_for_chaining +# 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: + Exclude: + - 'Taps/**/*' + - 'Homebrew/caveats.rb' + - 'Homebrew/cleaner.rb' + - 'Homebrew/cleanup.rb' + - 'Homebrew/cmd/deps.rb' + - 'Homebrew/cmd/desc.rb' + - 'Homebrew/cmd/fetch.rb' + - 'Homebrew/cmd/help.rb' + - 'Homebrew/cmd/info.rb' + - 'Homebrew/cmd/linkapps.rb' + - 'Homebrew/cmd/list.rb' + - 'Homebrew/cmd/outdated.rb' + - 'Homebrew/cmd/reinstall.rb' + - 'Homebrew/cmd/search.rb' + - 'Homebrew/cmd/tap-info.rb' + - 'Homebrew/cmd/unlinkapps.rb' + - 'Homebrew/cmd/update-report.rb' + - 'Homebrew/cmd/upgrade.rb' + - 'Homebrew/cmd/uses.rb' + - 'Homebrew/compilers.rb' + - 'Homebrew/debrew.rb' + - 'Homebrew/descriptions.rb' + - 'Homebrew/dev-cmd/aspell-dictionaries.rb' + - 'Homebrew/dev-cmd/audit.rb' + - 'Homebrew/dev-cmd/bottle.rb' + - 'Homebrew/dev-cmd/edit.rb' + - 'Homebrew/dev-cmd/man.rb' + - 'Homebrew/diagnostic.rb' + - 'Homebrew/exceptions.rb' + - 'Homebrew/extend/ARGV.rb' + - 'Homebrew/extend/ENV/shared.rb' + - 'Homebrew/extend/ENV/std.rb' + - 'Homebrew/extend/fileutils.rb' + - 'Homebrew/extend/os/mac/formula_cellar_checks.rb' + - 'Homebrew/extend/pathname.rb' + - 'Homebrew/formula.rb' + - 'Homebrew/formula_assertions.rb' + - 'Homebrew/formula_cellar_checks.rb' + - 'Homebrew/formula_installer.rb' + - 'Homebrew/formulary.rb' + - 'Homebrew/global.rb' + - 'Homebrew/keg.rb' + - 'Homebrew/language/haskell.rb' + - 'Homebrew/language/node.rb' + - 'Homebrew/language/python.rb' + - 'Homebrew/migrator.rb' + - 'Homebrew/os/mac/linkage_checker.rb' + - 'Homebrew/os/mac/xquartz.rb' + - 'Homebrew/patch.rb' + - 'Homebrew/readall.rb' + - 'Homebrew/software_spec.rb' + - 'Homebrew/tap.rb' + - 'Homebrew/test/lib/config.rb' + - 'Homebrew/test/test_ARGV.rb' + - 'Homebrew/test/test_cleanup.rb' + - 'Homebrew/test/test_cmd_audit.rb' + - 'Homebrew/test/test_dependency_collector.rb' + - 'Homebrew/test/test_formula_installer.rb' + - 'Homebrew/test/test_formula_installer_bottle.rb' + - 'Homebrew/test/test_formulary.rb' + - 'Homebrew/test/test_gpg.rb' + - 'Homebrew/test/test_integration_cmds.rb' + - 'Homebrew/test/test_migrator.rb' + - 'Homebrew/test/test_pathname.rb' + - 'Homebrew/test/test_tap.rb' + - 'Homebrew/test/test_utils.rb' + - 'Homebrew/test/testing_env.rb' + - 'Homebrew/utils.rb' + - 'Homebrew/utils/github.rb' + +# Offense count: 7 Style/ClassVars: Exclude: - - 'Homebrew/cleanup.rb' - 'Homebrew/dev-cmd/audit.rb' - - 'Homebrew/dev-cmd/test-bot.rb' - 'Homebrew/formula_installer.rb' - 'Homebrew/test/testing_env.rb' - 'Homebrew/utils.rb' @@ -108,14 +192,6 @@ Style/GlobalVars: - 'Homebrew/diagnostic.rb' - 'Homebrew/utils.rb' -# Offense count: 51 -# Cop supports --auto-correct. -# Configuration parameters: MaxLineLength. -Style/IfUnlessModifier: - Exclude: - - 'Taps/**/*' - - 'Homebrew/dev-cmd/audit.rb' - # Offense count: 2 # Cop supports --auto-correct. # Configuration parameters: SupportedStyles, IndentationWidth. @@ -123,7 +199,7 @@ Style/IfUnlessModifier: Style/IndentArray: EnforcedStyle: special_inside_parentheses -# Offense count: 7 +# Offense count: 5 # Configuration parameters: EnforcedStyle, SupportedStyles. # SupportedStyles: module_function, extend_self Style/ModuleFunction: @@ -153,16 +229,9 @@ Style/MutableConstant: - 'Homebrew/tap.rb' # Offense count: 9 +# Offense count: 8 Style/OpMethod: Exclude: - - 'Homebrew/compilers.rb' - 'Homebrew/dependencies.rb' - 'Homebrew/install_renamed.rb' - 'Homebrew/options.rb' - -# Offense count: 2 -# Cop supports --auto-correct. -# Configuration parameters: SupportedStyles. -# SupportedStyles: use_perl_names, use_english_names -Style/SpecialGlobalVars: - EnforcedStyle: use_perl_names diff --git a/Library/Homebrew/cask/.rubocop.yml b/Library/Homebrew/cask/.rubocop.yml index 96a0b0e11d..4d5672789e 100644 --- a/Library/Homebrew/cask/.rubocop.yml +++ b/Library/Homebrew/cask/.rubocop.yml @@ -9,7 +9,7 @@ Metrics/AbcSize: Enabled: false Metrics/ClassLength: - Enabled: false + Enabled: false Metrics/CyclomaticComplexity: Enabled: false