Merge pull request #1128 from reitermarkus/rubocop

RuboCop changes.
This commit is contained in:
Mike McQuaid 2016-09-27 12:49:34 +01:00 committed by GitHub
commit 4488eddf91
6 changed files with 337 additions and 189 deletions

View File

@ -1,10 +1,185 @@
# ruby style guide favorite Metrics/AbcSize:
Style/StringLiterals: Enabled: false
EnforcedStyle: double_quotes
# consistency with above Metrics/ClassLength:
Style/StringLiteralsInInterpolation: Enabled: false
EnforcedStyle: double_quotes
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 # only for numbers >= 1_000_000
Style/NumericLiterals: Style/NumericLiterals:
@ -14,62 +189,6 @@ Style/NumericLiterals:
Style/NumericLiteralPrefix: Style/NumericLiteralPrefix:
EnforcedOctalStyle: zero_only 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 # consistency and readability when faced with string interpolation
Style/PercentLiteralDelimiters: Style/PercentLiteralDelimiters:
PreferredDelimiters: PreferredDelimiters:
@ -83,6 +202,23 @@ Style/PercentLiteralDelimiters:
'%W': '[]' '%W': '[]'
'%x': '()' '%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 `/` # conflicts with DSL-style path concatenation with `/`
Style/SpaceAroundOperators: Style/SpaceAroundOperators:
Enabled: false Enabled: false
@ -91,66 +227,32 @@ Style/SpaceAroundOperators:
Style/SpecialGlobalVars: Style/SpecialGlobalVars:
Enabled: false Enabled: false
# `system` is a special case and aligns on second argument # ruby style guide favorite
Style/AlignParameters: Style/StringLiterals:
Enabled: false EnforcedStyle: double_quotes
# counterproductive in formulas, notably within the install method # consistency with above
Style/GuardClause: Style/StringLiteralsInInterpolation:
Exclude: EnforcedStyle: double_quotes
- 'Taps/**/*'
Style/IfUnlessModifier:
Exclude:
- 'Taps/**/*'
# TODO: enforce when rubocop has fixed this
# https://github.com/bbatsov/rubocop/issues/3516
Style/VariableNumber:
Enabled: false
# TODO: enforce when rubocop has shipped this # TODO: enforce when rubocop has shipped this
# https://github.com/bbatsov/rubocop/pull/3513 # https://github.com/bbatsov/rubocop/pull/3513
Style/TernaryParentheses: Style/TernaryParentheses:
Enabled: false 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 # makes diffs nicer
Style/TrailingCommaInLiteral: Style/TrailingCommaInLiteral:
EnforcedStyleForMultiline: comma EnforcedStyleForMultiline: comma
# we won't change backward compatible method names Style/UnneededCapitalW:
Style/MethodName: Enabled: false
Exclude:
- 'Homebrew/compat/**/*'
# we won't change backward compatible predicate names # TODO: enforce when rubocop has fixed this
Style/PredicateName: # https://github.com/bbatsov/rubocop/issues/3516
Exclude: Style/VariableNumber:
- 'Homebrew/compat/**/*' Enabled: false
NameWhitelist: is_32_bit?, is_64_bit?
# `formula do` uses nested method definitions # TODO: enforce when rubocop has fixed this
Lint/NestedMethodDefinition: # https://github.com/bbatsov/rubocop/issues/1543
Exclude: Style/WordArray:
- 'Homebrew/test/**/*' Enabled: false

View File

