btakita / rr

RR (Double Ruby) is a test double framework that features a rich selection of double techniques and a terse syntax.

This URL has Read+Write access

Brian Takita (author)
Fri Jan 16 20:57:37 -0800 2009
commit  1b88791e80743a49aeaea66ce4b49ef882aff48f
tree    b33cfaf00a1e6b14be99a40fd3b83de559d2136d
parent  51960d1d38babbc6286b3c17464bc2cc749ed6b3
rr / Rakefile
100644 70 lines (59 sloc) 1.795 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
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.7.1"
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 = "brian@pivotallabs.com"
  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