From 23bb2e07332c3ffa1614f6bcba4abd6abda3345c Mon Sep 17 00:00:00 2001 From: Fabio Rehm Date: Sat, 30 Mar 2013 19:19:38 -0300 Subject: [PATCH] Implement provider's package action --- lib/vagrant-lxc/action.rb | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/lib/vagrant-lxc/action.rb b/lib/vagrant-lxc/action.rb index 85d42c7..c5f97d3 100644 --- a/lib/vagrant-lxc/action.rb +++ b/lib/vagrant-lxc/action.rb @@ -10,11 +10,13 @@ require 'vagrant-lxc/action/create' require 'vagrant-lxc/action/created' require 'vagrant-lxc/action/destroy' require 'vagrant-lxc/action/disconnect' +require 'vagrant-lxc/action/compress_rootfs' require 'vagrant-lxc/action/forced_halt' require 'vagrant-lxc/action/forward_ports' require 'vagrant-lxc/action/handle_box_metadata' require 'vagrant-lxc/action/is_running' require 'vagrant-lxc/action/network' +require 'vagrant-lxc/action/setup_package_files' require 'vagrant-lxc/action/share_folders' module Vagrant @@ -173,6 +175,25 @@ module Vagrant end end + # This action packages the virtual machine into a single box file. + def self.action_package + Vagrant::Action::Builder.new.tap do |b| + # b.use CheckDependencies + b.use Vagrant::Action::Builtin::Call, Created do |env1, b2| + if !env1[:result] + # TODO: Implement our own MessageNotCreated + b2.use VagrantPlugins::ProviderVirtualBox::Action::MessageNotCreated + next + end + + b2.use action_halt + b2.use CompressRootFS + b2.use SetupPackageFiles + b2.use Vagrant::Action::General::Package + end + end + end + # This is the action that will exec into an SSH shell. def self.action_ssh Vagrant::Action::Builder.new.tap do |b|