Skip to content
This repository
Fetching contributors…

Cannot retrieve contributors at this time

file 92 lines (77 sloc) 2.324 kb
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92
require 'rubygems'
require 'bundler'
require 'bundler/setup'
Bundler::GemHelper.install_tasks

#Setup some base variables to use
veewee_dir= "."
definition_dir= File.expand_path(File.join(veewee_dir, "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"))


#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})

desc 'Default: list templates'
task :default => [:templates]

desc 'List templates'
task :templates do
    Veewee::Session.list_templates
end

desc 'Define box'
task :define, [:boxname,:template_name] do |t,args|
    if args.to_hash.size!=2
      puts "needs two arguments: rake define['boxname','template_name']"
      exit
    end
    Veewee::Session.define(args.boxname,args.template_name)
end

desc 'Undefine box'
task :undefine, [:boxname] do |t,args|
    if args.to_hash.size!=1
      puts "needs one arguments: rake undefine[\"yourname\"]"
      exit
    end
    Veewee::Session.undefine(args.boxname)
end

desc 'List Definitions'
task :definitions do
    Veewee::Session.list_definitions
end

desc 'Build box'
task :build, [:boxname] do |t,args|
    if args.to_hash.size!=1
      puts "needs one arguments: rake build['boxname']"
      exit
    end
    Veewee::Session.build(args.boxname)
end

desc 'List boxes'
task :boxes do
    Veewee::Session.list_boxes
end

desc 'Export box'
task :export, [:boxname] do |t,args|
  if args.to_hash.size!=1
    puts "needs one arguments: rake export['boxname']"
    exit
  end
    Veewee::Session.export_box(args.boxname)
end

desc 'Remove box'
task :remove_box, [:boxname] do |t,args|
    Veewee::Session.remove_box(args.boxname)
end

desc 'List ostypes available'
task :list_ostypes do |t,args|
    Veewee::Session.list_ostypes
end

desc 'Clean all unfinished builds'
task :clean do
    Veewee::Session.clean
end
Something went wrong with that request. Please try again.