quality.gemspec in quality-38.0.1 vs quality.gemspec in quality-39.0.1

- old
+ new

@@ -1,79 +1,91 @@ +# coding: ascii # frozen_string_literal: true -# ; -*-Ruby-*- - -$LOAD_PATH.push File.join(File.dirname(__FILE__), 'lib') +lib = File.expand_path('lib', __dir__) +$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib) require 'quality/version' -Gem::Specification.new do |s| - s.name = 'quality' - s.version = Quality::VERSION - - s.authors = ['Vince Broz'] - s.description = +Gem::Specification.new do |spec| + spec.name = 'quality' + spec.version = Quality::VERSION + spec.authors = ['Vince Broz'] + spec.description = "Quality is a tool that runs quality checks on your code using " \ "community tools, and makes sure your numbers don't get any " \ "worse over time. Just add 'rake quality' as part of your " \ "Continuous Integration" - s.email = ['vince@broz.cc'] - s.license = 'MIT' - s.files = Dir['CODE_OF_CONDUCT.md', 'LICENSE.txt', 'README.md', - '{lib}/quality.rb', - '{lib}/quality/**/*.rb', - 'quality.gemspec'] - s.require_paths = ['lib'] - s.homepage = 'http://github.com/apiology/quality' - s.rubygems_version = '1.3.6' - s.summary = 'Code quality tools for Ruby' + spec.email = ['vince@broz.cc'] + spec.summary = 'Code quality ratchet for Ruby' + spec.homepage = 'https://github.com/apiology/quality' + spec.license = 'MIT license' + spec.required_ruby_version = '>= 2.6' + spec.files = Dir['CODE_OF_CONDUCT.md', 'LICENSE.txt', 'README.md', + '{lib}/quality.rb', + '{lib}/quality/**/*.rb', + 'quality.gemspec'] + spec.bindir = 'exe' + spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) } + spec.require_paths = ['lib'] - s.add_runtime_dependency('activesupport') - s.add_runtime_dependency('bundler-audit') - s.add_runtime_dependency('cane', ['>= 2.6']) - s.add_runtime_dependency('flog', ['>= 4.1.1']) - s.add_runtime_dependency('github-linguist') - s.add_runtime_dependency('reek', ['>= 1.3.4']) + spec.add_development_dependency 'bump' + spec.add_development_dependency('bundler', ['>= 1.1']) + spec.add_development_dependency 'mdl' + # Workaround for + # https://github.com/bundler/bundler/issues/3401 + spec.add_development_dependency('minitest', ['~> 5']) + spec.add_development_dependency('mocha') + # 0.58.0 and 0.57.0 don't seem super compatible with signatures, and + # magit doesn't seem to want to use the bundled version at the moment, + # so let's favor the more recent version... + spec.add_development_dependency 'overcommit', ['>=0.58.0'] + spec.add_development_dependency('pronto', '>=0.11') + spec.add_development_dependency('pronto-bigfiles') + # spec.add_development_dependency('pronto-flake8') # does not yet support pronto 0.11 + spec.add_development_dependency('pronto-punchlist') + spec.add_development_dependency('pronto-rubocop') + spec.add_development_dependency 'pry' + spec.add_development_dependency 'rake', '~> 13.0' + spec.add_development_dependency 'rspec', '>=3.4' + # ensure version with branch coverage + spec.add_development_dependency 'simplecov', ['>=0.18.0'] + spec.add_development_dependency 'simplecov-lcov' + spec.add_development_dependency 'undercover' + + spec.add_runtime_dependency('activesupport') + spec.add_runtime_dependency('bundler-audit') + spec.add_runtime_dependency('cane', ['>= 2.6']) + spec.add_runtime_dependency('flog', ['>= 4.1.1']) + spec.add_runtime_dependency('github-linguist') + spec.add_runtime_dependency('reek', ['>= 1.3.4']) # flay 2.6.0 contained a command-line-parsing issue - s.add_runtime_dependency('flay', ['>= 2.4', '!= 2.6.0']) + spec.add_runtime_dependency('flay', ['>= 2.4', '!= 2.6.0']) # avoid security issues - CVE-2015-1820, CVE-2015-3448 - s.add_runtime_dependency('rest-client', ['>= 1.8.0']) + spec.add_runtime_dependency('rest-client', ['>= 1.8.0']) # # per version advice here - locks quality gem version with rubocop # version to avoid unexplained metric-changing surprises: # # https://github.com/bbatsov/rubocop#installation - s.add_runtime_dependency('mdl') - s.add_runtime_dependency('rubocop', '~> 0.92.0') + spec.add_runtime_dependency('mdl') + spec.add_runtime_dependency('rubocop', '~> 1.22.0') # 0.2.0 had a fatal bug - s.add_runtime_dependency('bigfiles', ['>= 0.1', '!= 0.2.0']) - s.add_runtime_dependency('brakeman') - s.add_runtime_dependency('high_water_mark') - s.add_runtime_dependency('punchlist', ['>= 1.1']) - s.add_runtime_dependency('rails_best_practices') - s.add_runtime_dependency('rubocop-minitest') - s.add_runtime_dependency('rubocop-rake') + # 0.3.0 introduces config files + spec.add_runtime_dependency('bigfiles', ['>= 0.3.0', '!= 0.2.0']) + spec.add_runtime_dependency('brakeman') + spec.add_runtime_dependency('high_water_mark') + spec.add_runtime_dependency('punchlist', ['>= 1.1']) + spec.add_runtime_dependency('rails_best_practices') + spec.add_runtime_dependency('rubocop-minitest') + spec.add_runtime_dependency('rubocop-rake') # 1.19.0 was a RuboCop 0.51.0 compatibility release - s.add_runtime_dependency('faraday', ['~>1']) - s.add_runtime_dependency('rubocop-rspec', ['>=1.19.0']) + spec.add_runtime_dependency('faraday', ['~>1']) + spec.add_runtime_dependency('rubocop-rspec', ['>=1.19.0']) # need above 3.2.2 to support Ruby 2.0 syntax # # 3.6.6 was a buggy release, see seattlerb/ruby_parser#183 - s.add_runtime_dependency('ruby_parser', ['>= 3.2.2', '!= 3.6.6']) + spec.add_runtime_dependency('ruby_parser', ['>= 3.2.2', '!= 3.6.6']) # cane has an unadvertised dependency on json - s.add_runtime_dependency('json') - - s.add_development_dependency('bundler', ['>= 1.1']) - # Workaround for - # https://github.com/bundler/bundler/issues/3401 - s.add_development_dependency('minitest', ['~> 5']) - s.add_development_dependency('mocha') - s.add_development_dependency('pronto') - s.add_development_dependency('pronto-bigfiles') - s.add_development_dependency('pronto-flake8') - s.add_development_dependency('pronto-punchlist') - s.add_development_dependency('pronto-rubocop') - # https://github.com/advisories/GHSA-jppv-gw3r-w3q8 - s.add_development_dependency('rake', ['>= 12.3.3']) - s.add_development_dependency('rspec') + spec.add_runtime_dependency('json') end