Vendor Rack 1.0.1
Incorporate patch from Revision 496.
This commit is contained in:
parent
a7202d54cd
commit
76f388f3e2
113 changed files with 5759 additions and 199 deletions
164
vendor/plugins/rack/Rakefile
vendored
Normal file
164
vendor/plugins/rack/Rakefile
vendored
Normal file
|
@ -0,0 +1,164 @@
|
|||
# Rakefile for Rack. -*-ruby-*-
|
||||
require 'rake/rdoctask'
|
||||
require 'rake/testtask'
|
||||
|
||||
|
||||
desc "Run all the tests"
|
||||
task :default => [:test]
|
||||
|
||||
|
||||
desc "Make an archive as .tar.gz"
|
||||
task :dist => [:chmod, :changelog, :rdoc, "SPEC", "rack.gemspec"] do
|
||||
FileUtils.touch("RDOX")
|
||||
sh "git archive --format=tar --prefix=#{release}/ HEAD^{tree} >#{release}.tar"
|
||||
sh "pax -waf #{release}.tar -s ':^:#{release}/:' RDOX SPEC ChangeLog doc rack.gemspec"
|
||||
sh "gzip -f -9 #{release}.tar"
|
||||
end
|
||||
|
||||
desc "Make an official release"
|
||||
task :officialrelease do
|
||||
puts "Official build for #{release}..."
|
||||
sh "rm -rf stage"
|
||||
sh "git clone --shared . stage"
|
||||
sh "cd stage && rake officialrelease_really"
|
||||
sh "mv stage/#{release}.tar.gz stage/#{release}.gem ."
|
||||
end
|
||||
|
||||
task :officialrelease_really => [:fulltest, "RDOX", "SPEC", :dist, :gem] do
|
||||
sh "sha1sum #{release}.tar.gz #{release}.gem"
|
||||
end
|
||||
|
||||
|
||||
def version
|
||||
abort "You need to pass VERSION=... to build packages." unless ENV["VERSION"]
|
||||
ENV["VERSION"]
|
||||
end
|
||||
|
||||
def release
|
||||
"rack-#{version}"
|
||||
end
|
||||
|
||||
def manifest
|
||||
`git ls-files`.split("\n")
|
||||
end
|
||||
|
||||
|
||||
desc "Make binaries executable"
|
||||
task :chmod do
|
||||
Dir["bin/*"].each { |binary| File.chmod(0775, binary) }
|
||||
Dir["test/cgi/test*"].each { |binary| File.chmod(0775, binary) }
|
||||
end
|
||||
|
||||
desc "Generate a ChangeLog"
|
||||
task :changelog do
|
||||
File.open("ChangeLog", "w") { |out|
|
||||
`git log -z`.split("\0").map { |chunk|
|
||||
author = chunk[/Author: (.*)/, 1].strip
|
||||
date = chunk[/Date: (.*)/, 1].strip
|
||||
desc, detail = $'.strip.split("\n", 2)
|
||||
detail ||= ""
|
||||
detail = detail.gsub(/.*darcs-hash:.*/, '')
|
||||
detail.rstrip!
|
||||
out.puts "#{date} #{author}"
|
||||
out.puts " * #{desc.strip}"
|
||||
out.puts detail unless detail.empty?
|
||||
out.puts
|
||||
}
|
||||
}
|
||||
end
|
||||
|
||||
|
||||
desc "Generate RDox"
|
||||
task "RDOX" do
|
||||
sh "specrb -Ilib:test -a --rdox >RDOX"
|
||||
end
|
||||
|
||||
desc "Generate Rack Specification"
|
||||
task "SPEC" do
|
||||
File.open("SPEC", "wb") { |file|
|
||||
IO.foreach("lib/rack/lint.rb") { |line|
|
||||
if line =~ /## (.*)/
|
||||
file.puts $1
|
||||
end
|
||||
}
|
||||
}
|
||||
end
|
||||
|
||||
desc "Run all the fast tests"
|
||||
task :test do
|
||||
sh "specrb -Ilib:test -w #{ENV['TEST'] || '-a'} #{ENV['TESTOPTS'] || '-t "^(?!Rack::Handler|Rack::Adapter|Rack::Session::Memcache|Rack::Auth::OpenID)"'}"
|
||||
end
|
||||
|
||||
desc "Run all the tests"
|
||||
task :fulltest => [:chmod] do
|
||||
sh "specrb -Ilib:test -w #{ENV['TEST'] || '-a'} #{ENV['TESTOPTS']}"
|
||||
end
|
||||
|
||||
begin
|
||||
require 'rubygems'
|
||||
rescue LoadError
|
||||
# Too bad.
|
||||
else
|
||||
task "rack.gemspec" do
|
||||
spec = Gem::Specification.new do |s|
|
||||
s.name = "rack"
|
||||
s.version = version
|
||||
s.platform = Gem::Platform::RUBY
|
||||
s.summary = "a modular Ruby webserver interface"
|
||||
|
||||
s.description = <<-EOF
|
||||
Rack provides minimal, modular and adaptable interface for developing
|
||||
web applications in Ruby. By wrapping HTTP requests and responses in
|
||||
the simplest way possible, it unifies and distills the API for web
|
||||
servers, web frameworks, and software in between (the so-called
|
||||
middleware) into a single method call.
|
||||
|
||||
Also see http://rack.rubyforge.org.
|
||||
EOF
|
||||
|
||||
s.files = manifest + %w(SPEC RDOX rack.gemspec)
|
||||
s.bindir = 'bin'
|
||||
s.executables << 'rackup'
|
||||
s.require_path = 'lib'
|
||||
s.has_rdoc = true
|
||||
s.extra_rdoc_files = ['README', 'SPEC', 'RDOX', 'KNOWN-ISSUES']
|
||||
s.test_files = Dir['test/{test,spec}_*.rb']
|
||||
|
||||
s.author = 'Christian Neukirchen'
|
||||
s.email = 'chneukirchen@gmail.com'
|
||||
s.homepage = 'http://rack.rubyforge.org'
|
||||
s.rubyforge_project = 'rack'
|
||||
|
||||
s.add_development_dependency 'test-spec'
|
||||
|
||||
s.add_development_dependency 'camping'
|
||||
s.add_development_dependency 'fcgi'
|
||||
s.add_development_dependency 'memcache-client'
|
||||
s.add_development_dependency 'mongrel'
|
||||
s.add_development_dependency 'ruby-openid', '~> 2.0.0'
|
||||
s.add_development_dependency 'thin'
|
||||
end
|
||||
|
||||
File.open("rack.gemspec", "w") { |f| f << spec.to_ruby }
|
||||
end
|
||||
|
||||
task :gem => ["rack.gemspec", "SPEC"] do
|
||||
FileUtils.touch("RDOX")
|
||||
sh "gem build rack.gemspec"
|
||||
end
|
||||
end
|
||||
|
||||
desc "Generate RDoc documentation"
|
||||
task :rdoc do
|
||||
sh(*%w{rdoc --line-numbers --main README
|
||||
--title 'Rack\ Documentation' --charset utf-8 -U -o doc} +
|
||||
%w{README KNOWN-ISSUES SPEC RDOX} +
|
||||
Dir["lib/**/*.rb"])
|
||||
end
|
||||
|
||||
task :pushsite => [:rdoc] do
|
||||
sh "cd site && git gc"
|
||||
sh "rsync -avz doc/ chneukirchen@rack.rubyforge.org:/var/www/gforge-projects/rack/doc/"
|
||||
sh "rsync -avz site/ chneukirchen@rack.rubyforge.org:/var/www/gforge-projects/rack/"
|
||||
sh "cd site && git push"
|
||||
end
|
Loading…
Add table
Add a link
Reference in a new issue