--- /dev/null
+# Rakefile for Rack. -*-ruby-*-
+require 'rake/rdoctask'
+require 'rake/testtask'
+require 'spec/rake/spectask'
+
+
+desc "Run all the tests"
+task :default => [:spec]
+
+desc "Do predistribution stuff"
+task :predist => [:changelog, :rdoc]
+
+
+desc "Make an archive as .tar.gz"
+task :dist => [:fulltest, :predist] do
+ sh "git archive --format=tar --prefix=#{release}/ HEAD^{tree} >#{release}.tar"
+ sh "pax -waf #{release}.tar -s ':^:#{release}/:' RDOX SPEC ChangeLog doc"
+ sh "gzip -f -9 #{release}.tar"
+end
+
+# Helper to retrieve the "revision number" of the git tree.
+def git_tree_version
+ #if File.directory?(".git")
+ # @tree_version ||= `git describe`.strip.sub('-', '.')
+ # @tree_version << ".0" unless @tree_version.count('.') == 2
+ #else
+ $: << "lib"
+ require 'rots'
+ @tree_version = Rots.release
+ #end
+ @tree_version
+end
+
+def gem_version
+ git_tree_version.gsub(/-.*/, '')
+end
+
+def release
+ "ruby-openid-tester-#{git_tree_version}"
+end
+
+def manifest
+ `git ls-files`.split("\n")
+end
+
+desc "Generate a ChangeLog"
+task :changelog do
+ File.open("ChangeLog", "w") do |out|
+ `git log -z`.split("\0").map do |chunk|
+ author = chunk[/Author: (.*)/, 1].strip
+ date = chunk[/Date: (.*)/, 1].strip
+ desc, detail = $'.strip.split("\n", 2)
+ detail ||= ""
+ detail.rstrip!
+ out.puts "#{date} #{author}"
+ out.puts " * #{desc.strip}"
+ out.puts detail unless detail.empty?
+ out.puts
+ end
+ end
+end
+
+
+begin
+ require 'rubygems'
+
+ require 'rake'
+ require 'rake/clean'
+ require 'rake/packagetask'
+ require 'rake/gempackagetask'
+ require 'fileutils'
+rescue LoadError
+ # Too bad.
+else
+ spec = Gem::Specification.new do |s|
+ s.name = "rots"
+ s.version = gem_version
+ s.platform = Gem::Platform::RUBY
+ s.summary = "an OpenID server for making tests of OpenID clients implementations"
+
+ s.description = <<-EOF
+Ruby OpenID Test Server (ROST) provides a basic OpenID server made in top of the Rack gem.
+With this small server, you can make dummy OpenID request for testing purposes,
+the success of the response will depend on a parameter given on the url of the authentication request.
+ EOF
+
+ s.files = manifest
+ s.bindir = 'bin'
+ s.executables << 'rots'
+ s.require_path = 'lib'
+ s.has_rdoc = true
+ s.extra_rdoc_files = ['README']
+ s.test_files = Dir['spec/*_spec.rb']
+
+ s.author = 'Roman Gonzalez'
+ s.email = 'romanandreg@gmail.com'
+ s.homepage = 'http://github.com/roman'
+ s.rubyforge_project = 'rots'
+
+ s.add_development_dependency 'rspec'
+ s.add_development_dependency 'rack'
+ s.add_development_dependency 'ruby-openid', '~> 2.0.0'
+ end
+
+ Rake::GemPackageTask.new(spec) do |p|
+ p.gem_spec = spec
+ p.need_tar = false
+ p.need_zip = false
+ end
+end
+
+Spec::Rake::SpecTask.new do |t|
+end
+
+desc "Generate RDoc documentation"
+Rake::RDocTask.new(:rdoc) do |rdoc|
+ rdoc.options << '--line-numbers' << '--inline-source' <<
+ '--main' << 'README' <<
+ '--title' << 'ROTS Documentation' <<
+ '--charset' << 'utf-8'
+ rdoc.rdoc_dir = "doc"
+ rdoc.rdoc_files.include 'README'
+ rdoc.rdoc_files.include('lib/ruby_openid_test_server.rb')
+ rdoc.rdoc_files.include('lib/ruby_openid_test_server/*.rb')
+end