@ -1,12 +1,12 @@
# This configuration was generated by # This configuration was generated by
# `rubocop --auto-gen-config --exclude-limit 100` # `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 # 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
# versions of RuboCop, may require this file to be generated again. # versions of RuboCop, may require this file to be generated again.
# Offense count: 18 # Offense count: 16
Lint/HandleExceptions: Lint/HandleExceptions:
Exclude: Exclude:
- 'Homebrew/cmd/install.rb' - 'Homebrew/cmd/install.rb'
@ -16,7 +16,6 @@ Lint/HandleExceptions:
- 'Homebrew/cmd/upgrade.rb' - 'Homebrew/cmd/upgrade.rb'
- 'Homebrew/cmd/uses.rb' - 'Homebrew/cmd/uses.rb'
- 'Homebrew/descriptions.rb' - 'Homebrew/descriptions.rb'
- 'Homebrew/dev-cmd/test-bot.rb'
- 'Homebrew/diagnostic.rb' - 'Homebrew/diagnostic.rb'
- 'Homebrew/extend/ENV/super.rb' - 'Homebrew/extend/ENV/super.rb'
- 'Homebrew/extend/pathname.rb' - 'Homebrew/extend/pathname.rb'
@ -35,12 +34,11 @@ Lint/Loop:
Exclude: Exclude:
- 'Homebrew/patch.rb' - 'Homebrew/patch.rb'
# Offense count: 6 # Offense count: 1
Lint/NestedMethodDefinition: Lint/NestedMethodDefinition:
Exclude: Exclude:
- 'Homebrew/test/**/*' - 'Homebrew/test/**/*'
- 'Homebrew/dev-cmd/bottle.rb' - 'Homebrew/dev-cmd/bottle.rb'
- 'Homebrew/dev-cmd/test-bot.rb'
# Offense count: 28 # Offense count: 28
Lint/RescueException: Lint/RescueException:
@ -67,31 +65,117 @@ Lint/ShadowedException:
Exclude: Exclude:
- 'Homebrew/utils/fork.rb' - 'Homebrew/utils/fork.rb'
# Offense count: 18 # Offense count: 14
Metrics/BlockNesting: Metrics/BlockNesting:
Max: 5 Max: 5
# Offense count: 20 # Offense count: 19
# Configuration parameters: CountComments. # Configuration parameters: CountComments.
Metrics/ModuleLength: Metrics/ModuleLength:
Max: 370 Max: 366
# Offense count: 2 # Offense count: 2
# Configuration parameters: CountKeywordArgs. # Configuration parameters: CountKeywordArgs.
Metrics/ParameterLists: Metrics/ParameterLists:
Max: 6 Max: 6
# Offense count: 1 # Offense count: 9
Style/CaseEquality: # Cop supports --auto-correct.
# Configuration parameters: EnforcedStyle, SupportedStyles.
# SupportedStyles: percent_q, bare_percent
Style/BarePercentLiterals:
Exclude: 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: Style/ClassVars:
Exclude: Exclude:
- 'Homebrew/cleanup.rb'
- 'Homebrew/dev-cmd/audit.rb' - 'Homebrew/dev-cmd/audit.rb'
- 'Homebrew/dev-cmd/test-bot.rb'
- 'Homebrew/formula_installer.rb' - 'Homebrew/formula_installer.rb'
- 'Homebrew/test/testing_env.rb' - 'Homebrew/test/testing_env.rb'
- 'Homebrew/utils.rb' - 'Homebrew/utils.rb'
@ -103,14 +187,6 @@ Style/GlobalVars:
- 'Homebrew/diagnostic.rb' - 'Homebrew/diagnostic.rb'
- 'Homebrew/utils.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 # Offense count: 2
# Cop supports --auto-correct. # Cop supports --auto-correct.
# Configuration parameters: SupportedStyles, IndentationWidth. # Configuration parameters: SupportedStyles, IndentationWidth.
@ -118,7 +194,7 @@ Style/IfUnlessModifier:
Style/IndentArray: Style/IndentArray:
EnforcedStyle: special_inside_parentheses EnforcedStyle: special_inside_parentheses
# Offense count: 7 # Offense count: 5
# Configuration parameters: EnforcedStyle, SupportedStyles. # Configuration parameters: EnforcedStyle, SupportedStyles.
# SupportedStyles: module_function, extend_self # SupportedStyles: module_function, extend_self
Style/ModuleFunction: Style/ModuleFunction:
@ -147,16 +223,9 @@ Style/MutableConstant:
- 'Homebrew/tap.rb' - 'Homebrew/tap.rb'
# Offense count: 9 # Offense count: 9
# Offense count: 8
Style/OpMethod: Style/OpMethod:
Exclude: Exclude:
- 'Homebrew/compilers.rb'
- 'Homebrew/dependencies.rb' - 'Homebrew/dependencies.rb'
- 'Homebrew/install_renamed.rb' - 'Homebrew/install_renamed.rb'
- 'Homebrew/options.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

