]> git.openstreetmap.org Git - rails.git/blob - vendor/gems/rots-0.2.1/Rakefile
Simplify usage, fix closures
[rails.git] / vendor / gems / rots-0.2.1 / Rakefile
1 # Rakefile for Rack.  -*-ruby-*-
2 require 'rake/rdoctask'
3 require 'rake/testtask'
4 require 'spec/rake/spectask'
5
6
7 desc "Run all the tests"
8 task :default => [:spec]
9
10 desc "Do predistribution stuff"
11 task :predist => [:changelog, :rdoc]
12
13
14 desc "Make an archive as .tar.gz"
15 task :dist => [:fulltest, :predist] do
16   sh "git archive --format=tar --prefix=#{release}/ HEAD^{tree} >#{release}.tar"
17   sh "pax -waf #{release}.tar -s ':^:#{release}/:' RDOX SPEC ChangeLog doc"
18   sh "gzip -f -9 #{release}.tar"
19 end
20
21 # Helper to retrieve the "revision number" of the git tree.
22 def git_tree_version
23   #if File.directory?(".git")
24   #  @tree_version ||= `git describe`.strip.sub('-', '.')
25   #  @tree_version << ".0"  unless @tree_version.count('.') == 2
26   #else
27     $: << "lib"
28     require 'rots'
29     @tree_version = Rots.release
30   #end
31   @tree_version
32 end
33
34 def gem_version
35   git_tree_version.gsub(/-.*/, '')
36 end
37
38 def release
39   "ruby-openid-tester-#{git_tree_version}"
40 end
41
42 def manifest
43   `git ls-files`.split("\n")
44 end
45
46 desc "Generate a ChangeLog"
47 task :changelog do
48   File.open("ChangeLog", "w") do |out|
49     `git log -z`.split("\0").map do |chunk|
50       author = chunk[/Author: (.*)/, 1].strip
51       date   = chunk[/Date: (.*)/, 1].strip
52       desc, detail = $'.strip.split("\n", 2)
53       detail ||= ""
54       detail.rstrip!
55       out.puts "#{date}  #{author}"
56       out.puts "  * #{desc.strip}"
57       out.puts detail  unless detail.empty?
58       out.puts
59     end
60   end
61 end
62
63
64 begin
65   require 'rubygems'
66
67   require 'rake'
68   require 'rake/clean'
69   require 'rake/packagetask'
70   require 'rake/gempackagetask'
71   require 'fileutils'
72 rescue LoadError
73   # Too bad.
74 else
75   spec = Gem::Specification.new do |s|
76     s.name            = "rots"
77     s.version         = gem_version
78     s.platform        = Gem::Platform::RUBY
79     s.summary         = "an OpenID server for making tests of OpenID clients implementations"
80
81     s.description = <<-EOF
82 Ruby OpenID Test Server (ROST) provides a basic OpenID server made in top of the Rack gem.
83 With this small server, you can make dummy OpenID request for testing purposes,
84 the success of the response will depend on a parameter given on the url of the authentication request.
85     EOF
86
87     s.files           = manifest
88     s.bindir          = 'bin'
89     s.executables     << 'rots'
90     s.require_path    = 'lib'
91     s.has_rdoc        = true
92     s.extra_rdoc_files = ['README']
93     s.test_files      = Dir['spec/*_spec.rb']
94
95     s.author          = 'Roman Gonzalez'
96     s.email           = 'romanandreg@gmail.com'
97     s.homepage        = 'http://github.com/roman'
98     s.rubyforge_project = 'rots'
99
100     s.add_development_dependency 'rspec'
101     s.add_development_dependency 'rack'
102     s.add_development_dependency 'ruby-openid', '~> 2.0.0'
103   end
104
105   Rake::GemPackageTask.new(spec) do |p|
106     p.gem_spec = spec
107     p.need_tar = false
108     p.need_zip = false
109   end
110 end
111
112 Spec::Rake::SpecTask.new do |t|
113 end
114
115 desc "Generate RDoc documentation"
116 Rake::RDocTask.new(:rdoc) do |rdoc|
117   rdoc.options << '--line-numbers' << '--inline-source' <<
118     '--main' << 'README' <<
119     '--title' << 'ROTS Documentation' <<
120     '--charset' << 'utf-8'
121   rdoc.rdoc_dir = "doc"
122   rdoc.rdoc_files.include 'README'
123   rdoc.rdoc_files.include('lib/ruby_openid_test_server.rb')
124   rdoc.rdoc_files.include('lib/ruby_openid_test_server/*.rb')
125 end