dchelimsky / rspec-rails

RSpec extension library for Ruby on Rails

This URL has Read+Write access

dchelimsky (author)
Tue Feb 10 23:56:24 -0800 2009
commit  ef83f96822ff595115bf7624d384985faeee3434
tree    53721c428abd15d24007d8b83a4b620f0f0707b8
parent  0e285e522f48ddf5749d89f1d09ed85fb5448207
rspec-rails / Rakefile
100644 64 lines (50 sloc) 1.927 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
require 'rubygems'
require 'hoe'
require './lib/spec/rails/version'
require 'cucumber/rake/task'
 
$:.unshift(File.join(File.dirname(__FILE__), "/../rspec/lib"))
 
require 'spec/rake/spectask'
 
class Hoe
  def extra_deps
    @extra_deps.reject! { |x| Array(x).first == 'hoe' }
    @extra_deps
  end
end
 
Hoe.new('rspec-rails', Spec::Rails::VERSION::STRING) do |p|
  p.summary = Spec::Rails::VERSION::SUMMARY
  p.url = 'http://rspec.info/'
  p.description = "Behaviour Driven Development for Ruby on Rails."
  p.rubyforge_name = 'rspec'
  p.developer('RSpec Development Team', 'rspec-devel@rubyforge.org')
  p.extra_deps = [["rspec","1.1.99.1"],["rack",">=0.4.0"]]
  p.extra_dev_deps = [["cucumber",">= 0.1.13"]]
  p.remote_rdoc_dir = "rspec-rails/#{Spec::Rails::VERSION::STRING}"
end
 
['audit','test','test_deps','default','post_blog', 'release'].each do |task|
  Rake.application.instance_variable_get('@tasks').delete(task)
end
 
task :release => [:clean, :package] do |t|
  version = ENV["VERSION"] or abort "Must supply VERSION=x.y.z"
  abort "Versions don't match #{version} vs #{Spec::Rails::VERSION::STRING}" unless version == Spec::Rails::VERSION::STRING
  pkg = "pkg/rspec-rails-#{version}"
 
  rubyforge = RubyForge.new.configure
  puts "Logging in to rubyforge ..."
  rubyforge.login
 
  puts "Releasing rspec-rails version #{version} ..."
  ["#{pkg}.gem", "#{pkg}.tgz"].each do |file|
    rubyforge.add_file('rspec', 'rspec', Spec::Rails::VERSION::STRING, file)
  end
end
 
Spec::Rake::SpecTask.new
 
Cucumber::Rake::Task.new
 
task :default => [:features]
 
namespace :update do
  desc "update the manfest"
  task :manifest do
    system %q[touch Manifest.txt; rake check_manifest | grep -v "(in " | patch]
  end
  
  desc "update the gemspec"
  task :gemspec do
    system %q[rake debug_gem | grep -v "(in " | grep -v "s.add_dependency(%q<hoe" | grep -v "s.add_dependency(%q<cuc" > `basename \\`pwd\\``.gemspec]
  end
end