View File

@ -1,5 +1,7 @@
#!/usr/bin/env ruby #!/usr/bin/env ruby
require "english"
SimpleCov.start do SimpleCov.start do
coverage_dir File.expand_path("../test/coverage", File.realpath(__FILE__)) coverage_dir File.expand_path("../test/coverage", File.realpath(__FILE__))
root File.expand_path("..", File.realpath(__FILE__)) root File.expand_path("..", File.realpath(__FILE__))
@ -16,9 +18,9 @@ SimpleCov.start do
add_filter "/Homebrew/vendor/" add_filter "/Homebrew/vendor/"
if ENV["HOMEBREW_INTEGRATION_TEST"] if ENV["HOMEBREW_INTEGRATION_TEST"]
command_name "#{ENV["HOMEBREW_INTEGRATION_TEST"]} (#{$$})" command_name "#{ENV["HOMEBREW_INTEGRATION_TEST"]} (#{$PROCESS_ID})"
at_exit do at_exit do
exit_code = $!.nil? ? 0 : $!.status exit_code = $ERROR_INFO.nil? ? 0 : $ERROR_INFO.status
$stdout.reopen("/dev/null") $stdout.reopen("/dev/null")
# Just save result, but don't write formatted output. # Just save result, but don't write formatted output.
@ -30,7 +32,7 @@ SimpleCov.start do
exit! exit_code exit! exit_code
end end
else else
command_name "#{command_name} (#{$$})" command_name "#{command_name} (#{$PROCESS_ID})"
# Not using this during integration tests makes the tests 4x times faster # Not using this during integration tests makes the tests 4x times faster
# without changing the coverage. # without changing the coverage.
track_files "#{SimpleCov.root}/**/*.rb" track_files "#{SimpleCov.root}/**/*.rb"

View File

@ -9,7 +9,7 @@ Metrics/AbcSize:
Enabled: false Enabled: false
Metrics/ClassLength: Metrics/ClassLength:
Enabled: false Enabled: false
Metrics/CyclomaticComplexity: Metrics/CyclomaticComplexity:
Enabled: false Enabled: false

View File

@ -4,7 +4,7 @@ require "thread"
module Homebrew module Homebrew
module Cleanup module Cleanup
@@disk_cleanup_size = 0 @disk_cleanup_size = 0
def self.cleanup def self.cleanup
cleanup_cellar cleanup_cellar
@ -17,11 +17,11 @@ module Homebrew
end end
def self.update_disk_cleanup_size(path_size) def self.update_disk_cleanup_size(path_size)
@@disk_cleanup_size += path_size @disk_cleanup_size += path_size
end end
def self.disk_cleanup_size def self.disk_cleanup_size
@@disk_cleanup_size @disk_cleanup_size
end end
def self.cleanup_formula(formula) def self.cleanup_formula(formula)

View File

