From bd8805b14fb8a2275fcc3b21d78c555d6f5c72e3 Mon Sep 17 00:00:00 2001 From: Rylan Polster Date: Fri, 3 Jul 2020 16:27:35 -0400 Subject: [PATCH] style: separate make commands --- Library/Homebrew/dev-cmd/audit.rb | 3 --- Library/Homebrew/rubocops/text.rb | 7 +++++++ Library/Homebrew/test/rubocops/text_spec.rb | 11 +++++++++++ 3 files changed, 18 insertions(+), 3 deletions(-) diff --git a/Library/Homebrew/dev-cmd/audit.rb b/Library/Homebrew/dev-cmd/audit.rb index b1f3462b07..1a3749ca63 100644 --- a/Library/Homebrew/dev-cmd/audit.rb +++ b/Library/Homebrew/dev-cmd/audit.rb @@ -858,9 +858,6 @@ module Homebrew ) end - # TODO: check could be in RuboCop - problem "Use separate make calls" if line.include?("make && make") - if line =~ /JAVA_HOME/i && [formula.name, *formula.deps.map(&:name)].none? { |name| name.match?(/^openjdk(@|$)/) } && formula.requirements.none? { |req| req.is_a?(JavaRequirement) } diff --git a/Library/Homebrew/rubocops/text.rb b/Library/Homebrew/rubocops/text.rb index 6938d5f5fc..c41fd4c913 100644 --- a/Library/Homebrew/rubocops/text.rb +++ b/Library/Homebrew/rubocops/text.rb @@ -62,6 +62,13 @@ module RuboCop find_method_with_args(body_node, :system, "cargo", "build") do problem "use \"cargo\", \"install\", *std_cargo_args" end + + find_every_method_call_by_name(body_node, :system).each do |m| + next unless parameters_passed?(m, /make && make/) + + offending_node(m) + problem "Use separate `make` calls" + end end end end diff --git a/Library/Homebrew/test/rubocops/text_spec.rb b/Library/Homebrew/test/rubocops/text_spec.rb index 38204d4ef6..561ff18f9e 100644 --- a/Library/Homebrew/test/rubocops/text_spec.rb +++ b/Library/Homebrew/test/rubocops/text_spec.rb @@ -215,5 +215,16 @@ describe RuboCop::Cop::FormulaAudit::Text do end RUBY end + + it "When make calls are not separated" do + expect_offense(<<~RUBY) + class Foo < Formula + def install + system "make && make install" + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Use separate `make` calls + end + end + RUBY + end end end