diff options
Diffstat (limited to 'Library/Homebrew/cmd/style.rb')
| -rw-r--r-- | Library/Homebrew/cmd/style.rb | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/Library/Homebrew/cmd/style.rb b/Library/Homebrew/cmd/style.rb index 687ee36b8..228aa360e 100644 --- a/Library/Homebrew/cmd/style.rb +++ b/Library/Homebrew/cmd/style.rb @@ -19,6 +19,7 @@ require "utils" require "json" +require "open3" module Homebrew module_function @@ -104,16 +105,16 @@ module Homebrew when :print args << "--display-cop-names" if ARGV.include? "--display-cop-names" args << "--format" << "simple" if files - system "rubocop", *args + system({ "XDG_CACHE_HOME" => HOMEBREW_CACHE }, "rubocop", *args) !$?.success? when :json - json = Utils.popen_read_text("rubocop", "--format", "json", *args) + json, _, status = Open3.capture3({ "XDG_CACHE_HOME" => HOMEBREW_CACHE }, "rubocop", "--format", "json", *args) # exit status of 1 just means violations were found; other numbers mean # execution errors. # exitstatus can also be nil if RuboCop process crashes, e.g. due to # native extension problems. # JSON needs to be at least 2 characters. - if $?.exitstatus.nil? || $?.exitstatus > 1 || json.to_s.length < 2 + if !status.success? || json.to_s.length < 2 raise "Error running `rubocop --format json #{args.join " "}`" end RubocopResults.new(JSON.parse(json)) |
