aboutsummaryrefslogtreecommitdiffstats
path: root/Library
diff options
context:
space:
mode:
authorMike McQuaid2018-01-07 15:39:37 +0000
committerGitHub2018-01-07 15:39:37 +0000
commit09bfb2a8f0b566d592e6d1213fc632e66f8a0604 (patch)
treef1565e7e9d5136464a8c07c6c0a49b861521f9ac /Library
parent4438fe117592475d4ddf255c064d2fd95b541a90 (diff)
parent1bd7d7df04321ebf39cc39d06486768df7245650 (diff)
downloadbrew-09bfb2a8f0b566d592e6d1213fc632e66f8a0604.tar.bz2
Merge pull request #3633 from MikeMcQuaid/lines_cop_version
lines_cop: flag `depends_on :perl => "1.0"`.
Diffstat (limited to 'Library')
-rw-r--r--Library/Homebrew/cmd/style.rb1
-rw-r--r--Library/Homebrew/constants.rb1
-rw-r--r--Library/Homebrew/rubocops/extend/formula_cop.rb18
-rw-r--r--Library/Homebrew/test/Gemfile1
-rw-r--r--Library/Homebrew/test/Gemfile.lock3
5 files changed, 14 insertions, 10 deletions
diff --git a/Library/Homebrew/cmd/style.rb b/Library/Homebrew/cmd/style.rb
index 89484d67d..27047dfd0 100644
--- a/Library/Homebrew/cmd/style.rb
+++ b/Library/Homebrew/cmd/style.rb
@@ -70,6 +70,7 @@ module Homebrew
def check_style_impl(files, output_type, options = {})
fix = options[:fix]
+ Homebrew.install_gem_setup_path! "parser", HOMEBREW_RUBOCOP_PARSER_VERSION, "ruby-parse"
Homebrew.install_gem_setup_path! "rubocop", HOMEBREW_RUBOCOP_VERSION
require "rubocop"
require_relative "../rubocops"
diff --git a/Library/Homebrew/constants.rb b/Library/Homebrew/constants.rb
index 529c49feb..41274922c 100644
--- a/Library/Homebrew/constants.rb
+++ b/Library/Homebrew/constants.rb
@@ -2,4 +2,5 @@
# RuboCop version used for `brew style` and `brew cask style`
HOMEBREW_RUBOCOP_VERSION = "0.51.0"
+HOMEBREW_RUBOCOP_PARSER_VERSION = "2.4.0.0" # for Ruby 2.3.3
HOMEBREW_RUBOCOP_CASK_VERSION = "~> 0.15.1" # has to be updated when RuboCop version changes
diff --git a/Library/Homebrew/rubocops/extend/formula_cop.rb b/Library/Homebrew/rubocops/extend/formula_cop.rb
index 9d16db36d..71a5caf74 100644
--- a/Library/Homebrew/rubocops/extend/formula_cop.rb
+++ b/Library/Homebrew/rubocops/extend/formula_cop.rb
@@ -146,7 +146,7 @@ module RuboCop
# Returns nil if does not depend on dependency_name
# args: node - dependency_name - dependency's name
def depends_on?(dependency_name, *types)
- types = [:required, :build, :optional, :recommended, :run] if types.empty?
+ types = [:any] if types.empty?
dependency_nodes = find_every_method_call_by_name(@body, :depends_on)
idx = dependency_nodes.index do |n|
types.any? { |type| depends_on_name_type?(n, dependency_name, type) }
@@ -168,14 +168,14 @@ module RuboCop
case type
when :required
type_match = required_dependency?(node)
- if type_match && !name_match
- name_match = required_dependency_name?(node, name)
- end
+ name_match ||= required_dependency_name?(node, name) if type_match
when :build, :optional, :recommended, :run
type_match = dependency_type_hash_match?(node, type)
- if type_match && !name_match
- name_match = dependency_name_hash_match?(node, name)
- end
+ name_match ||= dependency_name_hash_match?(node, name) if type_match
+ when :any
+ type_match = true
+ name_match ||= required_dependency_name?(node, name)
+ name_match ||= dependency_name_hash_match?(node, name)
else
type_match = false
end
@@ -214,7 +214,7 @@ module RuboCop
EOS
def_node_search :dependency_name_hash_match?, <<~EOS
- (hash (pair ({str sym} %1) ({str sym} _)))
+ (hash (pair ({str sym} %1) ({str sym array} _)))
EOS
# To compare node with appropriate Ruby variable
@@ -467,7 +467,7 @@ module RuboCop
end
def problem(msg)
- add_offense(@offensive_node, @offense_source_range, msg)
+ add_offense(@offensive_node, location: @offense_source_range, message: msg)
end
private
diff --git a/Library/Homebrew/test/Gemfile b/Library/Homebrew/test/Gemfile
index b6d1405ff..2dcb670aa 100644
--- a/Library/Homebrew/test/Gemfile
+++ b/Library/Homebrew/test/Gemfile
@@ -3,6 +3,7 @@ source "https://rubygems.org"
require_relative "../constants"
gem "parallel_tests"
+gem "parser", HOMEBREW_RUBOCOP_PARSER_VERSION
gem "rspec"
gem "rspec-its", require: false
gem "rspec-wait", require: false
diff --git a/Library/Homebrew/test/Gemfile.lock b/Library/Homebrew/test/Gemfile.lock
index 1620d7099..9ddc18e71 100644
--- a/Library/Homebrew/test/Gemfile.lock
+++ b/Library/Homebrew/test/Gemfile.lock
@@ -58,6 +58,7 @@ PLATFORMS
DEPENDENCIES
codecov
parallel_tests
+ parser (= 2.4.0.0)
rspec
rspec-its
rspec-wait
@@ -65,4 +66,4 @@ DEPENDENCIES
simplecov
BUNDLED WITH
- 1.15.4
+ 1.16.0