Zbatery 0.2.0 - Unicorn/Rainbows! resync
[zbatery.git] / zbatery.gemspec
blob5d84d9cbddc83b0bd33954a19cb92ecbea7a897b
1 # -*- encoding: binary -*-
3 ENV["VERSION"] or abort "VERSION= must be specified"
4 manifest = File.readlines('.manifest').map! { |x| x.chomp! }
6 # don't bother with tests that fork, not worth our time to get working
7 # with `gem check -t` ... (of course we care for them when testing with
8 # GNU make when they can run in parallel)
9 test_files = manifest.grep(%r{\Atest/unit/test_.*\.rb\z}).map do |f|
10   File.readlines(f).grep(/\bfork\b/).empty? ? f : nil
11 end.compact
13 Gem::Specification.new do |s|
14   s.name = %q{zbatery}
15   s.version = ENV["VERSION"]
17   s.authors = ["Zbatery hackers"]
18   s.date = Time.now.utc.strftime('%Y-%m-%d')
19   s.description = File.read("README").split(/\n\n/)[1]
20   s.email = %q{rainbows-talk@rubyforge.org}
21   s.executables = %w(zbatery)
23   s.extra_rdoc_files = File.readlines('.document').map! do |x|
24     x.chomp!
25     if File.directory?(x)
26       manifest.grep(%r{\A#{x}/})
27     elsif File.file?(x)
28       x
29     else
30       nil
31     end
32   end.flatten.compact
34   s.files = manifest
35   s.homepage = %q{http://zbatery.bogomip.org/}
36   s.summary = %q{Rack HTTP server without a fork stuck in it}
37   s.rdoc_options = [ "-Na", "-t", "Zbatery - #{s.summary}" ]
38   s.require_paths = %w(lib)
39   s.rubyforge_project = %q{rainbows}
41   s.test_files = test_files
43   # rainbows has a boatload of dependencies
44   # required:
45   #   unicorn + rack
46   # optional:
47   #   revactor + rev + iobuffer
48   #   rev + iobuffer
49   #   eventmachine
50   #   espace-neverblock + eventmachine
51   #   async_sinatra + sinatra + eventmachine
52   #
53   # rainbows 0.90.2 depends on unicorn 0.96.1,
54   # unicorn 0.96.0 and before had a memory leak
55   # that was only triggered in Rainbows!/Zbatery
56   s.add_dependency(%q<unicorn>, ["~> 0.97.0"])
57   s.add_dependency(%q<rainbows>, [">= 0.91.0", "<= 1.0.0"])
59   # s.licenses = %w(GPLv2 Ruby) # accessor not compatible with older RubyGems
60 end