diff options
| author | Mike McQuaid | 2018-01-18 15:16:53 +0000 | 
|---|---|---|
| committer | GitHub | 2018-01-18 15:16:53 +0000 | 
| commit | 10384231a2c8743f554d1e6a3d5067e840365649 (patch) | |
| tree | 6865b3acaaaf7a93512406e09e4ea07dc636283d | |
| parent | 230d630bd6cfd5ec9d317c83caea66a03d2b6c10 (diff) | |
| parent | 1f48e17f1b2f681ea56b72b8d2c1eebdb77f2181 (diff) | |
| download | brew-10384231a2c8743f554d1e6a3d5067e840365649.tar.bz2 | |
Merge pull request #3636 from Homebrew/rubocop-bump
rubocop 0.52.1
| -rw-r--r-- | Library/.rubocop.yml | 10 | ||||
| -rw-r--r-- | Library/Homebrew/.rubocop.yml | 5 | ||||
| -rw-r--r-- | Library/Homebrew/cmd/style.rb | 1 | ||||
| -rw-r--r-- | Library/Homebrew/constants.rb | 5 | ||||
| -rw-r--r-- | Library/Homebrew/dev-cmd/create.rb | 134 | ||||
| -rw-r--r-- | Library/Homebrew/keg.rb | 7 | ||||
| -rw-r--r-- | Library/Homebrew/rubocops/bottle_block_cop.rb | 2 | ||||
| -rw-r--r-- | Library/Homebrew/rubocops/checksum_cop.rb | 2 | ||||
| -rw-r--r-- | Library/Homebrew/rubocops/class_cop.rb | 2 | ||||
| -rw-r--r-- | Library/Homebrew/rubocops/components_order_cop.rb | 4 | ||||
| -rw-r--r-- | Library/Homebrew/rubocops/extend/formula_cop.rb | 2 | ||||
| -rw-r--r-- | Library/Homebrew/rubocops/formula_desc_cop.rb | 2 | ||||
| -rw-r--r-- | Library/Homebrew/rubocops/urls_cop.rb | 2 | ||||
| -rw-r--r-- | Library/Homebrew/test/Gemfile | 1 | ||||
| -rw-r--r-- | Library/Homebrew/test/Gemfile.lock | 17 | ||||
| -rw-r--r-- | Library/Homebrew/test/cask/dsl_spec.rb | 5 | ||||
| -rw-r--r-- | Library/Homebrew/test/cmd/style_spec.rb | 2 | ||||
| -rw-r--r-- | Library/Homebrew/test/support/helper/output_as_tty.rb | 4 | ||||
| -rw-r--r-- | Library/Homebrew/utils/github.rb | 2 | 
19 files changed, 101 insertions, 108 deletions
| diff --git a/Library/.rubocop.yml b/Library/.rubocop.yml index 051a57f93..d93d1bd8b 100644 --- a/Library/.rubocop.yml +++ b/Library/.rubocop.yml @@ -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 diff --git a/Library/Homebrew/.rubocop.yml b/Library/Homebrew/.rubocop.yml index 354867738..e0089e050 100644 --- a/Library/Homebrew/.rubocop.yml +++ b/Library/Homebrew/.rubocop.yml @@ -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 diff --git a/Library/Homebrew/cmd/style.rb b/Library/Homebrew/cmd/style.rb index 27047dfd0..89484d67d 100644 --- a/Library/Homebrew/cmd/style.rb +++ b/Library/Homebrew/cmd/style.rb @@ -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" diff --git a/Library/Homebrew/constants.rb b/Library/Homebrew/constants.rb index 41274922c..9514320ab 100644 --- a/Library/Homebrew/constants.rb +++ b/Library/Homebrew/constants.rb @@ -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 diff --git a/Library/Homebrew/dev-cmd/create.rb b/Library/Homebrew/dev-cmd/create.rb index e5481b532..122be2593 100644 --- a/Library/Homebrew/dev-cmd/create.rb +++ b/Library/Homebrew/dev-cmd/create.rb @@ -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 diff --git a/Library/Homebrew/keg.rb b/Library/Homebrew/keg.rb index bb9778c81..e3b93fa72 100644 --- a/Library/Homebrew/keg.rb +++ b/Library/Homebrew/keg.rb @@ -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 diff --git a/Library/Homebrew/rubocops/bottle_block_cop.rb b/Library/Homebrew/rubocops/bottle_block_cop.rb index 77759e427..3cfde01ad 100644 --- a/Library/Homebrew/rubocops/bottle_block_cop.rb +++ b/Library/Homebrew/rubocops/bottle_block_cop.rb @@ -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") diff --git a/Library/Homebrew/rubocops/checksum_cop.rb b/Library/Homebrew/rubocops/checksum_cop.rb index 23a787809..4dd8ad91c 100644 --- a/Library/Homebrew/rubocops/checksum_cop.rb +++ b/Library/Homebrew/rubocops/checksum_cop.rb @@ -50,8 +50,6 @@ module RuboCop            end          end -        private -          def autocorrect(node)            lambda do |corrector|              correction = node.source.downcase diff --git a/Library/Homebrew/rubocops/class_cop.rb b/Library/Homebrew/rubocops/class_cop.rb index dad81abfc..6f1ffc144 100644 --- a/Library/Homebrew/rubocops/class_cop.rb +++ b/Library/Homebrew/rubocops/class_cop.rb @@ -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") diff --git a/Library/Homebrew/rubocops/components_order_cop.rb b/Library/Homebrew/rubocops/components_order_cop.rb index 3bf2ede16..a1a576177 100644 --- a/Library/Homebrew/rubocops/components_order_cop.rb +++ b/Library/Homebrew/rubocops/components_order_cop.rb @@ -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 diff --git a/Library/Homebrew/rubocops/extend/formula_cop.rb b/Library/Homebrew/rubocops/extend/formula_cop.rb index de369a0aa..e53c02a44 100644 --- a/Library/Homebrew/rubocops/extend/formula_cop.rb +++ b/Library/Homebrew/rubocops/extend/formula_cop.rb @@ -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 diff --git a/Library/Homebrew/rubocops/formula_desc_cop.rb b/Library/Homebrew/rubocops/formula_desc_cop.rb index 8a35e7d24..240a28072 100644 --- a/Library/Homebrew/rubocops/formula_desc_cop.rb +++ b/Library/Homebrew/rubocops/formula_desc_cop.rb @@ -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 diff --git a/Library/Homebrew/rubocops/urls_cop.rb b/Library/Homebrew/rubocops/urls_cop.rb index 414f633c9..4ef801689 100644 --- a/Library/Homebrew/rubocops/urls_cop.rb +++ b/Library/Homebrew/rubocops/urls_cop.rb @@ -206,8 +206,6 @@ module RuboCop            end          end -        private -          def autocorrect(node)            lambda do |corrector|              url_string_node = parameters(node).first diff --git a/Library/Homebrew/test/Gemfile b/Library/Homebrew/test/Gemfile index 2dcb670aa..b6d1405ff 100644 --- a/Library/Homebrew/test/Gemfile +++ b/Library/Homebrew/test/Gemfile @@ -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 diff --git a/Library/Homebrew/test/Gemfile.lock b/Library/Homebrew/test/Gemfile.lock index 9ddc18e71..47f51e56b 100644 --- a/Library/Homebrew/test/Gemfile.lock +++ b/Library/Homebrew/test/Gemfile.lock @@ -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 diff --git a/Library/Homebrew/test/cask/dsl_spec.rb b/Library/Homebrew/test/cask/dsl_spec.rb index a17acfca6..cd296b5ab 100644 --- a/Library/Homebrew/test/cask/dsl_spec.rb +++ b/Library/Homebrew/test/cask/dsl_spec.rb @@ -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 diff --git a/Library/Homebrew/test/cmd/style_spec.rb b/Library/Homebrew/test/cmd/style_spec.rb index 5c118f32e..61faa4af2 100644 --- a/Library/Homebrew/test/cmd/style_spec.rb +++ b/Library/Homebrew/test/cmd/style_spec.rb @@ -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 diff --git a/Library/Homebrew/test/support/helper/output_as_tty.rb b/Library/Homebrew/test/support/helper/output_as_tty.rb index aa9da73cc..22f96510e 100644 --- a/Library/Homebrew/test/support/helper/output_as_tty.rb +++ b/Library/Homebrew/test/support/helper/output_as_tty.rb @@ -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 diff --git a/Library/Homebrew/utils/github.rb b/Library/Homebrew/utils/github.rb index be9bf4dd3..016676323 100644 --- a/Library/Homebrew/utils/github.rb +++ b/Library/Homebrew/utils/github.rb @@ -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 | 
