Module: DevopsHelper::GemRakeHelper

Included in:
GemReleaseHelper
Defined in:
lib/devops_helper/gem_rake_helper.rb

Instance Method Summary collapse

Instance Method Details

#build_gemObject



11
12
13
14
15
# File 'lib/devops_helper/gem_rake_helper.rb', line 11

def build_gem
  t = find_build_task        
  raise DevopsHelper::Error, "Cannot find the build task. Please ensure the GEM is configured properly" if is_empty?(t)
  execute_build_task(t)
end

#publish_gem(version, opts = { }, &block) ⇒ Object



17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
# File 'lib/devops_helper/gem_rake_helper.rb', line 17

def publish_gem(version, opts = { },&block)
  # find the package
  root = opts[:root] || Dir.getwd
  foundGem = Dir.glob("**/*-#{version}.gem")
  if foundGem.length == 0
    raise DevopsHelper::Error, "No built gem found."
  elsif foundGem.length > 1
    if block
      targetGem = block.call(:multiple_built_gems, foundGem)
    else
      raise DevopsHelper::Error, "Multiple versions of gem found : #{foundGem}. Please provide a block for selection"
    end
  else
    targetGem = foundGem.first
  end

  cmd = "cd #{root} && gem push #{targetGem}"
  DevopsHelper::Global.instance.logger.tdebug :gem_rake_helper, "Command to publish gem : #{cmd}"  
  `#{cmd}`
  [$?, targetGem]
end