Module: Hoe::Gemcutter

Includes:
Rake::DSL
Defined in:
lib/hoe/gemcutter.rb

Overview

Gemcutter plugin for hoe.

Extra Configuration Options:

otp_command

Shell command to run to populate GEM_HOST_OTP_CODE.

Instance Method Summary collapse

Instance Method Details

#define_gemcutter_tasksObject

Define release_to_gemcutter and attach it to the release task.



33
34
35
36
37
38
39
40
41
42
43
# File 'lib/hoe/gemcutter.rb', line 33

def define_gemcutter_tasks
  desc "Push gem to gemcutter."
  task :release_to_gemcutter => [:clean, :package, :release_sanity] do
    pkg   = "pkg/#{spec.name}-#{spec.version}"
    gems  = Dir["#{pkg}*.gem"]

    gem_push gems
  end

  task :release_to => :release_to_gemcutter
end

#gem_push(gems) ⇒ Object

Push gems to server.



18
19
20
21
22
23
24
25
26
27
28
# File 'lib/hoe/gemcutter.rb', line 18

def gem_push gems
  with_config do |config, _|
    otp_command = config["otp_command"]

    ENV["GEM_HOST_OTP_CODE"] = `#{otp_command}`.chomp if otp_command
  end

  gems.each do |g|
    sh Gem.ruby, "-S", "gem", "push", g
  end
end