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)
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
|