Sha256: c86e6968eb44f6a3653583607ec2cbc114964ed3e8491fe38e20ef8e13e9e13c
Contents?: true
Size: 1.5 KB
Versions: 3
Compression:
Stored size: 1.5 KB
Contents
# encoding: utf-8 require 'fedux_org_stdlib/version_management/rubygem_version_file' require 'fedux_org_stdlib/versionable' module FeduxOrgStdlib module Rake # Version Bump Task # # @see Rakefile class VersionBumpTask < Task include Versionable # @private def bump_version(type) version_update do |file| file.bump(type) end end # @private def set_version(new_version) raise Exception, "You need to define a version via \"VERSION=<version>\" or \"version=<version>\"." if new_version.blank? begin version_update do |file| file.version = new_version end rescue StandardError => e logger.fatal("Nothing has changed since your last commit or has been added to the index. Therefor nothing needs to be commited: #{e.message}.") end end private def add_to_repo(file, version) logger.info('Adding new version file to repository.') sh "git add #{file}" sh "git commit -m 'Version bump to #{version}'" end def version_update(&block) file = FeduxOrgStdlib::VersionManagement::RubygemVersionFile.read(version_file) old_version = file.version block.call(file) new_version = file.version file.write(version_file) logger.info("Updated version. It was \"#{old_version}\". It is now \"#{new_version}\".") add_to_repo(version_file, file.version) end end end end
Version data entries
3 entries across 3 versions & 1 rubygems