Rakefile in resque-1.7.0 vs Rakefile in resque-1.7.1

- old
+ new

@@ -1,32 +1,47 @@ +# +# Setup +# + load 'tasks/redis.rake' +require 'rake/testtask' $LOAD_PATH.unshift 'lib' require 'resque/tasks' +def command?(command) + system("type #{command} > /dev/null") +end + + +# +# Tests +# + task :default => :test -desc "Run tests" +desc "Run the test suite" task :test do - begin - require 'redgreen' - rescue LoadError + rg = command?(:rg) + Dir['test/**/*_test.rb'].each do |f| + rg ? sh("rg #{f}") : ruby(f) end +end - # Don't use the rake/testtask because it loads a new - # Ruby interpreter - we want to run tests with the current - # `rake` so our library manager still works - Dir['test/*_test.rb'].each do |f| - require f +if command? :kicker + desc "Launch Kicker (like autotest)" + task :kicker do + puts "Kicking... (ctrl+c to cancel)" + exec "kicker -e rake test lib examples" end end -desc "Activate kicker - gem install kicker" -task :kick do - exec "kicker -e rake lib test" -end +# +# Gem +# + task :install => [ 'redis:install', 'dtach:install' ] desc "Build a gem" task :gem => [ :test, :gemspec, :build ] @@ -34,32 +49,58 @@ require 'jeweler' require 'resque/version' Jeweler::Tasks.new do |gemspec| gemspec.name = "resque" - gemspec.summary = "" - gemspec.description = "" + gemspec.summary = "Resque is a Redis-backed queueing system." gemspec.email = "chris@ozmm.org" gemspec.homepage = "http://github.com/defunkt/resque" gemspec.authors = ["Chris Wanstrath"] gemspec.version = Resque::Version gemspec.add_dependency "redis" gemspec.add_dependency "redis-namespace" gemspec.add_dependency "vegas", ">=0.1.2" gemspec.add_dependency "sinatra", ">=0.9.2" gemspec.add_development_dependency "jeweler" + + gemspec.description = <<description + Resque is a Redis-backed Ruby library for creating background jobs, + placing those jobs on multiple queues, and processing them later. + + Background jobs can be any Ruby class or module that responds to + perform. Your existing classes can easily be converted to background + jobs or you can create new classes specifically to do work. Or, you + can do both. + + Resque is heavily inspired by DelayedJob (which rocks) and is + comprised of three parts: + + * A Ruby library for creating, querying, and processing jobs + * A Rake task for starting a worker which processes jobs + * A Sinatra app for monitoring queues, jobs, and workers. +description end rescue LoadError puts "Jeweler not available. Install it with: " puts "gem install jeweler" end + +# +# Documentation +# + begin require 'sdoc_helpers' rescue LoadError puts "sdoc support not enabled. Please gem install sdoc-helpers." end + + +# +# Publishing +# desc "Push a new version to Gemcutter" task :publish => [ :test, :gemspec, :build ] do system "git tag v#{Resque::Version}" system "git push origin v#{Resque::Version}"