Sha256: b6af1b14388f73f67cce6c360f87b1a971ef9627a7865e2d751171a8e6aca93d
Contents?: true
Size: 1.84 KB
Versions: 1
Compression:
Stored size: 1.84 KB
Contents
require 'gem_release' require 'rubygems/commands/tag_command' require 'rubygems/commands/release_command' class Gem::Commands::BumpCommand < Gem::Command include GemRelease, Gem::Commands include Helpers, CommandOptions attr_reader :arguments, :usage DEFAULTS = { :version => 'patch', :commit => true, :push => false, :quiet => false } def initialize(options = {}) super 'bump', 'Bump the gem version', DEFAULTS.merge(options) option :version, '-v', 'Target version: next [major|minor|patch] or a given version number [x.x.x]' option :commit, '-c', 'Perform a commit after incrementing gem version' option :push, '-p', 'Push to origin' option :quiet, '-q', 'Do not output status messages' end def execute @new_version_number = nil # enforce option dependencies options[:commit] = options[:commit] || options[:push] in_gemspec_dirs do bump end if @new_version_number == nil say "No version files could be found, so no actions were performed." unless quiet? else commit if options[:commit] push if options[:push] end end protected def bump version = VersionFile.new(:target => (@new_version_number || options[:version])) if File.exist?(version.filename) @new_version_number ||= version.new_number say "Bumping #{gem_name} from #{version.old_number} to version #{version.new_number}" unless quiet? version.bump! `git add #{version.filename}` if options[:commit] else say "Ignoring #{gem_name}. Version file #{version.filename} not found" unless quiet? end end def commit say "Creating commit" unless quiet? `git commit -m "Bump to #{@new_version_number}"` end def push say "Pushing to origin" unless quiet? `git push` end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
gem-release-0.2.0 | lib/rubygems/commands/bump_command.rb |