Sha256: 6b650f6c6feea4b9d486d6063ab97724c4b1dc3dc4dd759721feb5901882740f
Contents?: true
Size: 1.21 KB
Versions: 1
Compression:
Stored size: 1.21 KB
Contents
require 'anvil/task' require 'anvil/versioner' class Gem::BumpTask < Anvil::Task description "Bumps a gem's version" parser do arguments %w[term] end attr_reader :term def initialize(term, options = {}) @term = term end def task prepare_repo version = bump(read_version) write_version version version end protected def git @git ||= Git.open ENV['PWD'] end def version_file(mode = 'r') File.open('VERSION', mode) do |f| yield f end end def read_version version_file { |f| f.read.strip } end def bump(old_version) new_version = Anvil::Versioner.new(old_version).bump! term logger.info "Bumped from #{old_version} to #{new_version}" new_version end def commit_and_tag(version) git.add 'VERSION' git.commit "Bump version v#{version}" git.add_tag "v#{version}" git.push end def write_version(version) version_file('w+') do |f| f.puts version f.close end commit_and_tag version end def prepare_repo fail Anvil::RepoNotClean unless clean? git.pull end def clean? git.status.changed.empty? && git.status.deleted.empty? && git.status.added.empty? end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
anvil-core-0.0.1.pre.alpha.3 | lib/tasks/gem/bump_task.rb |