-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathRakefile
62 lines (52 loc) · 1.54 KB
/
Rakefile
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
# frozen_string_literal: true
require 'rspec/core/rake_task'
require 'rubocop/rake_task'
require 'bundler/gem_tasks'
require 'rake/clean'
require 'fileutils'
require 'rake'
require_relative 'lib/mp_utils'
require_relative 'lib/version'
CLEAN.include %w[pkg coverage *.gem doc .yardoc]
RSpec::Core::RakeTask.new(:spec)
RuboCop::RakeTask.new
task default: %i[spec rubocop]
namespace :version do
%i[major minor patch].each do |part|
desc "Bump #{part} version"
task part do
version = VersionManager.new(MPUtils::VERSION)
path = File.join('lib', 'version.rb')
case part
when :major
version.increment_major
when :minor
version.increment_minor
when :patch
version.increment_pathc
end
content = File.read(path)
content.gsub!(/VERSION.+'#{MPUtils::VERSION}'/, "VERSION = '#{version}'")
File.open(path, 'w') { |file| file << content }
system("echo \"::set-output name=new_version::#{version}\"")
end
end
end
namespace :doc do
desc 'Generate all needed documentation'
task :generate do
system('yard doc')
source_dir = '.resources/images'
destination_dir = 'doc/.resources/images'
FileUtils.mkdir_p(destination_dir)
Dir.glob("#{source_dir}/*.{png,jpg,jpeg,gif}").each do |image|
FileUtils.cp(image, destination_dir)
end
end
desc 'Generates the doc and make a local server for test the documentation'
task :test do
system('rake doc:generate')
system('open "http://localhost:8808"')
system('yard server --reload')
end
end