forked from btakita/rr
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathRakefile
70 lines (59 loc) · 1.75 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
require "rake"
require 'rake/gempackagetask'
require 'rake/contrib/rubyforgepublisher'
require 'rake/clean'
require 'rake/testtask'
require 'rake/rdoctask'
desc "Runs the Rspec suite"
task(:default) do
run_suite
end
desc "Runs the Rspec suite"
task(:spec) do
run_suite
end
desc "Copies the trunk to a tag with the name of the current release"
task(:tag_release) do
tag_release
end
def run_suite
dir = File.dirname(__FILE__)
system("ruby #{dir}/spec/spec_suite.rb") || raise("Spec Suite failed")
end
PKG_NAME = "rr"
PKG_VERSION = "0.6.2"
PKG_FILES = FileList[
'[A-Z]*',
'*.rb',
'lib/**/*.rb',
'spec/**/*.rb'
]
spec = Gem::Specification.new do |s|
s.name = PKG_NAME
s.version = PKG_VERSION
s.summary = "RR (Double Ruby) is a double framework that features a rich " <<
"selection of double techniques and a terse syntax. " <<
"http://xunitpatterns.com/Test%20Double.html"
s.test_files = "spec/spec_suite.rb"
s.description = s.summary
s.files = PKG_FILES.to_a
s.require_path = 'lib'
s.has_rdoc = true
s.extra_rdoc_files = [ "README.rdoc", "CHANGES" ]
s.rdoc_options = ["--main", "README.rdoc", "--inline-source", "--line-numbers"]
s.test_files = Dir.glob('spec/*_spec.rb')
s.require_path = 'lib'
s.author = "Brian Takita"
s.email = "[email protected]"
s.homepage = "http://pivotallabs.com"
s.rubyforge_project = "pivotalrb"
end
Rake::GemPackageTask.new(spec) do |pkg|
pkg.need_zip = true
pkg.need_tar = true
end
def tag_release
dashed_version = PKG_VERSION.gsub('.', '-')
svn_user = "#{ENV["SVN_USER"]}@" || ""
`svn cp svn+ssh://#{svn_user}rubyforge.org/var/svn/pivotalrb/rr/trunk svn+ssh://#{svn_user}rubyforge.org/var/svn/pivotalrb/rr/tags/REL-#{dashed_version} -m 'Version #{PKG_VERSION}'`
end