forked from googleapis/google-cloud-ruby
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathRakefile
More file actions
111 lines (93 loc) · 2.39 KB
/
Rakefile
File metadata and controls
111 lines (93 loc) · 2.39 KB
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
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
require "bundler/setup"
require "bundler/gem_tasks"
require "rubocop/rake_task"
RuboCop::RakeTask.new
desc "Run tests."
task :test do
$LOAD_PATH.unshift "lib", "test"
Dir.glob("test/**/*_test.rb").each { |file| require_relative file }
end
namespace :test do
desc "Run tests with coverage."
task :coverage do
require "simplecov"
SimpleCov.start do
command_name "stackdriver-core"
track_files "lib/**/*.rb"
add_filter "test/"
end
Rake::Task["test"].invoke
end
end
desc "Run acceptance tests."
task :acceptance do
puts "The stackdriver-core gem does not have acceptance tests."
end
namespace :acceptance do
task :run do
puts "This gem does not have acceptance tests."
end
desc "Run acceptance cleanup."
task :cleanup do
end
end
desc "Run yard-doctest example tests."
task :doctest do
puts "The stackdriver-core gem does not have doctest tests."
end
desc "Start an interactive shell."
task :console do
require "irb"
require "irb/completion"
require "pp"
$LOAD_PATH.unshift "lib"
require "stackdriver-core"
ARGV.clear
IRB.start
end
require "yard"
require "yard/rake/yardoc_task"
YARD::Rake::YardocTask.new
desc "Generates JSON output from stackdriver-core .yardoc"
task :jsondoc => :yard do
require "rubygems"
require "gcloud/jsondoc"
registry = YARD::Registry.load! ".yardoc"
generator = Gcloud::Jsondoc::Generator.new registry, "stackdriver-core"
rm_rf "jsondoc", verbose: true
generator.write_to "jsondoc"
cp ["docs/toc.json"], "jsondoc", verbose: true
end
desc "Run the CI build"
task :ci do
header "BUILDING stackdriver-core"
header "stackdriver-core rubocop", "*"
sh "bundle exec rake rubocop"
header "stackdriver-core jsondoc", "*"
sh "bundle exec rake jsondoc"
header "stackdriver-core doctest", "*"
sh "bundle exec rake doctest"
header "stackdriver-core test", "*"
sh "bundle exec rake test"
end
namespace :ci do
desc "Run the CI build, with acceptance tests."
task :acceptance do
Rake::Task["ci"].invoke
header "stackdriver-core acceptance", "*"
sh "bundle exec rake acceptance -v"
end
task :a do
# This is a handy shortcut to save typing
Rake::Task["ci:acceptance"].invoke
end
end
task :default => :test
def header str, token = "#"
line_length = str.length + 8
puts ""
puts token * line_length
puts "#{token * 3} #{str} #{token * 3}"
puts token * line_length
puts ""
end