Skip to content

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also .

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also .
...
Checking mergeability… Don’t worry, you can still create the pull request.
  • 2 commits
  • 13 files changed
  • 0 commit comments
  • 1 contributor
Showing with 193 additions and 0 deletions.
  1. +48 −0 do/README
  2. +3 −0 do/fulltest
  3. +16 −0 do/mkchangelog
  4. +56 −0 do/mkgemspec
  5. +8 −0 do/mkrdoc
  6. +3 −0 do/mkrdox
  7. +9 −0 do/mkspec
  8. +24 −0 do/officialrelease
  9. +6 −0 do/package
  10. +4 −0 do/packagegem
  11. +7 −0 do/packagetargz
  12. +6 −0 do/pushsite
  13. +3 −0 do/test
View
48 do/README
@@ -0,0 +1,48 @@
+This directory contains build scripts for Rack.
+
+They are meant to be executed **from the root** of the Git repository/tarball.
+
+For users:
+
+ do/packagegem [VERSION]
+ make a gem with version defaulting to Rack.release
+ requires RubyGems
+
+ do/packagetargz VERSION
+ make a tarball
+ requires Git, pax, gzip
+
+ do/package VERSION
+ make a tarball and a gem versioned with VERSION
+
+ do/mkrdoc
+ generate RDoc documentation
+
+ do/test
+ run the core test suite
+
+ do/fulltest
+ run the full test suite (this has many dependencies)
+
+For developers/maintainers:
+
+ do/mkgemspec [VERSION]
+ update the gemspec with version defaulting to Rack.release
+ (use this to trigger Github gem rebuilds)
+ requires RubyGems
+
+ do/officialrelease VERSION
+ make a fresh checkout, test *everything* and packages
+ requires RubyGems, Git
+
+ do/pushsite
+ upload the site to RubyForge and GitHub.
+ requires rsync, Git
+
+Various/internal:
+
+ do/mkchangelog
+ generate ChangeLog
+
+ do/mkspec
+ generate the SPEC
View
3 do/fulltest
@@ -0,0 +1,3 @@
+#!/usr/bin/env ruby
+
+system "specrb -rubygems -Ilib:test -w #{ENV['TEST'] || '-a'} #{ENV['TESTOPTS']}"
View
16 do/mkchangelog
@@ -0,0 +1,16 @@
+#!/usr/bin/env ruby
+
+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
+ }
+}
View
56 do/mkgemspec
@@ -0,0 +1,56 @@
+#!/usr/bin/env ruby
+
+require 'rubygems'
+
+version = ARGV[0]
+
+unless version
+ load 'lib/rack.rb'
+ version = Rack.release
+end
+
+def manifest
+ files = `git ls-files`.split("\n")
+ files.empty? ? Dir["{lib,test}/**"] + %w(SPEC RDOX rack.gemspec) : files
+end
+
+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
+ 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 }
View
8 do/mkrdoc
@@ -0,0 +1,8 @@
+#!/usr/bin/env ruby
+
+system "do/mkspec"
+
+system(*%w{rdoc --line-numbers --inline-source --main README
+ --title 'Rack\ Documentation' --charset utf-8 -o doc} +
+ %w{README KNOWN-ISSUES SPEC RDOX} +
+ Dir["lib/**/*.rb"])
View
3 do/mkrdox
@@ -0,0 +1,3 @@
+#!/usr/bin/env ruby
+
+system "specrb -rubygems -Ilib:test -a --rdox >RDOX"
View
9 do/mkspec
@@ -0,0 +1,9 @@
+#!/usr/bin/env ruby
+
+File.open("SPEC", "wb") { |file|
+ IO.foreach("lib/rack/lint.rb") { |line|
+ if line =~ /## (.*)/
+ file.puts $1
+ end
+ }
+}
View
24 do/officialrelease
@@ -0,0 +1,24 @@
+#!/usr/bin/env ruby
+
+version = ARGV[0] || abort("Usage: do/officialrelease VERSION")
+
+# Do everything on a fresh checkout
+system "rm -rf stage"
+system "git clone --shared . stage"
+
+Dir.chdir("stage") {
+ system "do/fulltest"
+
+ system "do/mkrdox"
+
+ system "do/mkchangelog"
+ system "do/mkrdoc"
+
+ system "do/packagetargz", version
+ system "do/packagegem", version
+
+ system "sha1sum rack-#{version}.tar.gz"
+ system "sha1sum rack-#{version}.gem"
+}
+
+system "mv stage/rack-#{version}.tar.gz stage/rack-#{version}.gem ."
View
6 do/package
@@ -0,0 +1,6 @@
+#!/usr/bin/env ruby
+
+version = ARGV[0] or abort "Usage: do/package VERSION"
+
+system "do/packagetargz", version
+system "do/packagegem", version
View
4 do/packagegem
@@ -0,0 +1,4 @@
+#!/usr/bin/env ruby
+
+system "do/mkgemspec #{ARGV[0]}"
+system "gem build rack.gemspec"
View
7 do/packagetargz
@@ -0,0 +1,7 @@
+#!/usr/bin/env ruby
+
+release = "rack-#{ARGV[0]}"
+
+system "git archive --format=tar --prefix=#{release}/ HEAD^{tree} >#{release}.tar"
+system "pax -waf #{release}.tar -s ':^:#{release}/:' RDOX SPEC ChangeLog rack.gemspec doc"
+system "gzip -f -9 #{release}.tar"
View
6 do/pushsite
@@ -0,0 +1,6 @@
+#!/usr/bin/env ruby
+
+system "cd site && git gc"
+system "rsync -avz doc/ chneukirchen@rack.rubyforge.org:/var/www/gforge-projects/rack/doc/"
+system "rsync -avz site/ chneukirchen@rack.rubyforge.org:/var/www/gforge-projects/rack/"
+system "cd site && git push"
View
3 do/test
@@ -0,0 +1,3 @@
+#!/usr/bin/env ruby
+
+system "specrb -Ilib:test -w #{ENV['TEST'] || '-a'} #{ENV['TESTOPTS'] || '-t "^(?!Rack::Handler|Rack::Adapter|Rack::Session::Memcache|Rack::Auth::OpenID)"'}"

No commit comments for this range

Something went wrong with that request. Please try again.