require 'rubygems' require 'rake' GEM_VERSION = File.read(File.dirname(__FILE__) + '/VERSION') subgems = [ ["padrino-core", "= #{GEM_VERSION}"], ["padrino-helpers", "= #{GEM_VERSION}"], ["padrino-mailer", "= #{GEM_VERSION}"], ["padrino-routing", "= #{GEM_VERSION}"], # ["padrino-gen", "= #{GEM_VERSION}"], # ["padrino-cache", "= #{GEM_VERSION}"], # ["padrino-admin", "= #{GEM_VERSION}"], ] begin require 'jeweler' Jeweler::Tasks.new do |gem| gem.name = "padrino" gem.summary = "The Godfather of Sinatra" gem.description = "The Godfather of Sinatra provides a full-stack agnostic framework on top of Sinatra" gem.email = "nesquena@gmail.com" gem.homepage = "http://github.com/padrino/padrino-framework" gem.authors = ["Padrino Team", "Nathan Esquenazi", "Davide D'Agostino", "Arthur Chiu"] gem.add_runtime_dependency "sinatra", ">= 0.9.2" gem.add_development_dependency "haml", ">= 2.2.1" gem.add_development_dependency "shoulda", ">= 0" gem.add_development_dependency "mocha", ">= 0.9.7" gem.add_development_dependency "rack-test", ">= 0.5.0" gem.add_development_dependency "webrat", ">= 0.5.1" subgems.each { |subgem_data| gem.add_runtime_dependency *subgem_data } # gem is a Gem::Specification... see http://www.rubygems.org/read/chapter/20 for additional settings end Jeweler::GemcutterTasks.new rescue LoadError puts "Jeweler (or a dependency) not available. Install it with: sudo gem install jeweler" end require 'rake/testtask' Rake::TestTask.new(:test) do |test| test.libs << 'lib' << 'test' test.pattern = 'test/**/test_*.rb' test.verbose = true end begin require 'rcov/rcovtask' Rcov::RcovTask.new do |test| test.libs << 'test' test.pattern = 'test/**/test_*.rb' test.verbose = true end rescue LoadError task :rcov do abort "RCov is not available. In order to run rcov, you must: sudo gem install spicycode-rcov" end end task :test => :check_dependencies task :default => :test require 'rake/rdoctask' Rake::RDocTask.new do |rdoc| version = File.exist?('VERSION') ? File.read('VERSION') : "" rdoc.rdoc_dir = 'rdoc' rdoc.title = "padrino #{version}" rdoc.rdoc_files.include('README*') rdoc.rdoc_files.include('lib/**/*.rb') end ########### CUSTOM TASKS ########## task :build => "lib/padrino.rb" desc "Create padrino.rb" task "lib/padrino.rb" do mkdir_p "lib" File.open("lib/padrino.rb","w+") do |file| file.puts "### AUTOMATICALLY GENERATED. DO NOT EDIT!" subgems.each do |pair| g, _ = pair file.puts "require '#{g}'" end end end