forked from mvidner/ruby-dbus
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathRakefile
71 lines (62 loc) · 1.71 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
63
64
65
66
67
68
69
70
71
#! /usr/bin/env ruby
require "rake"
require "fileutils"
include FileUtils
require "tmpdir"
require "rspec/core/rake_task"
begin
require "rubocop/rake_task"
rescue LoadError
nil
end
require "packaging"
Packaging.configuration do |conf|
conf.obs_project = "devel:languages:ruby:extensions"
conf.obs_target = "openSUSE_Tumbleweed"
conf.package_name = "rubygem-ruby-dbus"
conf.obs_sr_project = "openSUSE:Factory"
conf.skip_license_check << %r{^[^/]*$}
conf.skip_license_check << %r{^(doc|examples|spec)/.*}
# "Ruby on Rails is released under the MIT License."
# but the files are missing copyright headers
conf.skip_license_check << %r{^lib/dbus/core_ext/}
end
desc "Default: run specs in the proper environment"
task default: [:spec, :rubocop]
task test: :spec
RSpec::Core::RakeTask.new("bare:spec")
%w(spec).each do |tname|
desc "Run bare:#{tname} in the proper environment"
task tname do |_t|
cd "spec/tools" do
sh "./test_env rake bare:#{tname}"
end
end
end
if ENV["TRAVIS"]
require "coveralls/rake/task"
Coveralls::RakeTask.new
task default: "coveralls:push"
end
# remove tarball implementation and create gem for this gemfile
Rake::Task[:tarball].clear
desc "Build a package from a clone of the local Git repo"
task :tarball do |_t|
Dir.mktmpdir do |temp|
sh "git clone . #{temp}"
cd temp do
sh "gem build ruby-dbus.gemspec"
end
sh "rm -f package/*.gem"
cp Dir.glob("#{temp}/*.gem"), "package"
end
end
namespace :doc do
desc "Extract code examples from doc/Reference.md to examples/doc"
task :examples do
cd "examples/doc" do
sh "./_extract_examples ../../doc/Reference.md"
end
end
end
RuboCop::RakeTask.new if Object.const_defined? :RuboCop