Sha256: 73072b9db7362b0a94e51d03b81fea5f478b209684bad5d41f7ba67df44afd9e

Contents?: true

Size: 896 Bytes

Versions: 2

Compression:

Stored size: 896 Bytes

Contents

# frozen_string_literal: true

require 'rubygems/package'
require 'gemfury'
require 'gemfury/command'

namespace 'fury' do
  desc 'Build gem and push it to Gemfury'
  task :release, [:gemspec, :as] do |_t, args|
    gemspec = args[:gemspec] || FileList["#{Dir.pwd}/*.gemspec"][0]

    if gemspec.nil? || !File.exist?(gemspec)
      puts 'No gemspec found'
    else
      puts "Building #{File.basename(gemspec)}"
      spec = Gem::Specification.load(gemspec)

      if Gem::Package.respond_to?(:build)
        Gem::Package.build(spec)
      else
        require 'rubygems/builder'
        Gem::Builder.new(spec).build
      end

      gemfile = File.basename(spec.cache_file)

      params = ['push', gemfile, '--no_warnings']
      params << "--as=#{args[:as]}" if args[:as]

      Gemfury::Command::App.start(params)
    end
  end
end

namespace 'gemfury' do
  task release: 'fury:release'
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
gemfury-0.13.0 lib/gemfury/tasks/release.rake
gemfury-0.13.0.beta1 lib/gemfury/tasks/release.rake