Sha256: 6b4dc139a76b6d25a8f953c41da73668d1116afb12d4f747ed5ef3a129533e37

Contents?: true

Size: 1.62 KB

Versions: 1

Compression:

Stored size: 1.62 KB

Contents

require "rake"
require "rspec/core/rake_task"

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

RSpec::Core::RakeTask.new(:spec)
task :default => :spec

namespace :deploy do
  def last_staging_sha
    `git rev-parse latest-staging`.strip
  end

  def last_release_sha
    `git rev-parse latest-release`.strip
  end

  def last_staging_ref_was_released?
    last_staging_sha == last_release_sha
  end

  task :staging, :version do |_, args|
    sh "gem bump --push #{"--version #{args.version}" if args.version}" if last_staging_ref_was_released?
    sh "git tag -f latest-staging"
    sh "git push origin :latest-staging"
    sh "git push origin latest-staging"
  end

  task :gem do
    sh "git fetch"
    sh "git checkout #{last_staging_sha}"
    sh "gem release --tag"
    sh "git tag -f latest-release"
    sh "git push origin :latest-release"
    sh "git push origin latest-release"
  end
end

namespace :release do
  DEPENDENTS = %w[
    vmc/vmc.gemspec
    vmc-plugins/admin/admin-vmc-plugin.gemspec
    vmc-plugins/console/console-vmc-plugin.gemspec
    vmc-plugins/manifests/manifests-vmc-plugin.gemspec
    vmc-plugins/mcf/mcf-vmc-plugin.gemspec
    vmc-plugins/tunnel/tunnel-vmc-plugin.gemspec
  ].freeze

  def bump_dependent(file, dep, ver)
    puts "Bumping #{dep} to #{ver} in #{file}"

    old = File.read(file)
    new = old.sub(/(\.add.+#{dep}\D+)[^'"]+(.+)/, "\\1#{ver}\\2")

    File.open(file, "w") { |io| io.print new }
  end

  task :bump_dependents do
    DEPENDENTS.each do |dep|
      bump_dependent(File.expand_path("../../#{dep}", __FILE__), "cfoundry", CFoundry::VERSION)
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
cfoundry-0.5.0 Rakefile