Class: BoxGrinder::VirtualPCPlugin

Inherits:
BasePlugin show all
Defined in:
lib/boxgrinder-build/plugins/platform/virtualpc/virtualpc-plugin.rb

Instance Attribute Summary

Attributes inherited from BasePlugin

#deliverables, #plugin_info

Instance Method Summary collapse

Methods inherited from BasePlugin

#current_platform, #deliverables_exists?, #init, #initialize, #is_supported_os?, #is_supported_platform?, #merge_plugin_config, #read_plugin_config, #register_deliverable, #register_supported_os, #register_supported_platform, #run, #set_default_config_value, #subtype, #supported_oses, #validate_plugin_config

Methods included from Plugins

#plugin

Constructor Details

This class inherits a constructor from BoxGrinder::BasePlugin

Instance Method Details

#after_initObject



25
26
27
# File 'lib/boxgrinder-build/plugins/platform/virtualpc/virtualpc-plugin.rb', line 25

def after_init
  register_deliverable(:disk => "#{@appliance_config.name}.vhd")
end

#convertObject



51
52
53
54
55
# File 'lib/boxgrinder-build/plugins/platform/virtualpc/virtualpc-plugin.rb', line 51

def convert
  @log.debug "Using qemu-img to convert the image..."
  @image_helper.convert_disk(@previous_deliverables.disk, :vpc, @deliverables.disk)
  @log.debug "Conversion done."
end

#customize_imageObject



38
39
40
41
42
43
44
45
46
47
48
49
# File 'lib/boxgrinder-build/plugins/platform/virtualpc/virtualpc-plugin.rb', line 38

def customize_image
  unless @appliance_config.post['virtualpc'].nil? or @appliance_config.post['virtualpc'].empty?
    @image_helper.customize(@deliverables.disk) do |guestfs, guestfs_helper|
      @appliance_config.post['virtualpc'].each do |cmd|
        guestfs_helper.sh(cmd, :arch => @appliance_config.hardware.arch)
      end
      @log.debug "Post commands from appliance definition file executed."
    end
  else
    @log.debug "No commands specified, skipping."
  end
end

#executeObject



29
30
31
32
33
34
35
36
# File 'lib/boxgrinder-build/plugins/platform/virtualpc/virtualpc-plugin.rb', line 29

def execute
  @log.info "Converting image to VirtualPC format..."

  convert
  customize_image

  @log.info "Image converted to VirtualPC format."
end