@ -38,9 +38,7 @@ require "date"
module Homebrew module Homebrew
def audit def audit
if ARGV.switch? "D" Homebrew.inject_dump_stats!(FormulaAuditor, /^audit_/) if ARGV.switch? "D"
Homebrew.inject_dump_stats!(FormulaAuditor, /^audit_/)
end
formula_count = 0 formula_count = 0
problem_count = 0 problem_count = 0
@ -251,9 +249,7 @@ class FormulaAuditor
actual_mode & 0777, wanted_mode & 0777, formula.path) actual_mode & 0777, wanted_mode & 0777, formula.path)
end end
if text.data? && !text.end? problem "'DATA' was found, but no '__END__'" if text.data? && !text.end?
problem "'DATA' was found, but no '__END__'"
end
if text.end? && !text.data? if text.end? && !text.data?
problem "'__END__' was found, but 'DATA' is not used" problem "'__END__' was found, but 'DATA' is not used"
@ -263,9 +259,7 @@ class FormulaAuditor
problem "'inreplace ... do' was used for a single substitution (use the non-block form instead)." problem "'inreplace ... do' was used for a single substitution (use the non-block form instead)."
end end
unless text.trailing_newline? problem "File should end with a newline" unless text.trailing_newline?
problem "File should end with a newline"
end
return unless @strict return unless @strict
@ -742,9 +736,7 @@ class FormulaAuditor
end end
# Commented-out cmake support from default template # Commented-out cmake support from default template
if line.include?('# system "cmake') problem "Commented cmake call found" if line.include?('# system "cmake')
problem "Commented cmake call found"
end
# Comments from default template # Comments from default template
[ [
@ -757,9 +749,8 @@ class FormulaAuditor
"# if your formula fails when building in parallel", "# if your formula fails when building in parallel",
"# Remove unrecognized options if warned by configure", "# Remove unrecognized options if warned by configure",
].each do |comment| ].each do |comment|
if line.include? comment next unless line.include?(comment)
problem "Please remove default template comments" problem "Please remove default template comments"
end
end end
# FileUtils is included in Formula # FileUtils is included in Formula
@ -814,26 +805,18 @@ class FormulaAuditor
end end
# Commented-out depends_on # Commented-out depends_on
if line =~ /#\s*depends_on\s+(.+)\s*$/ problem "Commented-out dep #{$1}" if line =~ /#\s*depends_on\s+(.+)\s*$/
problem "Commented-out dep #{$1}"
end
# No trailing whitespace, please # No trailing whitespace, please
if line =~ /[\t ]+$/ problem "#{lineno}: Trailing whitespace was found" if line =~ /[\t ]+$/
problem "#{lineno}: Trailing whitespace was found"
end
if line =~ /if\s+ARGV\.include\?\s+'--(HEAD|devel)'/ if line =~ /if\s+ARGV\.include\?\s+'--(HEAD|devel)'/
problem "Use \"if build.#{$1.downcase}?\" instead" problem "Use \"if build.#{$1.downcase}?\" instead"
end end
if line.include?("make && make") problem "Use separate make calls" if line.include?("make && make")
problem "Use separate make calls"
end
if line =~ /^[ ]*\t/ problem "Use spaces instead of tabs for indentation" if line =~ /^[ ]*\t/
problem "Use spaces instead of tabs for indentation"
end
if line.include?("ENV.x11") if line.include?("ENV.x11")
problem "Use \"depends_on :x11\" instead of \"ENV.x11\"" problem "Use \"depends_on :x11\" instead of \"ENV.x11\""
@ -892,9 +875,7 @@ class FormulaAuditor
problem "Use build instead of ARGV to check options" problem "Use build instead of ARGV to check options"
end end
if line.include?("def options") problem "Use new-style option definitions" if line.include?("def options")
problem "Use new-style option definitions"
end
if line.end_with?("def test") if line.end_with?("def test")
problem "Use new-style test definitions (test do)" problem "Use new-style test definitions (test do)"
@ -970,9 +951,7 @@ class FormulaAuditor
end end
end end
if line =~ /(require ["']formula["'])/ problem "`#{$1}` is now unnecessary" if line =~ /(require ["']formula["'])/
problem "`#{$1}` is now unnecessary"
end
if line =~ %r{#\{share\}/#{Regexp.escape(formula.name)}[/'"]} if line =~ %r{#\{share\}/#{Regexp.escape(formula.name)}[/'"]}
problem "Use \#{pkgshare} instead of \#{share}/#{formula.name}" problem "Use \#{pkgshare} instead of \#{share}/#{formula.name}"
@ -1161,9 +1140,7 @@ class ResourceAuditor
if using == :cvs if using == :cvs
mod = specs[:module] mod = specs[:module]
if mod == name problem "Redundant :module value in URL" if mod == name
problem "Redundant :module value in URL"
end
if url =~ %r{:[^/]+$} if url =~ %r{:[^/]+$}
mod = url.split(":").last mod = url.split(":").last
@ -1264,9 +1241,7 @@ class ResourceAuditor
problem "Don't use specific dl mirrors in SourceForge urls (url is #{p})." problem "Don't use specific dl mirrors in SourceForge urls (url is #{p})."
end end
if p.start_with? "http://downloads" problem "Please use https:// for #{p}" if p.start_with? "http://downloads"
problem "Please use https:// for #{p}"
end
end end
# Debian has an abundance of secure mirrors. Let's not pluck the insecure # Debian has an abundance of secure mirrors. Let's not pluck the insecure