require 'rubygems'
require 'rake/rdoctask'
require 'spec/rake/spectask'
require File.join("lib", "starling", "server")
task :default => :spec
task :install do
sh %{gem build starling.gemspec}
sh %{sudo gem install starling-*.gem}
end
Spec::Rake::SpecTask.new do |t|
t.ruby_opts = ['-rtest/unit']
t.spec_files = FileList['spec/*_spec.rb']
t.fail_on_error = true
end
Rake::RDocTask.new do |rd|
rd.main = "README.rdoc"
rd.rdoc_files.include("README.rdoc", "lib/**/*.rb")
rd.rdoc_dir = 'doc'
end
desc "Generate a gemspec"
task :gemspec do
gemspec =<<-EOF
# this file is automatically generated
Gem::Specification.new do |s|
s.name = "starling"
s.version = "#{StarlingServer::VERSION}"
s.authors = ["Blaine Cook", "Chris Wanstrath", "Britt Selvitelle", "Glenn Rempe", "Abdul-Rahman Advany", "Seth Fitzsimmons", "Harm Aarts", "Chris Gaffney"]
s.email = ["blaine@twitter.com", "chris@ozmm.org", "abdulrahman@advany.com", "starlingmq@groups.google.com", "harmaarts@gmail.com", "gaffneyc@gmail.com"]
s.homepage = "http://github.com/starling/starling/"
s.summary = "Starling is a lightweight, transactional, distributed queue server"
s.description = s.summary
s.files = #{Dir.glob("**/*").select { |f| File.file?(f) }.inspect}
s.executables = ["starling", "starling_top"]
s.require_paths = ["lib"]
s.has_rdoc = true
s.rdoc_options = ["--quiet", "--title", "starling documentation", "--opname", "index.html", "--line-numbers", "--main", "README.rdoc", "--inline-source"]
s.extra_rdoc_files = ["README.rdoc", "CHANGELOG", "LICENSE"]
s.add_dependency 'memcache-client', [">= 1.7.0"]
s.add_dependency 'eventmachine', [">= 0.12.0"]
end
EOF
open("starling.gemspec", "w") do |f|
f << gemspec
end
puts "gemspec successfully created."
end