Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Fetching contributors…

Cannot retrieve contributors at this time

103 lines (85 sloc) 2.611 kb
# coding:utf-8
$:.unshift File.expand_path("../lib", __FILE__)
require 'rubygems'
require 'rubygems/specification'
require 'bundler'
def gemspec
@gemspec ||= begin
file = File.expand_path('../bundler.gemspec', __FILE__)
eval(File.read(file), binding, file)
end
end
begin
require 'spec/rake/spectask'
rescue LoadError
raise 'Run `gem install rspec` to be able to run specs'
else
task :clear_tmp do
FileUtils.rm_rf(File.expand_path("../tmp", __FILE__))
end
desc "Run specs"
Spec::Rake::SpecTask.new do |t|
t.spec_files = FileList['spec/**/*_spec.rb']
t.spec_opts = %w(-fs --color)
t.warning = true
end
task :spec => :clear_tmp
end
# Rubygems 1.3.5, 1.3.6, and HEAD specs
rubyopt = ENV["RUBYOPT"]
%w(master REL_1_3_6).each do |rg|
desc "Run specs with Rubygems #{rg}"
Spec::Rake::SpecTask.new("spec_gems_#{rg}") do |t|
t.spec_files = FileList['spec/**/*_spec.rb']
t.spec_opts = %w(-fs --color)
t.warning = true
end
task "rubygems_#{rg}" do
unless File.directory?("tmp/rubygems_#{rg}")
system("git clone git://github.com/jbarnette/rubygems.git tmp/rubygems_#{rg} && cd tmp/rubygems_#{rg} && git reset --hard #{rg}")
end
ENV["RUBYOPT"] = "-I#{File.expand_path("tmp/rubygems_#{rg}/lib")} #{rubyopt}"
end
task "spec_gems_#{rg}" => "rubygems_#{rg}"
task :ci => "spec_gems_#{rg}"
end
# Ruby 1.8.6, 1.8.7, and 1.9.2 specs
task "ensure_rvm" do
raise "RVM is not available" unless File.exist?(File.expand_path("~/.rvm/scripts/rvm"))
end
%w(1.8.6-p399 1.8.7-p249 1.9.2-head).each do |ruby|
ruby_cmd = File.expand_path("~/.rvm/bin/ruby-#{ruby}")
desc "Run specs on Ruby #{ruby}"
Spec::Rake::SpecTask.new("spec_ruby_#{ruby}") do |t|
t.spec_files = FileList['spec/**/*_spec.rb']
t.spec_opts = %w(-fs --color)
t.warning = true
t.ruby_cmd = ruby_cmd
end
task "ensure_ruby_#{ruby}" do
raise "Could not find Ruby #{ruby} at #{ruby_cmd}" unless File.exist?(ruby_cmd)
end
task "ensure_ruby_#{ruby}" => "ensure_rvm"
task "spec_ruby_#{ruby}" => "ensure_ruby_#{ruby}"
task :ci => "spec_ruby_#{ruby}"
end
begin
require 'rake/gempackagetask'
rescue LoadError
task(:gem) { $stderr.puts '`gem install rake` to package gems' }
else
Rake::GemPackageTask.new(gemspec) do |pkg|
pkg.gem_spec = gemspec
end
task :gem => :gemspec
end
desc "install the gem locally"
task :install => :package do
sh %{gem install pkg/#{gemspec.name}-#{gemspec.version}}
end
desc "validate the gemspec"
task :gemspec do
gemspec.validate
end
task :package => :gemspec
task :default => :spec
Jump to Line
Something went wrong with that request. Please try again.