vagrant-vmware-free 0.0.1
Sign up to get free protection for your applications and to get access to all the features.
- data/.gitignore +5 -0
- data/.ruby-version +1 -0
- data/Gemfile +7 -0
- data/Gemfile.lock +57 -0
- data/LICENSE +21 -0
- data/README.md +10 -0
- data/Rakefile +3 -0
- data/lib/vagrant_vmware_free.rb +5 -0
- data/lib/vagrant_vmware_free/action.rb +214 -0
- data/lib/vagrant_vmware_free/action/boot.rb +23 -0
- data/lib/vagrant_vmware_free/action/check_accessible.rb +23 -0
- data/lib/vagrant_vmware_free/action/check_created.rb +21 -0
- data/lib/vagrant_vmware_free/action/check_guest_additions.rb +45 -0
- data/lib/vagrant_vmware_free/action/check_running.rb +21 -0
- data/lib/vagrant_vmware_free/action/check_virtualbox.rb +22 -0
- data/lib/vagrant_vmware_free/action/clean_machine_folder.rb +43 -0
- data/lib/vagrant_vmware_free/action/clear_forwarded_ports.rb +18 -0
- data/lib/vagrant_vmware_free/action/clear_network_interfaces.rb +31 -0
- data/lib/vagrant_vmware_free/action/clear_shared_folders.rb +17 -0
- data/lib/vagrant_vmware_free/action/created.rb +20 -0
- data/lib/vagrant_vmware_free/action/customize.rb +43 -0
- data/lib/vagrant_vmware_free/action/destroy.rb +19 -0
- data/lib/vagrant_vmware_free/action/destroy_unused_network_interfaces.rb +23 -0
- data/lib/vagrant_vmware_free/action/discard_state.rb +20 -0
- data/lib/vagrant_vmware_free/action/export.rb +57 -0
- data/lib/vagrant_vmware_free/action/forced_halt.rb +25 -0
- data/lib/vagrant_vmware_free/action/forward_ports.rb +89 -0
- data/lib/vagrant_vmware_free/action/get_network_address.rb +27 -0
- data/lib/vagrant_vmware_free/action/import.rb +56 -0
- data/lib/vagrant_vmware_free/action/is_paused.rb +20 -0
- data/lib/vagrant_vmware_free/action/is_running.rb +20 -0
- data/lib/vagrant_vmware_free/action/is_saved.rb +20 -0
- data/lib/vagrant_vmware_free/action/match_mac_address.rb +21 -0
- data/lib/vagrant_vmware_free/action/message_already_running.rb +16 -0
- data/lib/vagrant_vmware_free/action/message_not_created.rb +16 -0
- data/lib/vagrant_vmware_free/action/message_not_running.rb +16 -0
- data/lib/vagrant_vmware_free/action/message_will_not_destroy.rb +17 -0
- data/lib/vagrant_vmware_free/action/network.rb +424 -0
- data/lib/vagrant_vmware_free/action/package.rb +20 -0
- data/lib/vagrant_vmware_free/action/package_vagrantfile.rb +33 -0
- data/lib/vagrant_vmware_free/action/prepare_forwarded_port_collision_params.rb +35 -0
- data/lib/vagrant_vmware_free/action/prepare_nfs_settings.rb +69 -0
- data/lib/vagrant_vmware_free/action/prune_nfs_exports.rb +20 -0
- data/lib/vagrant_vmware_free/action/resume.rb +26 -0
- data/lib/vagrant_vmware_free/action/sane_defaults.rb +91 -0
- data/lib/vagrant_vmware_free/action/set_name.rb +52 -0
- data/lib/vagrant_vmware_free/action/set_network.rb +17 -0
- data/lib/vagrant_vmware_free/action/setup_package_files.rb +51 -0
- data/lib/vagrant_vmware_free/action/share_folders.rb +128 -0
- data/lib/vagrant_vmware_free/action/suspend.rb +20 -0
- data/lib/vagrant_vmware_free/action/wait_for_vm_tools.rb +19 -0
- data/lib/vagrant_vmware_free/config.rb +38 -0
- data/lib/vagrant_vmware_free/driver/base.rb +14 -0
- data/lib/vagrant_vmware_free/driver/fusion.rb +17 -0
- data/lib/vagrant_vmware_free/driver/fusion_6.rb +188 -0
- data/lib/vagrant_vmware_free/driver/meta.rb +122 -0
- data/lib/vagrant_vmware_free/driver/vix.rb +19 -0
- data/lib/vagrant_vmware_free/driver/vix/functions.rb +38 -0
- data/lib/vagrant_vmware_free/driver/vix/helpers.rb +63 -0
- data/lib/vagrant_vmware_free/driver/vix/types.rb +143 -0
- data/lib/vagrant_vmware_free/errors.rb +9 -0
- data/lib/vagrant_vmware_free/plugin.rb +43 -0
- data/lib/vagrant_vmware_free/provider.rb +62 -0
- data/lib/vagrant_vmware_free/util/vmx.rb +48 -0
- data/vagrant-vmware-free.gemspec +21 -0
- metadata +190 -0
@@ -0,0 +1,63 @@
|
|
1
|
+
module VagrantPlugins
|
2
|
+
module ProviderVMwareFree
|
3
|
+
module Driver
|
4
|
+
module VIX
|
5
|
+
def wait(job, properties=[])
|
6
|
+
prop_args, prop_pointers = create_property_list(properties)
|
7
|
+
|
8
|
+
error = VixJob_Wait(job, *prop_args)
|
9
|
+
|
10
|
+
prop_values = extract_properties(prop_pointers)
|
11
|
+
|
12
|
+
[error, prop_values]
|
13
|
+
end
|
14
|
+
|
15
|
+
def wait_with_pointers(job, properties=[])
|
16
|
+
prop_args, prop_pointers = create_property_list(properties)
|
17
|
+
error = VixJob_Wait(job, *prop_args)
|
18
|
+
|
19
|
+
[error, prop_pointers]
|
20
|
+
end
|
21
|
+
|
22
|
+
def get_properties(handle, properties=[])
|
23
|
+
prop_args, prop_pointers = create_property_list(properties)
|
24
|
+
error = Vix_GetProperties(handle, *prop_args)
|
25
|
+
prop_values = extract_properties(prop_pointers)
|
26
|
+
[error, prop_values]
|
27
|
+
end
|
28
|
+
|
29
|
+
def wait_for_vmtools(vm_handle, timeout=500)
|
30
|
+
job_handle = VixVM_WaitForToolsInGuest(vm_handle, timeout, nil, nil)
|
31
|
+
code, properties = wait(job_handle)
|
32
|
+
|
33
|
+
nil
|
34
|
+
end
|
35
|
+
|
36
|
+
private
|
37
|
+
|
38
|
+
def create_property_list(properties=[])
|
39
|
+
prop_pointers = {}
|
40
|
+
prop_values = {}
|
41
|
+
prop_args = []
|
42
|
+
|
43
|
+
properties.each do |id|
|
44
|
+
prop_pointers[id] = FFI::MemoryPointer.new :pointer
|
45
|
+
prop_args.push(:VixPropertyID, id, :pointer, prop_pointers[id])
|
46
|
+
end
|
47
|
+
|
48
|
+
[prop_args.push(:VixPropertyID, :VIX_PROPERTY_NONE), prop_pointers]
|
49
|
+
end
|
50
|
+
|
51
|
+
def extract_properties(prop_pointers)
|
52
|
+
prop_values = {}
|
53
|
+
|
54
|
+
prop_pointers.each do |id, pointer|
|
55
|
+
prop_values[id] = pointer.get_int(0)
|
56
|
+
end
|
57
|
+
|
58
|
+
prop_values
|
59
|
+
end
|
60
|
+
end
|
61
|
+
end
|
62
|
+
end
|
63
|
+
end
|
@@ -0,0 +1,143 @@
|
|
1
|
+
require 'ffi'
|
2
|
+
|
3
|
+
module VagrantPlugins
|
4
|
+
module ProviderVMwareFree
|
5
|
+
module Driver
|
6
|
+
module VIX
|
7
|
+
enum :VIX_API_VERSION, -1
|
8
|
+
|
9
|
+
typedef :int, :VixHandle
|
10
|
+
enum :VIX_INVALID_HANDLE
|
11
|
+
|
12
|
+
enum :VixHandleType, [
|
13
|
+
:VIX_HANDLETYPE_NONE, 0,
|
14
|
+
:VIX_HANDLETYPE_HOST, 2,
|
15
|
+
:VIX_HANDLETYPE_VM , 3,
|
16
|
+
:VIX_HANDLETYPE_NETWORK, 5,
|
17
|
+
:VIX_HANDLETYPE_JOB, 6,
|
18
|
+
:VIX_HANDLETYPE_SNAPSHOT, 7,
|
19
|
+
:VIX_HANDLETYPE_PROPERTY_LIST, 9,
|
20
|
+
:VIX_HANDLETYPE_METADATA_CONTAINER, 11,
|
21
|
+
]
|
22
|
+
|
23
|
+
typedef :uint64, :VixError
|
24
|
+
|
25
|
+
enum :VixHostOptions, [
|
26
|
+
:VIX_HOSTOPTION_VERIFY_SSL_CERT, 0x4000,
|
27
|
+
]
|
28
|
+
|
29
|
+
typedef :pointer, :VixEventProc
|
30
|
+
|
31
|
+
enum :VixServiceProvider, [
|
32
|
+
:VIX_SERVICEPROVIDER_DEFAULT, 1,
|
33
|
+
:VIX_SERVICEPROVIDER_VMWARE_SERVER, 2,
|
34
|
+
:VIX_SERVICEPROVIDER_VMWARE_WORKSTATION, 3,
|
35
|
+
:VIX_SERVICEPROVIDER_VMWARE_PLAYER, 4,
|
36
|
+
:VIX_SERVICEPROVIDER_VMWARE_VI_SERVER, 10,
|
37
|
+
:VIX_SERVICEPROVIDER_VMWARE_WORKSTATION_SHARED, 11,
|
38
|
+
]
|
39
|
+
|
40
|
+
enum :VixVMOpenOptions, [:VIX_VMOPEN_NORMAL]
|
41
|
+
|
42
|
+
enum :VixVMPowerOpOptions, [
|
43
|
+
:VIX_VMPOWEROP_NORMAL, 0,
|
44
|
+
:VIX_VMPOWEROP_FROM_GUEST, 0x0004,
|
45
|
+
:VIX_VMPOWEROP_SUPPRESS_SNAPSHOT_POWERON, 0x0080,
|
46
|
+
:VIX_VMPOWEROP_LAUNCH_GUI, 0x0200,
|
47
|
+
:VIX_VMPOWEROP_START_VM_PAUSED, 0x1000,
|
48
|
+
]
|
49
|
+
|
50
|
+
enum :VixPropertyID, [
|
51
|
+
:VIX_PROPERTY_NONE, 0,
|
52
|
+
|
53
|
+
:VIX_PROPERTY_META_DATA_CONTAINER, 2,
|
54
|
+
|
55
|
+
:VIX_PROPERTY_HOST_HOSTTYPE, 50,
|
56
|
+
:VIX_PROPERTY_HOST_API_VERSION, 51,
|
57
|
+
:VIX_PROPERTY_HOST_SOFTWARE_VERSION, 52,
|
58
|
+
|
59
|
+
:VIX_PROPERTY_VM_NUM_VCPUS, 101,
|
60
|
+
:VIX_PROPERTY_VM_VMX_PATHNAME, 103,
|
61
|
+
:VIX_PROPERTY_VM_VMTEAM_PATHNAME, 105,
|
62
|
+
:VIX_PROPERTY_VM_MEMORY_SIZE, 106,
|
63
|
+
:VIX_PROPERTY_VM_READ_ONLY, 107,
|
64
|
+
:VIX_PROPERTY_VM_NAME, 108,
|
65
|
+
:VIX_PROPERTY_VM_GUESTOS, 109,
|
66
|
+
:VIX_PROPERTY_VM_IN_VMTEAM, 128,
|
67
|
+
:VIX_PROPERTY_VM_POWER_STATE, 129,
|
68
|
+
:VIX_PROPERTY_VM_TOOLS_STATE, 152,
|
69
|
+
:VIX_PROPERTY_VM_IS_RUNNING, 196,
|
70
|
+
:VIX_PROPERTY_VM_SUPPORTED_FEATURES, 197,
|
71
|
+
|
72
|
+
:VIX_PROPERTY_VM_SSL_ERROR, 293,
|
73
|
+
|
74
|
+
:VIX_PROPERTY_JOB_RESULT_ERROR_CODE, 3000,
|
75
|
+
:VIX_PROPERTY_JOB_RESULT_VM_IN_GROUP, 3001,
|
76
|
+
:VIX_PROPERTY_JOB_RESULT_USER_MESSAGE, 3002,
|
77
|
+
:VIX_PROPERTY_JOB_RESULT_EXIT_CODE, 3004,
|
78
|
+
:VIX_PROPERTY_JOB_RESULT_COMMAND_OUTPUT, 3005,
|
79
|
+
:VIX_PROPERTY_JOB_RESULT_HANDLE, 3010,
|
80
|
+
:VIX_PROPERTY_JOB_RESULT_GUEST_OBJECT_EXISTS, 3011,
|
81
|
+
:VIX_PROPERTY_JOB_RESULT_GUEST_PROGRAM_ELAPSED_TIME, 3017,
|
82
|
+
:VIX_PROPERTY_JOB_RESULT_GUEST_PROGRAM_EXIT_CODE, 3018,
|
83
|
+
:VIX_PROPERTY_JOB_RESULT_ITEM_NAME, 3035,
|
84
|
+
:VIX_PROPERTY_JOB_RESULT_FOUND_ITEM_DESCRIPTION, 3036,
|
85
|
+
:VIX_PROPERTY_JOB_RESULT_SHARED_FOLDER_COUNT, 3046,
|
86
|
+
:VIX_PROPERTY_JOB_RESULT_SHARED_FOLDER_HOST, 3048,
|
87
|
+
:VIX_PROPERTY_JOB_RESULT_SHARED_FOLDER_FLAGS, 3049,
|
88
|
+
:VIX_PROPERTY_JOB_RESULT_PROCESS_ID, 3051,
|
89
|
+
:VIX_PROPERTY_JOB_RESULT_PROCESS_OWNER, 3052,
|
90
|
+
:VIX_PROPERTY_JOB_RESULT_PROCESS_COMMAND, 3053,
|
91
|
+
:VIX_PROPERTY_JOB_RESULT_FILE_FLAGS, 3054,
|
92
|
+
:VIX_PROPERTY_JOB_RESULT_PROCESS_START_TIME, 3055,
|
93
|
+
:VIX_PROPERTY_JOB_RESULT_VM_VARIABLE_STRING, 3056,
|
94
|
+
:VIX_PROPERTY_JOB_RESULT_PROCESS_BEING_DEBUGGED, 3057,
|
95
|
+
:VIX_PROPERTY_JOB_RESULT_SCREEN_IMAGE_SIZE, 3058,
|
96
|
+
:VIX_PROPERTY_JOB_RESULT_SCREEN_IMAGE_DATA, 3059,
|
97
|
+
:VIX_PROPERTY_JOB_RESULT_FILE_SIZE, 3061,
|
98
|
+
:VIX_PROPERTY_JOB_RESULT_FILE_MOD_TIME, 3062,
|
99
|
+
:VIX_PROPERTY_JOB_RESULT_EXTRA_ERROR_INFO, 3084,
|
100
|
+
|
101
|
+
:VIX_PROPERTY_FOUND_ITEM_LOCATION, 4010,
|
102
|
+
|
103
|
+
:VIX_PROPERTY_SNAPSHOT_DISPLAYNAME, 4200,
|
104
|
+
:VIX_PROPERTY_SNAPSHOT_DESCRIPTION, 4201,
|
105
|
+
:VIX_PROPERTY_SNAPSHOT_POWERSTATE, 4205,
|
106
|
+
|
107
|
+
:VIX_PROPERTY_GUEST_SHAREDFOLDERS_SHARES_PATH, 4525,
|
108
|
+
|
109
|
+
:VIX_PROPERTY_VM_ENCRYPTION_PASSWORD, 7001,
|
110
|
+
]
|
111
|
+
|
112
|
+
enum :VixCloneType, [
|
113
|
+
:VIX_CLONETYPE_FULL, 0,
|
114
|
+
:VIX_CLONETYPE_LINKED, 1,
|
115
|
+
]
|
116
|
+
|
117
|
+
enum :VixPowerState, [
|
118
|
+
:VIX_POWERSTATE_POWERING_OFF, 0x0001,
|
119
|
+
:VIX_POWERSTATE_POWERED_OFF, 0x0002,
|
120
|
+
:VIX_POWERSTATE_POWERING_ON, 0x0004,
|
121
|
+
:VIX_POWERSTATE_POWERED_ON, 0x0008,
|
122
|
+
:VIX_POWERSTATE_SUSPENDING, 0x0010,
|
123
|
+
:VIX_POWERSTATE_SUSPENDED, 0x0020,
|
124
|
+
:VIX_POWERSTATE_TOOLS_RUNNING, 0x0040,
|
125
|
+
:VIX_POWERSTATE_RESETTING, 0x0080,
|
126
|
+
:VIX_POWERSTATE_BLOCKED_ON_MSG, 0x0100,
|
127
|
+
:VIX_POWERSTATE_PAUSED, 0x0200,
|
128
|
+
:VIX_POWERSTATE_RESUMING, 0x0800,
|
129
|
+
]
|
130
|
+
|
131
|
+
enum :VixVariableType, [
|
132
|
+
:VIX_VM_GUEST_VARIABLE, 1,
|
133
|
+
:VIX_VM_CONFIG_RUNTIME_ONLY, 2,
|
134
|
+
:VIX_GUEST_ENVIRONMENT_VARIABLE, 3,
|
135
|
+
]
|
136
|
+
|
137
|
+
enum :VixVMDeleteOptions, [
|
138
|
+
:VIX_VMDELETE_DISK_FILES, 0x0002,
|
139
|
+
]
|
140
|
+
end
|
141
|
+
end
|
142
|
+
end
|
143
|
+
end
|
@@ -0,0 +1,43 @@
|
|
1
|
+
require 'vagrant'
|
2
|
+
|
3
|
+
module VagrantPlugins
|
4
|
+
module ProviderVMwareFree
|
5
|
+
class Plugin < Vagrant.plugin('2')
|
6
|
+
name 'VMWare Worksation/Fusion provider'
|
7
|
+
|
8
|
+
description <<-EOF
|
9
|
+
Manage and control VMWare Worksation and VMWare Fusion virtual machines
|
10
|
+
EOF
|
11
|
+
|
12
|
+
provider :vmware_free do
|
13
|
+
require_relative('provider')
|
14
|
+
Provider
|
15
|
+
end
|
16
|
+
|
17
|
+
config :vmware_free, :provider do
|
18
|
+
require_relative('config')
|
19
|
+
Config
|
20
|
+
end
|
21
|
+
|
22
|
+
end
|
23
|
+
|
24
|
+
autoload :Action, File.expand_path('../action', __FILE__)
|
25
|
+
autoload :Errors, File.expand_path('../errors', __FILE__)
|
26
|
+
|
27
|
+
module Driver
|
28
|
+
autoload :VIX, File.expand_path('../driver/vix', __FILE__)
|
29
|
+
autoload :Meta, File.expand_path('../driver/meta', __FILE__)
|
30
|
+
autoload :Base, File.expand_path('../driver/base', __FILE__)
|
31
|
+
autoload :Fusion, File.expand_path('../driver/fusion', __FILE__)
|
32
|
+
autoload :Fusion_6, File.expand_path('../driver/fusion_6', __FILE__)
|
33
|
+
end
|
34
|
+
|
35
|
+
module Model
|
36
|
+
autoload :FowrardedPort, File.expand_path('../model/forwarded_port', __FILE__)
|
37
|
+
end
|
38
|
+
|
39
|
+
module Util
|
40
|
+
autoload :VMX, File.expand_path('../util/vmx', __FILE__)
|
41
|
+
end
|
42
|
+
end
|
43
|
+
end
|
@@ -0,0 +1,62 @@
|
|
1
|
+
require 'vagrant'
|
2
|
+
require 'log4r'
|
3
|
+
|
4
|
+
module VagrantPlugins
|
5
|
+
module ProviderVMwareFree
|
6
|
+
class Provider < Vagrant.plugin('2', :provider)
|
7
|
+
attr_reader :driver
|
8
|
+
|
9
|
+
def initialize(machine)
|
10
|
+
@logger = Log4r::Logger::new('vagrant::provider::vmware-free')
|
11
|
+
@machine = machine
|
12
|
+
machine_id_changed
|
13
|
+
end
|
14
|
+
|
15
|
+
def action(name)
|
16
|
+
action_method = "action_#{name}"
|
17
|
+
return Action.send(action_method) if Action.respond_to?(action_method)
|
18
|
+
nil
|
19
|
+
end
|
20
|
+
|
21
|
+
def machine_id_changed
|
22
|
+
id = @machine.id
|
23
|
+
|
24
|
+
begin
|
25
|
+
@logger.debug("Booting driver for machine #{@machine.id.inspect})")
|
26
|
+
@driver = Driver::Meta.new(id)
|
27
|
+
rescue Driver::Meta::VMNotFound
|
28
|
+
@logger.debug('VM not found')
|
29
|
+
id = nil
|
30
|
+
retry
|
31
|
+
end
|
32
|
+
end
|
33
|
+
|
34
|
+
def ssh_info
|
35
|
+
return nil if state.id == :not_created
|
36
|
+
|
37
|
+
return {
|
38
|
+
host: @driver.ip_address,
|
39
|
+
port: 22
|
40
|
+
}
|
41
|
+
end
|
42
|
+
|
43
|
+
def state
|
44
|
+
state_id = nil
|
45
|
+
state_id = :not_created if !@driver.uuid
|
46
|
+
state_id = @driver.read_state if !state_id
|
47
|
+
state_id = :unknown if !state_id
|
48
|
+
|
49
|
+
short = state_id.to_s.gsub("_", " ")
|
50
|
+
long = I18n.t("vagrant.commands.status.#{state_id}")
|
51
|
+
|
52
|
+
# Return the state
|
53
|
+
Vagrant::MachineState.new(state_id, short, long)
|
54
|
+
end
|
55
|
+
|
56
|
+
def to_s
|
57
|
+
id = @machine.id ? @machine.id : "new VM"
|
58
|
+
"VMWare (#{id})"
|
59
|
+
end
|
60
|
+
end
|
61
|
+
end
|
62
|
+
end
|
@@ -0,0 +1,48 @@
|
|
1
|
+
module VagrantPlugins
|
2
|
+
module ProviderVMwareFree
|
3
|
+
module Util
|
4
|
+
module VMX
|
5
|
+
def vmx_parse(vmx)
|
6
|
+
vmx_file = File.open(vmx, 'rb')
|
7
|
+
contents = vmx_file.readlines
|
8
|
+
vmx_file.close
|
9
|
+
|
10
|
+
all_values(contents)
|
11
|
+
end
|
12
|
+
|
13
|
+
def vmx_save(vmx, values)
|
14
|
+
contents = create_vmx(values)
|
15
|
+
vmx_file = File.open(vmx, 'wb')
|
16
|
+
vmx_file.write(contents)
|
17
|
+
vmx_file.close
|
18
|
+
contents
|
19
|
+
end
|
20
|
+
|
21
|
+
private
|
22
|
+
|
23
|
+
def all_values(contents)
|
24
|
+
values = {}
|
25
|
+
contents.each do |line|
|
26
|
+
k, v = line.split('=')
|
27
|
+
k = k.strip
|
28
|
+
v = v.strip.gsub(/\"/, '')
|
29
|
+
|
30
|
+
values[k] = v
|
31
|
+
end
|
32
|
+
|
33
|
+
values
|
34
|
+
end
|
35
|
+
|
36
|
+
def create_vmx(values)
|
37
|
+
vmx = []
|
38
|
+
|
39
|
+
values.each do |k, v|
|
40
|
+
vmx.push(k + ' = "' + v + '"')
|
41
|
+
end
|
42
|
+
|
43
|
+
vmx.join("\n")
|
44
|
+
end
|
45
|
+
end
|
46
|
+
end
|
47
|
+
end
|
48
|
+
end
|
@@ -0,0 +1,21 @@
|
|
1
|
+
Gem::Specification.new do |g|
|
2
|
+
g.name = 'vagrant-vmware-free'
|
3
|
+
g.version = '0.0.1'
|
4
|
+
g.platform = Gem::Platform::RUBY
|
5
|
+
g.license = 'MIT'
|
6
|
+
g.authors = 'Ori Shavit'
|
7
|
+
g.email = 'ori@orishavit.com'
|
8
|
+
g.homepage = 'http://orishavit.com'
|
9
|
+
g.summary = 'A free VMWare Workstaion/Fusion Vagrant provider'
|
10
|
+
g.description = 'A free VMWare Workstaion/Fusion Vagrant provider'
|
11
|
+
|
12
|
+
g.add_runtime_dependency 'CFPropertyList', '~> 2.0'
|
13
|
+
g.add_runtime_dependency 'ffi', '~> 1.9.3'
|
14
|
+
g.add_development_dependency 'rake'
|
15
|
+
g.add_development_dependency 'pry'
|
16
|
+
g.add_development_dependency 'debugger'
|
17
|
+
|
18
|
+
g.files = `git ls-files`.split("\n")
|
19
|
+
g.require_path = 'lib'
|
20
|
+
|
21
|
+
end
|
metadata
ADDED
@@ -0,0 +1,190 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: vagrant-vmware-free
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.0.1
|
5
|
+
prerelease:
|
6
|
+
platform: ruby
|
7
|
+
authors:
|
8
|
+
- Ori Shavit
|
9
|
+
autorequire:
|
10
|
+
bindir: bin
|
11
|
+
cert_chain: []
|
12
|
+
date: 2014-09-12 00:00:00.000000000 Z
|
13
|
+
dependencies:
|
14
|
+
- !ruby/object:Gem::Dependency
|
15
|
+
name: CFPropertyList
|
16
|
+
requirement: !ruby/object:Gem::Requirement
|
17
|
+
none: false
|
18
|
+
requirements:
|
19
|
+
- - ~>
|
20
|
+
- !ruby/object:Gem::Version
|
21
|
+
version: '2.0'
|
22
|
+
type: :runtime
|
23
|
+
prerelease: false
|
24
|
+
version_requirements: !ruby/object:Gem::Requirement
|
25
|
+
none: false
|
26
|
+
requirements:
|
27
|
+
- - ~>
|
28
|
+
- !ruby/object:Gem::Version
|
29
|
+
version: '2.0'
|
30
|
+
- !ruby/object:Gem::Dependency
|
31
|
+
name: ffi
|
32
|
+
requirement: !ruby/object:Gem::Requirement
|
33
|
+
none: false
|
34
|
+
requirements:
|
35
|
+
- - ~>
|
36
|
+
- !ruby/object:Gem::Version
|
37
|
+
version: 1.9.3
|
38
|
+
type: :runtime
|
39
|
+
prerelease: false
|
40
|
+
version_requirements: !ruby/object:Gem::Requirement
|
41
|
+
none: false
|
42
|
+
requirements:
|
43
|
+
- - ~>
|
44
|
+
- !ruby/object:Gem::Version
|
45
|
+
version: 1.9.3
|
46
|
+
- !ruby/object:Gem::Dependency
|
47
|
+
name: rake
|
48
|
+
requirement: !ruby/object:Gem::Requirement
|
49
|
+
none: false
|
50
|
+
requirements:
|
51
|
+
- - ! '>='
|
52
|
+
- !ruby/object:Gem::Version
|
53
|
+
version: '0'
|
54
|
+
type: :development
|
55
|
+
prerelease: false
|
56
|
+
version_requirements: !ruby/object:Gem::Requirement
|
57
|
+
none: false
|
58
|
+
requirements:
|
59
|
+
- - ! '>='
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '0'
|
62
|
+
- !ruby/object:Gem::Dependency
|
63
|
+
name: pry
|
64
|
+
requirement: !ruby/object:Gem::Requirement
|
65
|
+
none: false
|
66
|
+
requirements:
|
67
|
+
- - ! '>='
|
68
|
+
- !ruby/object:Gem::Version
|
69
|
+
version: '0'
|
70
|
+
type: :development
|
71
|
+
prerelease: false
|
72
|
+
version_requirements: !ruby/object:Gem::Requirement
|
73
|
+
none: false
|
74
|
+
requirements:
|
75
|
+
- - ! '>='
|
76
|
+
- !ruby/object:Gem::Version
|
77
|
+
version: '0'
|
78
|
+
- !ruby/object:Gem::Dependency
|
79
|
+
name: debugger
|
80
|
+
requirement: !ruby/object:Gem::Requirement
|
81
|
+
none: false
|
82
|
+
requirements:
|
83
|
+
- - ! '>='
|
84
|
+
- !ruby/object:Gem::Version
|
85
|
+
version: '0'
|
86
|
+
type: :development
|
87
|
+
prerelease: false
|
88
|
+
version_requirements: !ruby/object:Gem::Requirement
|
89
|
+
none: false
|
90
|
+
requirements:
|
91
|
+
- - ! '>='
|
92
|
+
- !ruby/object:Gem::Version
|
93
|
+
version: '0'
|
94
|
+
description: A free VMWare Workstaion/Fusion Vagrant provider
|
95
|
+
email: ori@orishavit.com
|
96
|
+
executables: []
|
97
|
+
extensions: []
|
98
|
+
extra_rdoc_files: []
|
99
|
+
files:
|
100
|
+
- .gitignore
|
101
|
+
- .ruby-version
|
102
|
+
- Gemfile
|
103
|
+
- Gemfile.lock
|
104
|
+
- LICENSE
|
105
|
+
- README.md
|
106
|
+
- Rakefile
|
107
|
+
- lib/vagrant_vmware_free.rb
|
108
|
+
- lib/vagrant_vmware_free/action.rb
|
109
|
+
- lib/vagrant_vmware_free/action/boot.rb
|
110
|
+
- lib/vagrant_vmware_free/action/check_accessible.rb
|
111
|
+
- lib/vagrant_vmware_free/action/check_created.rb
|
112
|
+
- lib/vagrant_vmware_free/action/check_guest_additions.rb
|
113
|
+
- lib/vagrant_vmware_free/action/check_running.rb
|
114
|
+
- lib/vagrant_vmware_free/action/check_virtualbox.rb
|
115
|
+
- lib/vagrant_vmware_free/action/clean_machine_folder.rb
|
116
|
+
- lib/vagrant_vmware_free/action/clear_forwarded_ports.rb
|
117
|
+
- lib/vagrant_vmware_free/action/clear_network_interfaces.rb
|
118
|
+
- lib/vagrant_vmware_free/action/clear_shared_folders.rb
|
119
|
+
- lib/vagrant_vmware_free/action/created.rb
|
120
|
+
- lib/vagrant_vmware_free/action/customize.rb
|
121
|
+
- lib/vagrant_vmware_free/action/destroy.rb
|
122
|
+
- lib/vagrant_vmware_free/action/destroy_unused_network_interfaces.rb
|
123
|
+
- lib/vagrant_vmware_free/action/discard_state.rb
|
124
|
+
- lib/vagrant_vmware_free/action/export.rb
|
125
|
+
- lib/vagrant_vmware_free/action/forced_halt.rb
|
126
|
+
- lib/vagrant_vmware_free/action/forward_ports.rb
|
127
|
+
- lib/vagrant_vmware_free/action/get_network_address.rb
|
128
|
+
- lib/vagrant_vmware_free/action/import.rb
|
129
|
+
- lib/vagrant_vmware_free/action/is_paused.rb
|
130
|
+
- lib/vagrant_vmware_free/action/is_running.rb
|
131
|
+
- lib/vagrant_vmware_free/action/is_saved.rb
|
132
|
+
- lib/vagrant_vmware_free/action/match_mac_address.rb
|
133
|
+
- lib/vagrant_vmware_free/action/message_already_running.rb
|
134
|
+
- lib/vagrant_vmware_free/action/message_not_created.rb
|
135
|
+
- lib/vagrant_vmware_free/action/message_not_running.rb
|
136
|
+
- lib/vagrant_vmware_free/action/message_will_not_destroy.rb
|
137
|
+
- lib/vagrant_vmware_free/action/network.rb
|
138
|
+
- lib/vagrant_vmware_free/action/package.rb
|
139
|
+
- lib/vagrant_vmware_free/action/package_vagrantfile.rb
|
140
|
+
- lib/vagrant_vmware_free/action/prepare_forwarded_port_collision_params.rb
|
141
|
+
- lib/vagrant_vmware_free/action/prepare_nfs_settings.rb
|
142
|
+
- lib/vagrant_vmware_free/action/prune_nfs_exports.rb
|
143
|
+
- lib/vagrant_vmware_free/action/resume.rb
|
144
|
+
- lib/vagrant_vmware_free/action/sane_defaults.rb
|
145
|
+
- lib/vagrant_vmware_free/action/set_name.rb
|
146
|
+
- lib/vagrant_vmware_free/action/set_network.rb
|
147
|
+
- lib/vagrant_vmware_free/action/setup_package_files.rb
|
148
|
+
- lib/vagrant_vmware_free/action/share_folders.rb
|
149
|
+
- lib/vagrant_vmware_free/action/suspend.rb
|
150
|
+
- lib/vagrant_vmware_free/action/wait_for_vm_tools.rb
|
151
|
+
- lib/vagrant_vmware_free/config.rb
|
152
|
+
- lib/vagrant_vmware_free/driver/base.rb
|
153
|
+
- lib/vagrant_vmware_free/driver/fusion.rb
|
154
|
+
- lib/vagrant_vmware_free/driver/fusion_6.rb
|
155
|
+
- lib/vagrant_vmware_free/driver/meta.rb
|
156
|
+
- lib/vagrant_vmware_free/driver/vix.rb
|
157
|
+
- lib/vagrant_vmware_free/driver/vix/functions.rb
|
158
|
+
- lib/vagrant_vmware_free/driver/vix/helpers.rb
|
159
|
+
- lib/vagrant_vmware_free/driver/vix/types.rb
|
160
|
+
- lib/vagrant_vmware_free/errors.rb
|
161
|
+
- lib/vagrant_vmware_free/plugin.rb
|
162
|
+
- lib/vagrant_vmware_free/provider.rb
|
163
|
+
- lib/vagrant_vmware_free/util/vmx.rb
|
164
|
+
- vagrant-vmware-free.gemspec
|
165
|
+
homepage: http://orishavit.com
|
166
|
+
licenses:
|
167
|
+
- MIT
|
168
|
+
post_install_message:
|
169
|
+
rdoc_options: []
|
170
|
+
require_paths:
|
171
|
+
- lib
|
172
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
173
|
+
none: false
|
174
|
+
requirements:
|
175
|
+
- - ! '>='
|
176
|
+
- !ruby/object:Gem::Version
|
177
|
+
version: '0'
|
178
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
179
|
+
none: false
|
180
|
+
requirements:
|
181
|
+
- - ! '>='
|
182
|
+
- !ruby/object:Gem::Version
|
183
|
+
version: '0'
|
184
|
+
requirements: []
|
185
|
+
rubyforge_project:
|
186
|
+
rubygems_version: 1.8.23
|
187
|
+
signing_key:
|
188
|
+
specification_version: 3
|
189
|
+
summary: A free VMWare Workstaion/Fusion Vagrant provider
|
190
|
+
test_files: []
|