Class | BoxGrinder::PackageHelper |
In: |
lib/boxgrinder-build/helpers/package-helper.rb
lib/boxgrinder-build/helpers/package-helper.rb |
Parent: | Object |
# File lib/boxgrinder-build/helpers/package-helper.rb, line 23 23: def initialize(config, appliance_config, options = {}) 24: @config = config 25: @appliance_config = appliance_config 26: 27: @log = options[:log] || LogHelper.new 28: @exec_helper = options[:exec_helper] || ExecHelper.new(:log => @log) 29: end
# File lib/boxgrinder-build/helpers/package-helper.rb, line 23 23: def initialize(config, appliance_config, options = {}) 24: @config = config 25: @appliance_config = appliance_config 26: 27: @log = options[:log] || LogHelper.new 28: @exec_helper = options[:exec_helper] || ExecHelper.new(:log => @log) 29: end
# File lib/boxgrinder-build/helpers/package-helper.rb, line 31 31: def package(dir, package, type = :tar) 32: if File.exists?(package) 33: @log.info "Package of #{type} type for #{@appliance_config.name} appliance already exists, skipping." 34: return package 35: end 36: 37: @log.info "Packaging #{@appliance_config.name} appliance to #{type}..." 38: 39: case type 40: when :tar 41: package_name = File.basename(package, '.tgz') 42: symlink = "#{File.dirname(package)}/#{package_name}" 43: 44: FileUtils.ln_s(File.expand_path(dir), symlink) 45: @exec_helper.execute "tar -C '#{File.dirname(package)}' -hcvzf '#{package}' '#{package_name}'" 46: FileUtils.rm(symlink) 47: else 48: raise "Specified format: '#{type}' is currently unsupported." 49: end 50: 51: @log.info "Appliance #{@appliance_config.name} packaged." 52: 53: package 54: end
# File lib/boxgrinder-build/helpers/package-helper.rb, line 31 31: def package(dir, package, type = :tar) 32: if File.exists?(package) 33: @log.info "Package of #{type} type for #{@appliance_config.name} appliance already exists, skipping." 34: return package 35: end 36: 37: @log.info "Packaging #{@appliance_config.name} appliance to #{type}..." 38: 39: case type 40: when :tar 41: package_name = File.basename(package, '.tgz') 42: symlink = "#{File.dirname(package)}/#{package_name}" 43: 44: FileUtils.ln_s(File.expand_path(dir), symlink) 45: @exec_helper.execute "tar -C '#{File.dirname(package)}' -hcvzf '#{package}' '#{package_name}'" 46: FileUtils.rm(symlink) 47: else 48: raise "Specified format: '#{type}' is currently unsupported." 49: end 50: 51: @log.info "Appliance #{@appliance_config.name} packaged." 52: 53: package 54: end