Skip to content

Commit

Permalink
dep: move dev dependencies into Gemfile
Browse files Browse the repository at this point in the history
and make Rubocop conditional on Ruby version, because 2.5 and 2.6 are
too old for the rubocop version we have, and it's causing CI to fail.
  • Loading branch information
flavorjones committed Apr 3, 2023
1 parent 9ff910f commit f226118
Show file tree
Hide file tree
Showing 4 changed files with 51 additions and 36 deletions.
3 changes: 3 additions & 0 deletions .rubocop.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,3 +22,6 @@ Naming/InclusiveLanguage:
Performance/CollectionLiteralInLoop:
Exclude:
- test/**/*.rb

Rake/DuplicateTask:
Enabled: false
17 changes: 17 additions & 0 deletions Gemfile
Original file line number Diff line number Diff line change
@@ -1,4 +1,21 @@
# frozen_string_literal: true

source "https://rubygems.org/"

gemspec

group :development do
gem("hoe-markdown", ["~> 1.3"])
gem("json", ["~> 2.2"])
gem("minitest", ["~> 5.14"])
gem("rake", ["~> 13.0"])
gem("rdoc", [">= 4.0", "< 7"])

if Gem::Version.new(RUBY_VERSION) >= Gem::Version.new("3.0.0")
gem("rubocop", "~> 1.1")
gem("rubocop-minitest", "0.29.0")
gem("rubocop-performance", "1.16.0")
gem("rubocop-rake", "0.6.0")
gem("rubocop-shopify", "2.12.0")
end
end
56 changes: 31 additions & 25 deletions Rakefile
Original file line number Diff line number Diff line change
Expand Up @@ -14,38 +14,44 @@ task :generate_safelists do
load "tasks/generate-safelists"
end

require "rubocop/rake_task"

module RubocopHelper
class << self
def common_options(task)
task.patterns += [
"Gemfile",
"Rakefile",
"lib",
"loofah.gemspec",
"test",
]
begin
require "rubocop/rake_task"

module RubocopHelper
class << self
def common_options(task)
task.patterns += [
"Gemfile",
"Rakefile",
"lib",
"loofah.gemspec",
"test",
]
end
end
end
end

RuboCop::RakeTask.new do |task|
RubocopHelper.common_options(task)
end
RuboCop::RakeTask.new do |task|
RubocopHelper.common_options(task)
end

desc("Generate the rubocop todo list")
RuboCop::RakeTask.new("rubocop:todo") do |task|
RubocopHelper.common_options(task)
task.options << "--auto-gen-config"
task.options << "--exclude-limit=50"
end
Rake::Task["rubocop:todo:autocorrect"].clear
Rake::Task["rubocop:todo:autocorrect_all"].clear
desc("Generate the rubocop todo list")
RuboCop::RakeTask.new("rubocop:todo") do |task|
RubocopHelper.common_options(task)
task.options << "--auto-gen-config"
task.options << "--exclude-limit=50"
end
Rake::Task["rubocop:todo:autocorrect"].clear
Rake::Task["rubocop:todo:autocorrect_all"].clear

task default: [:rubocop, :test]
task(default: :rubocop)
rescue LoadError
warn("NOTE: rubocop not available")
end

desc "Print out the files packaged in the gem"
task :debug_manifest do
puts Bundler.load_gemspec("loofah.gemspec").files
end

task(default: :test)
11 changes: 0 additions & 11 deletions loofah.gemspec
Original file line number Diff line number Diff line change
Expand Up @@ -44,15 +44,4 @@ Gem::Specification.new do |spec|

spec.add_runtime_dependency("crass", ["~> 1.0.2"])
spec.add_runtime_dependency("nokogiri", [">= 1.5.9"])

spec.add_development_dependency("hoe-markdown", ["~> 1.3"])
spec.add_development_dependency("json", ["~> 2.2"])
spec.add_development_dependency("minitest", ["~> 5.14"])
spec.add_development_dependency("rake", ["~> 13.0"])
spec.add_development_dependency("rdoc", [">= 4.0", "< 7"])
spec.add_development_dependency("rubocop", "~> 1.1")
spec.add_development_dependency("rubocop-minitest", "0.29.0")
spec.add_development_dependency("rubocop-performance", "1.16.0")
spec.add_development_dependency("rubocop-rake", "0.6.0")
spec.add_development_dependency("rubocop-shopify", "2.12.0")
end

0 comments on commit f226118

Please sign in to comment.