1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67
|
require 'rubygems'
require 'bundler'
require 'rake'
require 'pp'
# build, install, release
require 'bundler/gem_tasks'
require_relative "lib/rr/version"
default_tasks = []
begin
# appraisal
require 'appraisal'
rescue LoadError
else
# appraisals
Appraisal::File.each do |appraisal|
desc "Resolve and install dependencies for the #{appraisal.name} appraisal"
task "appraisal:#{appraisal.name}:install" do
appraisal.install
end
end
default_tasks << 'appraisal:install'
end
begin
# spec
require 'rspec/core/rake_task'
rescue LoadError
else
require File.expand_path('../spec/defines_spec_suite_tasks', __FILE__)
DefinesSpecSuiteTasks.call
default_tasks << :spec
end
desc "Run tests"
task :test do
ruby("test/run-test.rb")
end
default_tasks << :test
namespace :"gh-pages" do
namespace :version do
desc "Update version"
task :update do
config_yml_path = "gh-pages/_config.yml"
config_yml = File.read(config_yml_path)
config_yml = config_yml.gsub(/^version: .*$/, "version: #{RR::VERSION}")
File.write(config_yml_path, config_yml)
end
end
end
task :default => default_tasks
release_task = Rake.application["release"]
# We use Trusted Publishing.
release_task.prerequisites.delete("build")
release_task.prerequisites.delete("release:rubygem_push")
release_task_comment = release_task.comment
if release_task_comment
release_task.clear_comments
release_task.comment = release_task_comment.gsub(/ and build.*$/, "")
end
|