class BoxGrinder::LocalPlugin

Public Instance Methods

after_init() click to toggle source
# File lib/boxgrinder-build/plugins/delivery/local/local-plugin.rb, line 27
def after_init
  @package_name = "#{@appliance_config.name}-#{@appliance_config.version}.#{@appliance_config.release}-#{@appliance_config.os.name}-#{@appliance_config.os.version}-#{@appliance_config.hardware.arch}-#{current_platform}.tgz"
end
deliverables_exists?() click to toggle source
# File lib/boxgrinder-build/plugins/delivery/local/local-plugin.rb, line 58
def deliverables_exists?      
  return File.exists?("#{@plugin_config['path']}/#{@package_name}") if @plugin_config['package']

  @previous_deliverables.each_value do |file|
    return false unless File.exists?("#{@plugin_config['path']}/#{File.basename(file)}")
  end

  @move_deliverables = false

  true
end
execute() click to toggle source
# File lib/boxgrinder-build/plugins/delivery/local/local-plugin.rb, line 38
def execute
  if @plugin_config['overwrite'] or !deliverables_exists?
    FileUtils.mkdir_p @plugin_config['path']

    if @plugin_config['package']
      PackageHelper.new(@config, @appliance_config, :log => @log, :exec_helper => @exec_helper).package(File.dirname(@previous_deliverables[:disk]), "#{@plugin_config['path']}/#{@package_name}") if @plugin_config['package']
    else
      @log.debug "Copying files to '#{@plugin_config['path']}'..."

      @previous_deliverables.each_value do |file|
        @log.debug "Copying '#{file}'..."
        @exec_helper.execute("cp '#{file}' '#{@plugin_config['path']}'")
      end
      @log.info "Appliance delivered to '#{@plugin_config['path']}'."
    end
  else
    @log.info "Appliance already delivered to '#{@plugin_config['path']}'."
  end
end
validate() click to toggle source
# File lib/boxgrinder-build/plugins/delivery/local/local-plugin.rb, line 31
def validate
  set_default_config_value('overwrite', false)
  set_default_config_value('package', true)

  validate_plugin_config(['path'], 'http://boxgrinder.org/tutorials/boxgrinder-build-plugins/#Local_delivery_plugin')
end