Sha256: 45da238196ed5f3b36dffdffe028ebb836bc479165f3249804863353d90acac6

Contents?: true

Size: 1.26 KB

Versions: 3

Compression:

Stored size: 1.26 KB

Contents

$LOAD_PATH.unshift(File.expand_path("../lib", __FILE__))

desc "Run specs (without Rails integration spec - requires rvm, run manually with `spec ./spec/rails_integration_spec.rb')"
task :spec do
  sh "spec #{ (Dir["./spec/*_spec.rb"] - ["./spec/rails_integration_spec.rb"]).join(" ") }"
end

GEM_NAME = "reflexive"

desc "Relese next version of reflexive gem (do that just after `git commit')"
task :release => :spec do
  require "rubygems"
  require "rubygems/version"
  require "yaml"

  if ENV["GEM_VERSION"]
    # release version passed in ENV["GEM_VERSION"]
    new_version = ENV["GEM_VERSION"]
  else
    # by default release next minor version
    current_version = YAML.load(`gem specification #{ GEM_NAME } -r`)["version"] || Gem::Version.new("0.0.0")
    new_version = (current_version.segments[0..-2] + [current_version.segments[-1].succ]).join(".")
    ENV["GEM_VERSION"] = new_version
  end

  puts "Releasing #{ GEM_NAME } #{ new_version }"

  sh "gem build #{ GEM_NAME }.gemspec --verbose"

  sh "gem push #{ GEM_NAME }-#{ new_version }.gem --verbose"

  sh "gem install #{ GEM_NAME } --version=#{ new_version } --local --verbose"

  File.delete("#{ GEM_NAME }-#{ new_version }.gem")
  
  sh "git push"
end

task :default => :spec

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
reflexive-0.1.2 Rakefile
reflexive-0.1.1 Rakefile
reflexive-0.1.0 Rakefile