Class: BoxGrinder::LocalPlugin
- Inherits:
-
BasePlugin
show all
- Defined in:
- lib/boxgrinder-build/plugins/delivery/local/local-plugin.rb
Instance Attribute Summary
Attributes inherited from BasePlugin
#deliverables, #plugin_info
Instance Method Summary
collapse
Methods inherited from BasePlugin
#current_platform, #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
Instance Method Details
#after_init ⇒ Object
27
28
29
|
# 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? ⇒ Boolean
58
59
60
61
62
63
64
65
66
67
68
|
# 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 ⇒ Object
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
|
# 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 ⇒ Object
31
32
33
34
35
36
|
# 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
|