2011-04-22 15:49:23 +00:00
|
|
|
OMNIAUTH_GEMS = %w(oa-basic oa-core oa-oauth oa-openid oa-enterprise oa-more)
|
2010-03-25 23:37:03 +00:00
|
|
|
|
2011-04-22 15:49:23 +00:00
|
|
|
def each_gem(action, &block)
|
|
|
|
OMNIAUTH_GEMS.each do |gem|
|
|
|
|
puts "#{gem} #{action}"
|
|
|
|
Dir.chdir(gem) do
|
|
|
|
yield
|
|
|
|
end
|
|
|
|
end
|
2010-10-14 15:27:33 +00:00
|
|
|
end
|
2010-03-25 23:37:03 +00:00
|
|
|
|
2011-04-22 15:49:23 +00:00
|
|
|
def version
|
|
|
|
File.read("VERSION").strip
|
|
|
|
end
|
2010-05-01 19:07:56 +00:00
|
|
|
|
2011-04-22 15:49:23 +00:00
|
|
|
def bump_version(position)
|
|
|
|
v = version.split('.').map{|s| s.to_i}
|
|
|
|
v[position] += 1
|
|
|
|
write_version(*v)
|
|
|
|
end
|
|
|
|
|
|
|
|
def write_version(major, minor, patch)
|
|
|
|
v = version.split('.').map{|s| s.to_i}
|
|
|
|
v[0] = major unless major.nil?
|
|
|
|
v[1] = minor unless minor.nil?
|
|
|
|
v[2] = patch unless patch.nil?
|
|
|
|
File.open("VERSION", 'w') do |f|
|
|
|
|
f.write v.join('.')
|
|
|
|
end
|
|
|
|
each_gem('is writing version file...') do
|
|
|
|
File.open("VERSION", 'w') do |f|
|
|
|
|
f.write v.join('.')
|
2010-11-03 18:19:10 +00:00
|
|
|
end
|
2010-05-01 19:07:56 +00:00
|
|
|
end
|
2011-04-22 15:49:23 +00:00
|
|
|
display_version
|
2010-05-01 19:07:56 +00:00
|
|
|
end
|
|
|
|
|
2011-04-22 15:49:23 +00:00
|
|
|
def display_version
|
|
|
|
puts "Version is now #{version}"
|
|
|
|
end
|
|
|
|
|
|
|
|
desc "Display the current version"
|
|
|
|
task :version do
|
|
|
|
display_version
|
|
|
|
end
|
|
|
|
|
|
|
|
namespace :version do
|
|
|
|
desc "Write version with MAJOR, MINOR, and PATCH level env variables."
|
|
|
|
task :write do
|
|
|
|
write_version(ENV['MAJOR'], ENV['MINOR'], ENV['PATCH'])
|
|
|
|
end
|
|
|
|
|
|
|
|
namespace :bump do
|
|
|
|
desc "Increment the major version"
|
|
|
|
task :major do
|
|
|
|
bump_version(0)
|
|
|
|
end
|
|
|
|
desc "Increment the minor version"
|
|
|
|
task :minor do
|
|
|
|
bump_version(1)
|
|
|
|
end
|
|
|
|
desc "Increment the patch version"
|
|
|
|
task :patch do
|
|
|
|
bump_version(2)
|
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
|
|
|
desc "Run specs for all of the gems"
|
2010-04-05 03:30:40 +00:00
|
|
|
task :spec do
|
2010-11-03 18:19:10 +00:00
|
|
|
error_gems = []
|
2011-04-22 07:52:45 +00:00
|
|
|
each_gem('specs are running...') do |gem|
|
2011-04-26 01:06:01 +00:00
|
|
|
unless system('bundle exec rake spec')
|
2011-04-22 07:52:45 +00:00
|
|
|
error_gems << gem
|
2010-11-03 18:19:10 +00:00
|
|
|
end
|
|
|
|
end
|
2011-04-22 08:11:29 +00:00
|
|
|
|
2010-11-03 18:19:10 +00:00
|
|
|
puts
|
|
|
|
if error_gems.any?
|
2011-04-22 15:49:23 +00:00
|
|
|
puts "#{error_gems.size} gems with failing specs: #{error_gems.join(', ')}"
|
2010-11-03 18:19:10 +00:00
|
|
|
exit(1)
|
|
|
|
else
|
2011-04-22 15:49:23 +00:00
|
|
|
puts "All gems passed specs."
|
2010-04-05 03:30:40 +00:00
|
|
|
end
|
2010-03-25 23:37:03 +00:00
|
|
|
end
|
2010-04-10 01:30:16 +00:00
|
|
|
|
2011-04-22 08:11:29 +00:00
|
|
|
desc "Release all gems to gemcutter and create a tag"
|
|
|
|
task :release => ['tag', 'clean', 'build', 'publish']
|
|
|
|
|
|
|
|
task :tag do
|
2011-04-22 15:49:23 +00:00
|
|
|
system("git tag v#{version.join}")
|
2011-04-22 08:11:29 +00:00
|
|
|
system('git push origin --tags')
|
|
|
|
end
|
2010-10-14 15:27:33 +00:00
|
|
|
|
2011-04-22 08:11:29 +00:00
|
|
|
task :publish do
|
|
|
|
each_gem('is releasing to Rubygems...') do
|
2011-04-22 15:49:23 +00:00
|
|
|
system("gem push pkg/#{gem}-#{version.join}.gem")
|
2010-10-14 15:27:33 +00:00
|
|
|
end
|
2011-04-22 15:49:23 +00:00
|
|
|
system("gem push pkg/omniauth-#{version.join}.gem")
|
|
|
|
end
|
|
|
|
|
|
|
|
def build_gem
|
|
|
|
system('gem build omniauth.gemspec')
|
|
|
|
FileUtils.mkdir_p('pkg')
|
|
|
|
FileUtils.mv("omniauth-#{version}.gem", 'pkg')
|
|
|
|
end
|
|
|
|
|
|
|
|
def install_gem
|
|
|
|
system("gem install pkg/omniauth-#{version}.gem")
|
2010-10-14 15:27:33 +00:00
|
|
|
end
|
|
|
|
|
2011-04-22 08:11:29 +00:00
|
|
|
desc "Build gem files for all projects"
|
2011-04-22 07:52:45 +00:00
|
|
|
task :build do
|
2011-04-22 15:49:23 +00:00
|
|
|
each_gem('is building...') do
|
2011-04-22 07:52:45 +00:00
|
|
|
system('rake build')
|
2010-06-13 19:19:53 +00:00
|
|
|
end
|
2011-04-22 15:49:23 +00:00
|
|
|
build_gem
|
2011-04-22 07:52:45 +00:00
|
|
|
end
|
2010-05-01 18:14:46 +00:00
|
|
|
|
2011-04-22 08:11:29 +00:00
|
|
|
desc "Install gems for all projects"
|
2011-04-22 07:52:45 +00:00
|
|
|
task :install do
|
2011-04-22 15:49:23 +00:00
|
|
|
each_gem('is installing...') do
|
2011-04-22 07:52:45 +00:00
|
|
|
system('rake install')
|
2010-06-13 17:20:52 +00:00
|
|
|
end
|
2011-04-22 15:49:23 +00:00
|
|
|
build_gem
|
|
|
|
install_gem
|
2011-04-22 07:52:45 +00:00
|
|
|
end
|
|
|
|
|
2010-06-13 17:20:52 +00:00
|
|
|
desc "Clean pkg and other stuff"
|
|
|
|
task :clean do
|
2011-04-22 15:49:23 +00:00
|
|
|
OMNIAUTH_GEMS.each do |gem|
|
|
|
|
Dir.chdir(gem) do
|
|
|
|
%w(tmp pkg coverage dist).each do |directory|
|
|
|
|
FileUtils.rm_rf directory
|
|
|
|
end
|
2010-06-13 17:20:52 +00:00
|
|
|
end
|
2011-04-22 15:49:23 +00:00
|
|
|
%w(tmp pkg coverage dist).each do |directory|
|
|
|
|
FileUtils.rm_rf directory
|
|
|
|
end
|
|
|
|
end
|
|
|
|
Dir["**/*.gem"].each do |gem|
|
|
|
|
FileUtils.rm_rf gem
|
2010-06-13 17:20:52 +00:00
|
|
|
end
|
|
|
|
end
|
|
|
|
|
2010-06-13 01:29:31 +00:00
|
|
|
task :default => :spec
|
2011-04-22 07:52:45 +00:00
|
|
|
task :test => :spec
|
2010-10-14 15:27:33 +00:00
|
|
|
|
2011-04-22 15:49:23 +00:00
|
|
|
namespace :doc do
|
2010-10-14 15:27:33 +00:00
|
|
|
require 'yard'
|
2011-04-22 15:49:23 +00:00
|
|
|
YARD::Rake::YardocTask.new do |task|
|
|
|
|
task.files = OMNIAUTH_GEMS.map{|gem| ["#{gem}/lib/**/*.rb"]} + ['README.markdown', 'LICENSE']
|
|
|
|
task.options = [
|
|
|
|
'--markup', 'markdown',
|
|
|
|
'--markup-provider', 'maruku',
|
|
|
|
]
|
2010-10-14 15:27:33 +00:00
|
|
|
end
|
2011-01-12 14:51:22 +00:00
|
|
|
end
|