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
|
require 'rake/gempackagetask'
require 'yaml'
WIN_SUFFIX = ENV['WIN_SUFFIX'] || 'x86-mswin32'
task :clean => :clobber_package
Thin::GemSpec = Gem::Specification.new do |s|
s.name = Thin::NAME
s.version = Thin::VERSION::STRING
s.platform = WIN ? Gem::Platform::CURRENT : Gem::Platform::RUBY
s.summary =
s.description = "A thin and fast web server"
s.author = "Marc-Andre Cournoyer"
s.email = 'macournoyer@gmail.com'
s.homepage = 'http://code.macournoyer.com/thin/'
s.rubyforge_project = 'thin'
s.has_rdoc = true
s.executables = %w(thin)
s.required_ruby_version = '>= 1.8.5'
s.add_dependency 'rack', '>= 1.0.0'
s.add_dependency 'eventmachine', '>= 0.12.6'
unless WIN
s.add_dependency 'daemons', '>= 1.0.9'
end
s.files = %w(COPYING CHANGELOG README Rakefile) +
Dir.glob("{benchmark,bin,doc,example,lib,spec,tasks}/**/*") +
Dir.glob("ext/**/*.{h,c,rb,rl}")
if WIN
s.files += ["lib/thin_parser.#{Config::CONFIG['DLEXT']}"]
else
s.extensions = FileList["ext/**/extconf.rb"].to_a
end
s.require_path = "lib"
s.bindir = "bin"
end
Rake::GemPackageTask.new(Thin::GemSpec) do |p|
p.gem_spec = Thin::GemSpec
end
task :tag_warn do
puts "*" * 40
puts "Don't forget to tag the release:"
puts
puts " git tag -m 'Tagging #{Thin::SERVER}' -a v#{Thin::VERSION::STRING}"
puts
puts "or run rake tag"
puts "*" * 40
end
task :tag do
sh "git tag -m 'Tagging #{Thin::SERVER}' -a v#{Thin::VERSION::STRING}"
end
task :gem => :tag_warn
namespace :gem do
desc "Update the gemspec for GitHub's gem server"
task :github do
File.open("thin.gemspec", 'w') { |f| f << YAML.dump(Thin::GemSpec) }
end
desc 'Upload gems (ruby & win32) to rubyforge.org'
task :upload => :gem do
sh 'rubyforge login'
sh "rubyforge add_release thin thin #{Thin::VERSION::STRING} pkg/#{Thin::GemSpec.full_name}.gem"
sh "rubyforge add_file thin thin #{Thin::VERSION::STRING} pkg/#{Thin::GemSpec.full_name}.gem"
sh "rubyforge add_file thin thin #{Thin::VERSION::STRING} pkg/#{Thin::GemSpec.full_name}-#{WIN_SUFFIX}.gem"
end
end
|