Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Fetching contributors…

Cannot retrieve contributors at this time

file 76 lines (66 sloc) 2.248 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 71 72 73 74 75 76
puts "Using ruby #{RUBY_VERSION}p#{RUBY_PATCHLEVEL}"

require 'rubygems'
require 'rake/gempackagetask'
require 'rake/testtask'
begin
  require 'rdoc/task'
rescue LoadError
  puts "\nIt looks like you're using an old version of RDoc, but FakeWeb requires a newer one."
  puts "You can try upgrading with `sudo gem install rdoc`.\n\n"
  raise
end

task :default => :test

desc "Run All Tests"
Rake::TestTask.new :test do |test|
  test.test_files = ["test/**/*.rb"]
  test.verbose = false
end

desc "Generate Documentation"
RDoc::Task.new do |rdoc|
  rdoc.main = "README.rdoc"
  rdoc.rdoc_dir = "doc"
  rdoc.rdoc_files.include("README.rdoc", "CHANGELOG", "LICENSE.txt", "lib/*.rb")
  rdoc.title = "FakeWeb API Documentation"
  rdoc.options << '--line-numbers' << '--charset' << 'utf-8'
end

desc %{Update ".manifest" with the latest list of project filenames. Respect\
.gitignore by excluding everything that git ignores. Update `files` and\
`test_files` arrays in "*.gemspec" file if it's present.}
task :manifest do
  list = Dir['**/*'].sort
  spec_file = Dir['*.gemspec'].first
  list -= [spec_file] if spec_file

  File.read('.gitignore').each_line do |glob|
    glob = glob.chomp.sub(/^\//, '')
    list -= Dir[glob]
    list -= Dir["#{glob}/**/*"] if File.directory?(glob) and !File.symlink?(glob)
    puts "excluding #{glob}"
  end

  if spec_file
    spec = File.read spec_file
    spec.gsub!(/^(\s* s.(test_)?files \s* = \s* )( \[ [^\]]* \] | %w\( [^)]* \) )/mx) do
      assignment = $1
      bunch = $2 ? list.grep(/^test\//) : list
      '%s%%w(%s)' % [assignment, bunch.join(' ')]
    end

    File.open(spec_file, 'w') {|f| f << spec }
  end
  File.open('.manifest', 'w') {|f| f << list.join("\n") }
end

if RUBY_PLATFORM =~ /java/
  puts "rcov support disabled (running under JRuby)."
elsif RUBY_VERSION =~ /^1\.9/
  puts "rcov support disabled (running under Ruby 1.9)"
else
  require 'rcov/rcovtask'
  Rcov::RcovTask.new do |t|
    t.test_files = FileList['test/**/test*.rb']
    t.rcov_opts << "--sort coverage"
    t.rcov_opts << "--exclude gems"
  end
end

spec = eval(File.read(File.join(File.dirname(__FILE__), "fakeweb.gemspec")))
Rake::GemPackageTask.new(spec) do |pkg|
  pkg.need_tar_gz = true
  pkg.need_zip = true
end
Something went wrong with that request. Please try again.