Merge pull request #3636 from Homebrew/rubocop-bump

rubocop 0.52.1
This commit is contained in:
Mike McQuaid 2018-01-18 15:16:53 +00:00 committed by GitHub
commit 10384231a2
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
19 changed files with 101 additions and 108 deletions

View File

@ -123,6 +123,14 @@ Style/Documentation:
Style/Encoding:
Enabled: true
# disabled until we get the Metrics/LineLength down to 80.
Style/IfUnlessModifier:
Enabled: false
# messes with existing plist/caveats style
Style/TrailingBodyOnMethodDefinition:
Enabled: false
# use spaces for indentation; detect tabs
Layout/Tab:
Enabled: true
@ -214,7 +222,7 @@ Style/FrozenStringLiteralComment:
Enabled: false
# generally rescuing StandardError is fine
Lint/RescueWithoutErrorClass:
Style/RescueStandardError:
Enabled: false
# implicitly allow EOS as we use it everywhere

View File

@ -5,6 +5,7 @@ AllCops:
Include:
- '**/.simplecov'
Exclude:
- 'bin/*'
- '**/Casks/**/*'
- '**/vendor/**/*'
@ -79,3 +80,7 @@ Style/GuardClause:
# hash-rockets preferred for formulae, a: 1 preferred elsewhere
Style/HashSyntax:
EnforcedStyle: ruby19_no_mixed_keys
# so many of these in formulae but none in here
Style/TrailingBodyOnMethodDefinition:
Enabled: true

View File

@ -70,7 +70,6 @@ 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"

View File

@ -1,6 +1,5 @@
# frozen_string_literal: true
# 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
HOMEBREW_RUBOCOP_VERSION = "0.52.1"
HOMEBREW_RUBOCOP_CASK_VERSION = "~> 0.16.0" # has to be updated when RuboCop version changes

View File

