Sha256: 829015885c76f268b276384c748410a4700d1f34983dcae594e675a5c57f7dbf

Contents?: true

Size: 1.98 KB

Versions: 37

Compression:

Stored size: 1.98 KB

Contents

#!/usr/bin/env ruby

require 'rubygems'
require 'thor'
require 'bundler'
require 'virtualbox'
require 'veewee'


#Setup some base variables to use
veewee_dir= File.expand_path(File.join(File.dirname(__FILE__),".."))
definition_dir= File.expand_path(File.join(".", "definitions"))
lib_dir= File.expand_path(File.join(veewee_dir, "lib"))
box_dir= File.expand_path(File.join(veewee_dir, "boxes"))
template_dir=File.expand_path(File.join(veewee_dir, "templates"))

#vbox_dir=File.expand_path(File.join(veewee_dir, "tmp"))
tmp_dir=File.expand_path(File.join(veewee_dir, "tmp"))

iso_dir=File.expand_path(File.join(veewee_dir, "iso"))

#needs to be moved to the config files to be allowed override
#ENV['VBOX_USER_HOME']=vbox_dir

#Load Veewee::Session libraries
Dir.glob(File.join(lib_dir, '**','*.rb')).each {|f|
  require f  }

#Initialize
Veewee::Session.setenv({:veewee_dir => veewee_dir, :definition_dir => definition_dir,
   :template_dir => template_dir, :iso_dir => iso_dir, :box_dir => box_dir, :tmp_dir => tmp_dir})


   
class VeeweeCLI < Thor 
  
  desc "init [NAME] [TEMPLATE]", "initializes a box from a template" 
  method_options :force => :boolean
  def init(boxname=nil, template=nil)
    if (boxname.nil?)  
      puts "please provide a boxname"
      exit
    end
    
    puts "Init a new box #{boxname}, starting from template #{template}"
  	Veewee::Session.define(boxname,template)
  	
  end

  desc "templates", "list the template available" 
  def templates 
    Veewee::Session.list_templates
  end
  
  desc "build [NAME]", "build the box defined" 
  method_options :force => :boolean
  def build(boxname)
    puts "Building box #{boxname}"
	  Veewee::Session.build(boxname)
  end

  desc "export [NAME]", "export the box" 
  method_options :force => :boolean  
  def export(boxname)
      if (!boxname.nil?)
        Veewee::Session.export_box(boxname)
      end
  end
  
end



version=VirtualBox.version
if (version.match(/^4./))
   	VeeweeCLI.start
else
   	puts "veewee only supports VirtualBox 4.x"
end

Version data entries

37 entries across 37 versions & 2 rubygems

Version Path
HeSYINUvSBZfxqA-veewee-0.203.3 bin/veewee
HeSYINUvSBZfxqA-veewee-0.203.2 bin/veewee
HeSYINUvSBZfxqA-veewee-0.203.1 bin/veewee
veewee-0.2.3 bin/veewee
veewee-0.2.2 bin/veewee
veewee-0.2.1 bin/veewee
HeSYINUvSBZfxqA-veewee-0.2.0.2 bin/veewee
veewee-0.2.0 bin/veewee
veewee-0.1.29 bin/veewee
veewee-0.1.28 bin/veewee
veewee-0.1.27 bin/veewee
veewee-0.1.26 bin/veewee
veewee-0.1.25 bin/veewee
veewee-0.1.24 bin/veewee
veewee-0.1.23 bin/veewee
veewee-0.1.22 bin/veewee
veewee-0.1.21 bin/veewee
veewee-0.1.20 bin/veewee
veewee-0.1.19 bin/veewee
veewee-0.1.18 bin/veewee