forked from simplecov-ruby/simplecov
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Rakefile
41 lines (35 loc) · 1.1 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
# frozen_string_literal: true
require "rubygems"
require "bundler/setup"
Bundler::GemHelper.install_tasks
# See https://github.com/colszowka/simplecov/issues/171
desc "Set permissions on all files so they are compatible with both user-local and system-wide installs"
task :fix_permissions do
system 'bash -c "find . -type f -exec chmod 644 {} \; && find . -type d -exec chmod 755 {} \;"'
end
# Enforce proper permissions on each build
Rake::Task[:build].prerequisites.unshift :fix_permissions
require "rspec/core/rake_task"
RSpec::Core::RakeTask.new(:spec) do |spec|
spec.pattern = FileList["spec/*_spec.rb"]
end
begin
require "rubocop/rake_task"
RuboCop::RakeTask.new
rescue LoadError
task :rubocop do
$stderr.puts "Rubocop is disabled"
end
end
# Cucumber integration test suite is for impls that work with simplecov only - a.k.a. 1.9+
if RUBY_VERSION.start_with? "1.8"
task :default => [:spec]
else
require "cucumber/rake/task"
Cucumber::Rake::Task.new
if RUBY_VERSION.start_with? "1.9"
task :default => [:spec, :cucumber]
else
task :default => [:rubocop, :spec, :cucumber]
end
end