@ -165,77 +165,73 @@ class FormulaCreator
path.write ERB.new(template, nil, ">").result(binding)
end
def template; <<~EOS
# Documentation: https://docs.brew.sh/Formula-Cookbook.html
# http://www.rubydoc.info/github/Homebrew/brew/master/Formula
# PLEASE REMOVE ALL GENERATED COMMENTS BEFORE SUBMITTING YOUR PULL REQUEST!
class #{Formulary.class_s(name)} < Formula
desc "#{desc}"
homepage "#{homepage}"
<% if head? %>
head "#{url}"
<% else %>
url "#{url}"
<% unless version.nil? or version.detected_from_url? %>
version "#{version}"
<% end %>
sha256 "#{sha256}"
<% end %>
<% if mode == :cmake %>
depends_on "cmake" => :build
<% elsif mode == :meson %>
depends_on "meson" => :build
depends_on "ninja" => :build
<% elsif mode.nil? %>
# depends_on "cmake" => :build
<% end %>
def install
# ENV.deparallelize # if your formula fails when building in parallel
<% if mode == :cmake %>
system "cmake", ".", *std_cmake_args
<% elsif mode == :autotools %>
# Remove unrecognized options if warned by configure
system "./configure", "--disable-debug",
"--disable-dependency-tracking",
"--disable-silent-rules",
"--prefix=\#{prefix}"
<% elsif mode == :meson %>
mkdir "build" do
system "meson", "--prefix=\#{prefix}", ".."
system "ninja"
system "ninja", "test"
system "ninja", "install"
def template
<<~EOS
# Documentation: https://docs.brew.sh/Formula-Cookbook.html
# http://www.rubydoc.info/github/Homebrew/brew/master/Formula
# PLEASE REMOVE ALL GENERATED COMMENTS BEFORE SUBMITTING YOUR PULL REQUEST!
class #{Formulary.class_s(name)} < Formula
desc "#{desc}"
homepage "#{homepage}"
<% if head? %>
head "#{url}"
<% else %>
url "#{url}"
<% unless version.nil? or version.detected_from_url? %>
version "#{version}"
<% end %>
sha256 "#{sha256}"
<% end %>
<% if mode == :cmake %>
depends_on "cmake" => :build
<% elsif mode == :meson %>
depends_on "meson" => :build
depends_on "ninja" => :build
<% elsif mode.nil? %>
# depends_on "cmake" => :build
<% end %>
def install
# ENV.deparallelize # if your formula fails when building in parallel
<% if mode == :cmake %>
system "cmake", ".", *std_cmake_args
<% elsif mode == :autotools %>
# Remove unrecognized options if warned by configure
system "./configure", "--disable-debug",
"--disable-dependency-tracking",
"--disable-silent-rules",
"--prefix=\#{prefix}"
<% elsif mode == :meson %>
mkdir "build" do
system "meson", "--prefix=\#{prefix}", ".."
system "ninja"
system "ninja", "test"
system "ninja", "install"
end
<% else %>
# Remove unrecognized options if warned by configure
system "./configure", "--disable-debug",
"--disable-dependency-tracking",
"--disable-silent-rules",
"--prefix=\#{prefix}"
# system "cmake", ".", *std_cmake_args
<% end %>
<% if mode != :meson %>
system "make", "install" # if this fails, try separate make/make install steps
<% end %>
end
test do
# `test do` will create, run in and delete a temporary directory.
#
# This test will fail and we won't accept that! For Homebrew/homebrew-core
# this will need to be a test that verifies the functionality of the
# software. Run the test with `brew test #{name}`. Options passed
# to `brew install` such as `--HEAD` also need to be provided to `brew test`.
#
# The installed folder is not in the path, so use the entire path to any
# executables being tested: `system "\#{bin}/program", "do", "something"`.
system "false"
end
<% else %>
# Remove unrecognized options if warned by configure
system "./configure", "--disable-debug",
"--disable-dependency-tracking",
"--disable-silent-rules",
"--prefix=\#{prefix}"
# system "cmake", ".", *std_cmake_args
<% end %>
<% if mode != :meson %>
system "make", "install" # if this fails, try separate make/make install steps
<% end %>
end
test do
# `test do` will create, run in and delete a temporary directory.
#
# This test will fail and we won't accept that! For Homebrew/homebrew-core
# this will need to be a test that verifies the functionality of the
# software. Run the test with `brew test #{name}`. Options passed
# to `brew install` such as `--HEAD` also need to be provided to `brew test`.
#
# The installed folder is not in the path, so use the entire path to any
# executables being tested: `system "\#{bin}/program", "do", "something"`.
system "false"
end
end
EOS
end
end

View File

@ -54,9 +54,10 @@ class Keg
end
class DirectoryNotWritableError < LinkError
def to_s; <<~EOS
Could not symlink #{src}
#{dst.dirname} is not writable.
def to_s
<<~EOS
Could not symlink #{src}
#{dst.dirname} is not writable.
EOS
end
end

View File

@ -16,8 +16,6 @@ module RuboCop
problem "Use rebuild instead of revision in bottle block" if method_called_in_block?(bottle, :revision)
end
private
def autocorrect(node)
lambda do |corrector|
correction = node.source.sub("revision", "rebuild")

View File

@ -50,8 +50,6 @@ module RuboCop
end
end
private
def autocorrect(node)
lambda do |corrector|
correction = node.source.downcase

View File

@ -16,8 +16,6 @@ module RuboCop
problem "#{parent_class} is deprecated, use Formula instead"
end
private
def autocorrect(node)
lambda do |corrector|
corrector.replace(node.source_range, "Formula")

View File

@ -62,8 +62,6 @@ module RuboCop
end
end
private
# Method to format message for reporting component precedence violations
def component_problem(c1, c2)
problem "`#{format_component(c1)}` (line #{line_number(c1)}) should be put before `#{format_component(c2)}` (line #{line_number(c2)})"
@ -99,7 +97,7 @@ module RuboCop
line_breaks = (order_idx > 8) ? "\n\n" : "\n"
corrector.insert_before(node2.source_range, node1.source + line_breaks + indentation)
end
corrector.remove(range_with_surrounding_space(node1.source_range, :left))
corrector.remove(range_with_surrounding_space(range: node1.source_range, side: :left))
end
# Returns precedence index and component's index to properly reorder and group during autocorrect

