module DevopsHelper::GemRakeHelper
Public Instance Methods
build_gem()
click to toggle source
# 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)
click to toggle source
# 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
Private Instance Methods
execute_build_task(task)
click to toggle source
# File lib/devops_helper/gem_rake_helper.rb, line 51 def execute_build_task(task) task.execute if not_empty?(task) and task.is_a?(Rake::Task) end
find_build_task()
click to toggle source
# File lib/devops_helper/gem_rake_helper.rb, line 40 def find_build_task task = nil Rake::Task.tasks.each do |t| if t.name == "build" task = t break end end task end