def perform!
Logger.message "#{ self.class } started packaging and archiving:\n" +
paths.map {|path| " #{path}" }.join("\n")
archive_path = File.join(Config.tmp_path, @model.trigger, 'archives')
FileUtils.mkdir_p(archive_path)
archive_ext = 'tar'
archive_cmd = "#{ utility(:tar) } #{ tar_args } -cf - " +
"#{ paths_to_exclude } #{ paths_to_package }"
if @model.compressor
@model.compressor.compress_with do |command, ext|
archive_cmd << " | #{command}"
archive_ext << ext
end
end
archive_cmd << " > '#{ File.join(archive_path, "#{name}.#{archive_ext}") }'"
run(archive_cmd)
end