Skip to content

Commit 25d879e

Browse files
committed
Rationalize the Rakefile tasks
Ensure test:all runs the full suite, including examples, and guard lint task loading so missing tooling does not abort tests.
1 parent 97caae3 commit 25d879e

3 files changed

Lines changed: 16 additions & 37 deletions

File tree

Gemfile.lock

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -98,7 +98,7 @@ DEPENDENCIES
9898
rtagstask (~> 0.0)
9999
rubocop (~> 1.84)
100100
rubocop-rake (~> 0.7)
101-
rubocop-rspec (~> 3.9)
101+
rubocop-rspec (~> 3.0)
102102
rubytree!
103103
simplecov (~> 0.22)
104104
simplecov-lcov (~> 0.9)

Rakefile

Lines changed: 13 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -35,23 +35,16 @@
3535
# frozen_string_literal: true
3636

3737
require 'rubygems'
38+
require 'bundler'
3839

39-
# @todo: Check if Bundler needs to be `require`d.
4040
GEM_SPEC = Bundler.load_gemspec(File.join(__dir__, 'rubytree.gemspec'))
4141

4242
PKG_NAME = GEM_SPEC.name
4343
PKG_VER = GEM_SPEC.version
4444
GEM_NAME = "#{PKG_NAME}-#{PKG_VER}.gem"
4545

4646
desc 'Default Task (Run the tests)'
47-
task :default do
48-
if ENV['COVERAGE']
49-
Rake::Task['test:coverage'].invoke
50-
else
51-
Rake::Task['test:unit'].invoke
52-
Rake::Task['spec'].invoke
53-
end
54-
end
47+
task :default => 'test:all'
5548

5649
desc 'Display the current gem version'
5750
task :version do
@@ -71,7 +64,6 @@ end
7164

7265
namespace :doc do # ................................ Documentation
7366
begin
74-
gem 'rdoc', '>= 6.4.0' # To get around a stupid bug in Ruby 1.9.2 Rake.
7567
require 'rdoc/task'
7668
Rake::RDocTask.new do |rdoc|
7769
rdoc.rdoc_dir = 'rdoc'
@@ -153,31 +145,18 @@ rescue LoadError
153145
end
154146

155147
# ................................ Gem related
156-
namespace :gem do
157-
require 'rubygems/package_task'
158-
Gem::PackageTask.new(GEM_SPEC) do |pkg|
159-
pkg.need_zip = true
160-
pkg.need_tar = true
161-
end
162-
163-
desc 'Push the gem into the Rubygems and Github repositories'
164-
task push: :gem do
165-
github_repo = 'https://rubygems.pkg.github.com/evolve75'
166-
167-
# This pushes to the standard RubyGems registry
168-
sh "gem push pkg/#{GEM_NAME}"
169-
170-
# For github, the credentials key is assumed to be github
171-
# See: https://docs.github.com/en/packages/working-with-a-github-packages-registry/
172-
sh "gem push --key github --host #{github_repo} pkg/#{GEM_NAME}"
173-
end
174-
end
148+
require 'bundler/gem_helper'
149+
Bundler::GemHelper.install_tasks
175150

176151
# ................................ Ruby linting
177-
require 'rubocop/rake_task'
152+
begin
153+
require 'rubocop/rake_task'
178154

179-
RuboCop::RakeTask.new(:rubocop) do |t|
180-
t.options = ['--display-cop-names']
181-
t.requires << 'rubocop-rake'
182-
t.requires << 'rubocop-rspec'
155+
RuboCop::RakeTask.new(:rubocop) do |t|
156+
t.options = ['--display-cop-names']
157+
t.requires << 'rubocop-rake'
158+
t.requires << 'rubocop-rspec'
159+
end
160+
rescue LoadError
161+
# RuboCop not available.
183162
end

rubytree.gemspec

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -70,11 +70,11 @@ Gem::Specification.new do |s|
7070
s.add_development_dependency 'bundler', '~> 2.6'
7171
s.add_development_dependency 'rake', '~> 13.3'
7272
s.add_development_dependency 'rdoc', '~> 7.1'
73-
s.add_development_dependency 'rspec', '~> 3.13'
7473
s.add_development_dependency 'rtagstask', '~> 0.0'
7574
s.add_development_dependency 'rubocop', '~> 1.84'
75+
s.add_development_dependency 'rubocop-rspec', '~> 3.0'
7676
s.add_development_dependency 'rubocop-rake', '~> 0.7'
77-
s.add_development_dependency 'rubocop-rspec', '~> 3.9'
77+
s.add_development_dependency 'rspec', '~> 3.13'
7878
s.add_development_dependency 'simplecov', '~> 0.22'
7979
s.add_development_dependency 'simplecov-lcov', '~> 0.9'
8080
s.add_development_dependency 'test-unit', '~> 3.7'

0 commit comments

Comments
 (0)