View File

@ -425,7 +425,7 @@ module RuboCop
# Returns the block length of the block node
def block_size(block)
block_length(block)
block.loc.end.line - block.loc.begin.line
end
# Source buffer is required as an argument to report style violations

View File

@ -88,8 +88,6 @@ module RuboCop
problem "Description shouldn't end with a full stop"
end
private
def autocorrect(node)
lambda do |corrector|
correction = node.source

View File

@ -206,8 +206,6 @@ module RuboCop
end
end
private
def autocorrect(node)
lambda do |corrector|
url_string_node = parameters(node).first

View File

@ -3,7 +3,6 @@ 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

View File

@ -12,12 +12,10 @@ GEM
parallel (1.12.0)
parallel_tests (2.17.0)
parallel
parser (2.4.0.0)
ast (~> 2.2)
parser (2.4.0.2)
ast (~> 2.3)
powerpack (0.1.1)
rainbow (2.2.2)
rake
rake (12.1.0)
rainbow (3.0.0)
rspec (3.6.0)
rspec-core (~> 3.6.0)
rspec-expectations (~> 3.6.0)
@ -36,11 +34,11 @@ GEM
rspec-support (3.6.0)
rspec-wait (0.0.9)
rspec (>= 3, < 4)
rubocop (0.51.0)
rubocop (0.52.1)
parallel (~> 1.10)
parser (>= 2.3.3.1, < 3.0)
parser (>= 2.4.0.2, < 3.0)
powerpack (~> 0.1)
rainbow (>= 2.2.2, < 3.0)
rainbow (>= 2.2.2, < 4.0)
ruby-progressbar (~> 1.7)
unicode-display_width (~> 1.0, >= 1.0.1)
ruby-progressbar (1.9.0)
@ -58,11 +56,10 @@ PLATFORMS
DEPENDENCIES
codecov
parallel_tests
parser (= 2.4.0.0)
rspec
rspec-its
rspec-wait
rubocop (= 0.51.0)
rubocop (= 0.52.1)
simplecov
BUNDLED WITH

View File

@ -232,8 +232,9 @@ describe Hbc::DSL, :cask do
expect(cask.caveats).to be_empty
cask = Hbc::Cask.new("cask-with-caveats") do
def caveats; <<~EOS
When you install this Cask, you probably want to know this.
def caveats
<<~EOS
When you install this Cask, you probably want to know this.
EOS
end
end

View File

@ -28,7 +28,7 @@ describe "brew style" do
rubocop_result = Homebrew.check_style_json([formula])
expect(rubocop_result.file_offenses(formula.realpath.to_s).map(&:message))
.to include("Extra empty line detected at class body beginning.")
.to include("Layout/EmptyLinesAroundClassBody: Extra empty line detected at class body beginning.")
end
end
end

View File

@ -19,7 +19,7 @@ module Test
return super(block) unless @tty
colored_tty_block = lambda do
instance_eval("$#{@output}").extend(Module.new do
instance_eval("$#{@output}", __FILE__, __LINE__).extend(Module.new do
def tty?
true
end
@ -32,7 +32,7 @@ module Test
return super(colored_tty_block) if @colors
uncolored_tty_block = lambda do
instance_eval <<-EOS
instance_eval <<-EOS, __FILE__, __LINE__ + 1
begin
captured_stream = StringIO.new

View File

@ -129,7 +129,7 @@ module GitHub
# This is a no-op if the user is opting out of using the GitHub API.
return block_given? ? yield({}) : {} if ENV["HOMEBREW_NO_GITHUB_API"]
args = %W[--header application/vnd.github.v3+json --write-out \n%{http_code}]
args = %W[--header application/vnd.github.v3+json --write-out \n%{http_code}] # rubocop:disable Lint/NestedPercentLiteral
args += curl_args
token, username = api_credentials