lines_cop: check for more deprecated requirements.

This commit is contained in:
Mike McQuaid 2017-12-30 18:58:41 +00:00
parent d54e670a64
commit 4fff56ca4f

View File

@ -6,12 +6,14 @@ module RuboCop
# This cop checks for various miscellaneous Homebrew coding styles # This cop checks for various miscellaneous Homebrew coding styles
class Lines < FormulaCop class Lines < FormulaCop
def audit_formula(_node, _class_node, _parent_class_node, _body_node) def audit_formula(_node, _class_node, _parent_class_node, _body_node)
[:automake, :autoconf, :libtool, :mysql, :postgresql, :rbenv].each do |dependency| [:automake, :ant, :autoconf, :emacs, :expat, :libtool, :mysql, :perl,
:postgresql, :python, :python3, :rbenv, :ruby].each do |dependency|
next unless depends_on?(dependency) next unless depends_on?(dependency)
problem ":#{dependency} is deprecated. Usage should be \"#{dependency}\"." problem ":#{dependency} is deprecated. Usage should be \"#{dependency}\"."
end end
{ apr: "apr-util", gpg: "gnupg" }.each do |requirement, dependency| { apr: "apr-util", fortran: "gcc", gpg: "gnupg", hg: "mercurial",
mpi: "open-mpi", python2: "python" }.each do |requirement, dependency|
next unless depends_on?(requirement) next unless depends_on?(requirement)
problem ":#{requirement} is deprecated. Usage should be \"#{dependency}\"." problem ":#{requirement} is deprecated. Usage should be \"#{dependency}\"."
end end
@ -239,11 +241,6 @@ module RuboCop
problem "Use 'build.head?' instead of inspecting 'version'" problem "Use 'build.head?' instead of inspecting 'version'"
end end
find_instance_method_call(body_node, "ENV", :fortran) do
next if depends_on?(:fortran)
problem "Use `depends_on :fortran` instead of `ENV.fortran`"
end
find_instance_method_call(body_node, "ARGV", :include?) do |method| find_instance_method_call(body_node, "ARGV", :include?) do |method|
param = parameters(method).first param = parameters(method).first
next unless match = regex_match_group(param, /^--(HEAD|devel)/) next unless match = regex_match_group(param, /^--(HEAD|devel)/)