Sha256: 9b0aee07a617a66ef7faf36ad4e51077e85d01d28f3e2fe451e516d14b6436ab

Contents?: true

Size: 1.39 KB

Versions: 1

Compression:

Stored size: 1.39 KB

Contents

require 'rubygems'
require 'rake'
require 'rspec/core/rake_task'
require 'yard'
require 'git'
$:.push File.expand_path("../lib", __FILE__)
require "orm_adapter/version"

task :default => :spec

RSpec::Core::RakeTask.new(:spec)

YARD::Rake::YardocTask.new(:doc) do |t|
  t.files   = ['lib/**/*.rb', 'README.rdoc']
end

task :build do
  system "gem build orm_adapter.gemspec"
end

namespace :release do
  task :rubygems => :pre do
    system "gem push orm_adapter-#{OrmAdapter::VERSION}.gem"
  end
  
  task :github => :pre do
    tag = "v#{OrmAdapter::VERSION}"
    git = Git.open('.')
    
    if (git.tag(tag) rescue nil)
      raise "** repo is already tagged with: #{tag}"
    end
    
    git.add_tag(tag)
    git.push('origin', tag)
  end
  
  task :pre => [:spec, :build] do
    git = Git.open('.')
    
    if File.exists?("Gemfile.lock") && File.read("Gemfile.lock") != File.read("Gemfile.lock.development")
      cp "Gemfile.lock", "Gemfile.lock.development"
      raise "** Gemfile.lock.development has been updated, please commit these changes."
    end
    
    if (git.status.changed + git.status.added + git.status.deleted).any?
      raise "** repo is not clean, try committing some files"
    end
    
    if git.object('HEAD').sha != git.object('origin/master').sha
      raise "** origin does not match HEAD, have you pushed?"
    end
  end
  
  task :all => ['release:github', 'release:rubygems']
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
orm_adapter-0.0.4 Rakefile