Why Gemfury? Push, build, and install  RubyGems npm packages Python packages Maven artifacts PHP packages Go Modules Debian packages RPM packages NuGet packages

Repository URL to install this package:

Details    
buildgem / lib / buildgem.rb
Size: Mime:
require "buildgem/configuration"
require "buildgem/version"
require "buildgem/committer"
require "buildgem/tagger"
require "buildgem/pusher"
require "buildgem/builder"
require "buildgem/deployer"
require "buildgem/cleaner"

module Buildgem
  include ForwardGemMethodsToConfig

  VERSION = "0.0.7"

  class << self
    def run!
      Version.increment!(ARGV)
      log "Bumped file up to #{gem_version}!"

      Committer.commit!
      log "Committed #{gem_version_file_path}!"

      Tagger.tag!
      log "Tagged #{gem_version}!"

      Pusher.push! if config.git_push_tags

      Builder.build!
      log "Built gem at version #{gem_version}!"

      Deployer.deploy! unless ENV['RACK_ENV'] == 'test'

      Cleaner.clean!
      log "Removed #{gem_top_level_namespace}-#{gem_version}.gem"
    end

    def configure
      yield(configuration)
    end

    def configuration
      @configuration ||= Configuration.new
    end
    alias :config :configuration

    private
    def log(msg)
      unless ENV['RACK_ENV'] == 'test'
        print "#{msg}\n"
      end
    end
  end
end