vagrant-parallels 0.2.1 → 0.2.2.rc1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.gitignore +21 -13
- data/.travis.yml +1 -0
- data/README.md +43 -54
- data/config/i18n-tasks.yml.erb +1 -1
- data/debug.log +941 -0
- data/lib/vagrant-parallels/action.rb +0 -7
- data/lib/vagrant-parallels/action/check_accessible.rb +1 -1
- data/lib/vagrant-parallels/action/check_guest_tools.rb +10 -2
- data/lib/vagrant-parallels/action/clear_network_interfaces.rb +1 -1
- data/lib/vagrant-parallels/action/customize.rb +6 -4
- data/lib/vagrant-parallels/action/export.rb +56 -12
- data/lib/vagrant-parallels/action/import.rb +49 -30
- data/lib/vagrant-parallels/action/network.rb +137 -48
- data/lib/vagrant-parallels/action/package_config_files.rb +0 -12
- data/lib/vagrant-parallels/action/prepare_nfs_valid_ids.rb +1 -1
- data/lib/vagrant-parallels/action/set_name.rb +2 -2
- data/lib/vagrant-parallels/config.rb +11 -2
- data/lib/vagrant-parallels/driver/base.rb +281 -0
- data/lib/vagrant-parallels/driver/meta.rb +138 -0
- data/lib/vagrant-parallels/driver/{prl_ctl.rb → pd_8.rb} +116 -256
- data/lib/vagrant-parallels/driver/pd_9.rb +417 -0
- data/lib/vagrant-parallels/errors.rb +15 -7
- data/lib/vagrant-parallels/plugin.rb +7 -7
- data/lib/vagrant-parallels/provider.rb +33 -3
- data/lib/vagrant-parallels/version.rb +1 -1
- data/locales/en.yml +30 -16
- data/test/unit/base.rb +1 -5
- data/test/unit/config_test.rb +13 -2
- data/test/unit/driver/pd_8_test.rb +196 -0
- data/test/unit/driver/pd_9_test.rb +196 -0
- data/test/unit/locales/locales_test.rb +1 -1
- data/test/unit/support/shared/parallels_context.rb +2 -2
- data/test/unit/support/shared/pd_driver_examples.rb +243 -0
- data/test/unit/synced_folder_test.rb +37 -0
- data/vagrant-parallels.gemspec +5 -5
- metadata +39 -32
- data/lib/vagrant-parallels/action/match_mac_address.rb +0 -28
- data/lib/vagrant-parallels/action/register_template.rb +0 -24
- data/lib/vagrant-parallels/action/unregister_template.rb +0 -26
- data/test/support/isolated_environment.rb +0 -46
- data/test/support/tempdir.rb +0 -43
- data/test/unit/driver/prl_ctl_test.rb +0 -148
@@ -1,6 +1,6 @@
|
|
1
1
|
shared_context "parallels" do
|
2
2
|
let(:parallels_context) { true }
|
3
|
-
let(:uuid) { "
|
3
|
+
let(:uuid) { "1234-here-is-uuid-5678" }
|
4
4
|
let(:parallels_version) { "9" }
|
5
5
|
let(:subprocess) { double("Vagrant::Util::Subprocess") }
|
6
6
|
|
@@ -24,7 +24,7 @@ shared_context "parallels" do
|
|
24
24
|
|
25
25
|
# drivers also call vm_exists? during init;
|
26
26
|
subprocess.stub(:execute).
|
27
|
-
with("prlctl", "list",
|
27
|
+
with("prlctl", "list", uuid, kind_of(Hash)).
|
28
28
|
and_return(subprocess_result(exit_code: 0))
|
29
29
|
end
|
30
30
|
end
|
@@ -0,0 +1,243 @@
|
|
1
|
+
shared_examples "parallels desktop driver" do |options|
|
2
|
+
before do
|
3
|
+
raise ArgumentError, "Need parallels context to use these shared examples." unless defined? parallels_context
|
4
|
+
end
|
5
|
+
|
6
|
+
# Accessor to the delegate object
|
7
|
+
let(:driver) { subject.instance_variable_get("@driver") }
|
8
|
+
|
9
|
+
describe "compact" do
|
10
|
+
settings = {"Hardware" => {"hdd0" => {"image" => "/path/to/disk0.hdd"},
|
11
|
+
"hdd1" => {"image" => "/path/to/disk1.hdd"}}}
|
12
|
+
it "compacts the VM disk drives" do
|
13
|
+
driver.should_receive(:read_settings).and_return(settings)
|
14
|
+
|
15
|
+
subprocess.should_receive(:execute).exactly(2).times.
|
16
|
+
with("prl_disk_tool", 'compact', '--hdd', /^\/path\/to\/disk(0|1).hdd$/,
|
17
|
+
an_instance_of(Hash)).
|
18
|
+
and_return(subprocess_result(exit_code: 0))
|
19
|
+
subject.compact(uuid)
|
20
|
+
end
|
21
|
+
end
|
22
|
+
|
23
|
+
describe "clear_shared_folders" do
|
24
|
+
it "deletes every shared folder assigned to the VM" do
|
25
|
+
subprocess.should_receive(:execute).at_least(2).times.
|
26
|
+
with("prlctl", "set", uuid, "--shf-host-del", an_instance_of(String),
|
27
|
+
an_instance_of(Hash)).
|
28
|
+
and_return(subprocess_result(exit_code: 0))
|
29
|
+
subject.clear_shared_folders
|
30
|
+
end
|
31
|
+
end
|
32
|
+
|
33
|
+
describe "create_host_only_network" do
|
34
|
+
let(:hostonly_iface) {'vnic12'}
|
35
|
+
it "creates host-only NIC with dhcp server configured" do
|
36
|
+
vnic_opts = {
|
37
|
+
:name => 'vagrant_vnic8',
|
38
|
+
:adapter_ip => '11.11.11.11',
|
39
|
+
:netmask => '255.255.252.0',
|
40
|
+
:dhcp => {
|
41
|
+
:ip => '11.11.11.11',
|
42
|
+
:lower => '11.11.8.1',
|
43
|
+
:upper => '11.11.11.254'
|
44
|
+
}
|
45
|
+
}
|
46
|
+
|
47
|
+
subprocess.should_receive(:execute).
|
48
|
+
with("prlsrvctl", "net", "add", vnic_opts[:name],
|
49
|
+
"--type", "host-only", an_instance_of(Hash)).
|
50
|
+
and_return(subprocess_result(exit_code: 0))
|
51
|
+
|
52
|
+
subprocess.should_receive(:execute).
|
53
|
+
with("prlsrvctl", "net", "set", vnic_opts[:name],
|
54
|
+
"--ip", "#{vnic_opts[:adapter_ip]}/#{vnic_opts[:netmask]}",
|
55
|
+
"--dhcp-ip", vnic_opts[:dhcp][:ip],
|
56
|
+
"--ip-scope-start", vnic_opts[:dhcp][:lower],
|
57
|
+
"--ip-scope-end", vnic_opts[:dhcp][:upper], an_instance_of(Hash)).
|
58
|
+
and_return(subprocess_result(exit_code: 0))
|
59
|
+
|
60
|
+
interface = subject.create_host_only_network(vnic_opts)
|
61
|
+
|
62
|
+
interface.should include(:name => vnic_opts[:name])
|
63
|
+
interface.should include(:ip => vnic_opts[:adapter_ip])
|
64
|
+
interface.should include(:netmask => vnic_opts[:netmask])
|
65
|
+
interface.should include(:dhcp => vnic_opts[:dhcp])
|
66
|
+
interface.should include(:bound_to => hostonly_iface)
|
67
|
+
interface[:bound_to].should =~ /^(vnic(\d+))$/
|
68
|
+
end
|
69
|
+
|
70
|
+
it "creates host-only NIC without dhcp" do
|
71
|
+
vnic_options = {
|
72
|
+
:name => 'vagrant_vnic3',
|
73
|
+
:adapter_ip => '22.22.22.22',
|
74
|
+
:netmask => '255.255.254.0',
|
75
|
+
}
|
76
|
+
|
77
|
+
subprocess.should_receive(:execute).
|
78
|
+
with("prlsrvctl", "net", "add", vnic_options[:name],
|
79
|
+
"--type", "host-only", an_instance_of(Hash)).
|
80
|
+
and_return(subprocess_result(exit_code: 0))
|
81
|
+
|
82
|
+
subprocess.should_receive(:execute).
|
83
|
+
with("prlsrvctl", "net", "set", vnic_options[:name],
|
84
|
+
"--ip", "#{vnic_options[:adapter_ip]}/#{vnic_options[:netmask]}",
|
85
|
+
an_instance_of(Hash)).
|
86
|
+
and_return(subprocess_result(exit_code: 0))
|
87
|
+
|
88
|
+
interface = subject.create_host_only_network(vnic_options)
|
89
|
+
|
90
|
+
interface.should include(:name => vnic_options[:name])
|
91
|
+
interface.should include(:ip => vnic_options[:adapter_ip])
|
92
|
+
interface.should include(:netmask => vnic_options[:netmask])
|
93
|
+
interface.should include(:dhcp => nil)
|
94
|
+
interface.should include(:bound_to => hostonly_iface)
|
95
|
+
interface[:bound_to].should =~ /^(vnic(\d+))$/
|
96
|
+
end
|
97
|
+
end
|
98
|
+
|
99
|
+
describe "delete" do
|
100
|
+
it "deletes the VM" do
|
101
|
+
subprocess.should_receive(:execute).
|
102
|
+
with("prlctl", "delete", uuid, an_instance_of(Hash)).
|
103
|
+
and_return(subprocess_result(exit_code: 0))
|
104
|
+
subject.delete
|
105
|
+
end
|
106
|
+
end
|
107
|
+
|
108
|
+
describe "delete_disabled_adapters" do
|
109
|
+
it "deletes disabled networks adapters from VM config" do
|
110
|
+
settings = {"Hardware" => {"net0" => {"enabled" => false},
|
111
|
+
"net1" => {"enabled" => false}}}
|
112
|
+
driver.should_receive(:read_settings).and_return(settings)
|
113
|
+
subprocess.should_receive(:execute).exactly(2).times.
|
114
|
+
with("prlctl", "set", uuid, "--device-del", /^net(0|1)$/,
|
115
|
+
an_instance_of(Hash)).
|
116
|
+
and_return(subprocess_result(exit_code: 0))
|
117
|
+
subject.delete_disabled_adapters
|
118
|
+
end
|
119
|
+
end
|
120
|
+
|
121
|
+
describe "export" do
|
122
|
+
tpl_name = "Some_Template_Name"
|
123
|
+
tpl_uuid = "1234-some-template-uuid-5678"
|
124
|
+
|
125
|
+
it "exports VM to template" do
|
126
|
+
subprocess.should_receive(:execute).
|
127
|
+
with("prlctl", "clone", uuid, "--name", an_instance_of(String),
|
128
|
+
"--template", "--dst", an_instance_of(String),
|
129
|
+
an_instance_of(Hash)).
|
130
|
+
and_return(subprocess_result(exit_code: 0))
|
131
|
+
subject.export("/path/to/template", tpl_name).should == tpl_uuid
|
132
|
+
end
|
133
|
+
end
|
134
|
+
|
135
|
+
describe "halt" do
|
136
|
+
it "stops the VM" do
|
137
|
+
subprocess.should_receive(:execute).
|
138
|
+
with("prlctl", "stop", uuid, an_instance_of(Hash)).
|
139
|
+
and_return(subprocess_result(exit_code: 0))
|
140
|
+
subject.halt
|
141
|
+
end
|
142
|
+
|
143
|
+
it "stops the VM force" do
|
144
|
+
subprocess.should_receive(:execute).
|
145
|
+
with("prlctl", "stop", uuid, "--kill", an_instance_of(Hash)).
|
146
|
+
and_return(subprocess_result(exit_code: 0))
|
147
|
+
subject.halt(force=true)
|
148
|
+
end
|
149
|
+
end
|
150
|
+
|
151
|
+
describe "read_settings" do
|
152
|
+
it "returns a hash with detailed info about the VM" do
|
153
|
+
subject.read_settings.should be_kind_of(Hash)
|
154
|
+
subject.read_settings.should include("ID" => uuid)
|
155
|
+
subject.read_settings.should include("Hardware")
|
156
|
+
subject.read_settings.should include("GuestTools")
|
157
|
+
end
|
158
|
+
end
|
159
|
+
|
160
|
+
describe "read_vms" do
|
161
|
+
it "returns the list of all registered VMs and templates" do
|
162
|
+
subject.read_vms.should be_kind_of(Hash)
|
163
|
+
subject.read_vms.should have_at_least(2).items
|
164
|
+
subject.read_vms.should include(vm_name => uuid)
|
165
|
+
end
|
166
|
+
end
|
167
|
+
|
168
|
+
describe "read_vms_info" do
|
169
|
+
it "returns detailed info about all registered VMs and templates" do
|
170
|
+
subject.read_vms_info.should be_kind_of(Array)
|
171
|
+
subject.read_vms_info.should have_at_least(2).items
|
172
|
+
|
173
|
+
# It should include info about current VM
|
174
|
+
vm_settings = driver.send(:read_settings)
|
175
|
+
subject.read_vms_info.should include(vm_settings)
|
176
|
+
end
|
177
|
+
end
|
178
|
+
|
179
|
+
describe "set_mac_address" do
|
180
|
+
it "sets base MAC address to the Shared network adapter" do
|
181
|
+
subprocess.should_receive(:execute).exactly(2).times.
|
182
|
+
with("prlctl", "set", uuid, '--device-set', 'net0', '--type', 'shared',
|
183
|
+
'--mac', an_instance_of(String), an_instance_of(Hash)).
|
184
|
+
and_return(subprocess_result(exit_code: 0))
|
185
|
+
|
186
|
+
subject.set_mac_address('001C42DD5902')
|
187
|
+
subject.set_mac_address('auto')
|
188
|
+
end
|
189
|
+
end
|
190
|
+
|
191
|
+
describe "set_name" do
|
192
|
+
it "sets new name for the VM" do
|
193
|
+
subprocess.should_receive(:execute).
|
194
|
+
with("prlctl", "set", uuid, '--name', an_instance_of(String),
|
195
|
+
an_instance_of(Hash)).
|
196
|
+
and_return(subprocess_result(exit_code: 0))
|
197
|
+
|
198
|
+
subject.set_name('new_vm_name')
|
199
|
+
end
|
200
|
+
end
|
201
|
+
|
202
|
+
describe "start" do
|
203
|
+
it "starts the VM" do
|
204
|
+
subprocess.should_receive(:execute).
|
205
|
+
with("prlctl", "start", uuid, an_instance_of(Hash)).
|
206
|
+
and_return(subprocess_result(exit_code: 0))
|
207
|
+
subject.start
|
208
|
+
end
|
209
|
+
end
|
210
|
+
|
211
|
+
describe "suspend" do
|
212
|
+
it "suspends the VM" do
|
213
|
+
subprocess.should_receive(:execute).
|
214
|
+
with("prlctl", "suspend", uuid, an_instance_of(Hash)).
|
215
|
+
and_return(subprocess_result(exit_code: 0))
|
216
|
+
subject.suspend
|
217
|
+
end
|
218
|
+
end
|
219
|
+
|
220
|
+
describe "unregister" do
|
221
|
+
it "suspends the VM" do
|
222
|
+
subprocess.should_receive(:execute).
|
223
|
+
with("prlctl", "unregister", an_instance_of(String),
|
224
|
+
an_instance_of(Hash)).
|
225
|
+
and_return(subprocess_result(exit_code: 0))
|
226
|
+
subject.unregister("template_or_vm_uuid")
|
227
|
+
end
|
228
|
+
end
|
229
|
+
|
230
|
+
describe "version" do
|
231
|
+
it "parses the version from output" do
|
232
|
+
subject.version.should match(/(#{parallels_version}[\d\.]+)/)
|
233
|
+
end
|
234
|
+
|
235
|
+
it "rises ParallelsInstallIncomplete exception when output is invalid" do
|
236
|
+
subprocess.should_receive(:execute).
|
237
|
+
with("prlctl", "--version", an_instance_of(Hash)).
|
238
|
+
and_return(subprocess_result(exit_code: 0))
|
239
|
+
expect { subject.version }.
|
240
|
+
to raise_error(VagrantPlugins::Parallels::Errors::ParallelsInvalidVersion)
|
241
|
+
end
|
242
|
+
end
|
243
|
+
end
|
@@ -0,0 +1,37 @@
|
|
1
|
+
require "vagrant"
|
2
|
+
require_relative "base"
|
3
|
+
|
4
|
+
require VagrantPlugins::Parallels.source_root.join('lib/vagrant-parallels/synced_folder')
|
5
|
+
|
6
|
+
describe VagrantPlugins::Parallels::SyncedFolder do
|
7
|
+
let(:machine) do
|
8
|
+
double("machine").tap do |m|
|
9
|
+
end
|
10
|
+
end
|
11
|
+
|
12
|
+
subject { described_class.new }
|
13
|
+
|
14
|
+
describe "usable" do
|
15
|
+
it "should be with parallels provider" do
|
16
|
+
machine.stub(provider_name: :parallels)
|
17
|
+
subject.should be_usable(machine)
|
18
|
+
end
|
19
|
+
|
20
|
+
it "should not be with another provider" do
|
21
|
+
machine.stub(provider_name: :virtualbox)
|
22
|
+
subject.should_not be_usable(machine)
|
23
|
+
end
|
24
|
+
end
|
25
|
+
|
26
|
+
describe "prepare" do
|
27
|
+
let(:driver) { double("driver") }
|
28
|
+
|
29
|
+
before do
|
30
|
+
machine.stub(driver: driver)
|
31
|
+
end
|
32
|
+
|
33
|
+
it "should share the folders" do
|
34
|
+
pending
|
35
|
+
end
|
36
|
+
end
|
37
|
+
end
|
data/vagrant-parallels.gemspec
CHANGED
@@ -6,10 +6,10 @@ Gem::Specification.new do |spec|
|
|
6
6
|
spec.name = "vagrant-parallels"
|
7
7
|
spec.version = VagrantPlugins::Parallels::VERSION
|
8
8
|
spec.platform = Gem::Platform::RUBY
|
9
|
-
spec.authors = ["Youssef Shahin"]
|
10
|
-
spec.email = ["yshahin@gmail.com"]
|
11
|
-
spec.
|
12
|
-
spec.
|
9
|
+
spec.authors = ["Mikhail Zholobov", "Youssef Shahin"]
|
10
|
+
spec.email = ["mzholobov@parallels.com", "yshahin@gmail.com"]
|
11
|
+
spec.summary = %q{Parallels provider for Vagrant.}
|
12
|
+
spec.description = %q{Enables Vagrant to manage Parallels virtual machines.}
|
13
13
|
spec.homepage = "http://github.com/Parallels/vagrant-parallels"
|
14
14
|
spec.license = "MIT"
|
15
15
|
|
@@ -19,7 +19,7 @@ Gem::Specification.new do |spec|
|
|
19
19
|
spec.add_development_dependency "bundler", "~> 1.5.2"
|
20
20
|
spec.add_development_dependency "rake"
|
21
21
|
spec.add_development_dependency "rspec", "~> 2.14.0"
|
22
|
-
spec.add_development_dependency "i18n-tasks", "~> 0.2.
|
22
|
+
spec.add_development_dependency "i18n-tasks", "~> 0.2.21"
|
23
23
|
|
24
24
|
# The following block of code determines the files that should be included
|
25
25
|
# in the gem. It does this by reading all the files in the directory where
|
metadata
CHANGED
@@ -1,87 +1,84 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: vagrant-parallels
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.2.
|
4
|
+
version: 0.2.2.rc1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
|
+
- Mikhail Zholobov
|
7
8
|
- Youssef Shahin
|
8
9
|
autorequire:
|
9
10
|
bindir: bin
|
10
11
|
cert_chain: []
|
11
|
-
date: 2014-
|
12
|
+
date: 2014-03-02 00:00:00.000000000 Z
|
12
13
|
dependencies:
|
13
14
|
- !ruby/object:Gem::Dependency
|
14
15
|
name: bundler
|
15
16
|
requirement: !ruby/object:Gem::Requirement
|
16
17
|
requirements:
|
17
|
-
- -
|
18
|
+
- - ~>
|
18
19
|
- !ruby/object:Gem::Version
|
19
20
|
version: 1.5.2
|
20
21
|
type: :development
|
21
22
|
prerelease: false
|
22
23
|
version_requirements: !ruby/object:Gem::Requirement
|
23
24
|
requirements:
|
24
|
-
- -
|
25
|
+
- - ~>
|
25
26
|
- !ruby/object:Gem::Version
|
26
27
|
version: 1.5.2
|
27
28
|
- !ruby/object:Gem::Dependency
|
28
29
|
name: rake
|
29
30
|
requirement: !ruby/object:Gem::Requirement
|
30
31
|
requirements:
|
31
|
-
- -
|
32
|
+
- - '>='
|
32
33
|
- !ruby/object:Gem::Version
|
33
34
|
version: '0'
|
34
35
|
type: :development
|
35
36
|
prerelease: false
|
36
37
|
version_requirements: !ruby/object:Gem::Requirement
|
37
38
|
requirements:
|
38
|
-
- -
|
39
|
+
- - '>='
|
39
40
|
- !ruby/object:Gem::Version
|
40
41
|
version: '0'
|
41
42
|
- !ruby/object:Gem::Dependency
|
42
43
|
name: rspec
|
43
44
|
requirement: !ruby/object:Gem::Requirement
|
44
45
|
requirements:
|
45
|
-
- -
|
46
|
+
- - ~>
|
46
47
|
- !ruby/object:Gem::Version
|
47
48
|
version: 2.14.0
|
48
49
|
type: :development
|
49
50
|
prerelease: false
|
50
51
|
version_requirements: !ruby/object:Gem::Requirement
|
51
52
|
requirements:
|
52
|
-
- -
|
53
|
+
- - ~>
|
53
54
|
- !ruby/object:Gem::Version
|
54
55
|
version: 2.14.0
|
55
56
|
- !ruby/object:Gem::Dependency
|
56
57
|
name: i18n-tasks
|
57
58
|
requirement: !ruby/object:Gem::Requirement
|
58
59
|
requirements:
|
59
|
-
- -
|
60
|
+
- - ~>
|
60
61
|
- !ruby/object:Gem::Version
|
61
|
-
version: 0.2.
|
62
|
+
version: 0.2.21
|
62
63
|
type: :development
|
63
64
|
prerelease: false
|
64
65
|
version_requirements: !ruby/object:Gem::Requirement
|
65
66
|
requirements:
|
66
|
-
- -
|
67
|
+
- - ~>
|
67
68
|
- !ruby/object:Gem::Version
|
68
|
-
version: 0.2.
|
69
|
-
description: Enables Vagrant to manage Parallels machines.
|
69
|
+
version: 0.2.21
|
70
|
+
description: Enables Vagrant to manage Parallels virtual machines.
|
70
71
|
email:
|
72
|
+
- mzholobov@parallels.com
|
71
73
|
- yshahin@gmail.com
|
72
74
|
executables: []
|
73
75
|
extensions: []
|
74
76
|
extra_rdoc_files: []
|
75
77
|
files:
|
76
|
-
- ".gitignore"
|
77
|
-
- ".travis.yml"
|
78
|
-
- Gemfile
|
79
|
-
- LICENSE.txt
|
80
|
-
- README.md
|
81
|
-
- Rakefile
|
82
78
|
- config/i18n-tasks.yml.erb
|
83
|
-
-
|
84
|
-
-
|
79
|
+
- debug.log
|
80
|
+
- Gemfile
|
81
|
+
- Gemfile.lock
|
85
82
|
- lib/vagrant-parallels/action/boot.rb
|
86
83
|
- lib/vagrant-parallels/action/check_accessible.rb
|
87
84
|
- lib/vagrant-parallels/action/check_created.rb
|
@@ -99,7 +96,6 @@ files:
|
|
99
96
|
- lib/vagrant-parallels/action/import.rb
|
100
97
|
- lib/vagrant-parallels/action/is_running.rb
|
101
98
|
- lib/vagrant-parallels/action/is_suspended.rb
|
102
|
-
- lib/vagrant-parallels/action/match_mac_address.rb
|
103
99
|
- lib/vagrant-parallels/action/message_already_running.rb
|
104
100
|
- lib/vagrant-parallels/action/message_not_created.rb
|
105
101
|
- lib/vagrant-parallels/action/message_not_running.rb
|
@@ -109,14 +105,16 @@ files:
|
|
109
105
|
- lib/vagrant-parallels/action/package_config_files.rb
|
110
106
|
- lib/vagrant-parallels/action/prepare_nfs_settings.rb
|
111
107
|
- lib/vagrant-parallels/action/prepare_nfs_valid_ids.rb
|
112
|
-
- lib/vagrant-parallels/action/register_template.rb
|
113
108
|
- lib/vagrant-parallels/action/resume.rb
|
114
109
|
- lib/vagrant-parallels/action/set_name.rb
|
115
110
|
- lib/vagrant-parallels/action/setup_package_files.rb
|
116
111
|
- lib/vagrant-parallels/action/suspend.rb
|
117
|
-
- lib/vagrant-parallels/action
|
112
|
+
- lib/vagrant-parallels/action.rb
|
118
113
|
- lib/vagrant-parallels/config.rb
|
119
|
-
- lib/vagrant-parallels/driver/
|
114
|
+
- lib/vagrant-parallels/driver/base.rb
|
115
|
+
- lib/vagrant-parallels/driver/meta.rb
|
116
|
+
- lib/vagrant-parallels/driver/pd_8.rb
|
117
|
+
- lib/vagrant-parallels/driver/pd_9.rb
|
120
118
|
- lib/vagrant-parallels/errors.rb
|
121
119
|
- lib/vagrant-parallels/guest_cap/darwin/mount_parallels_shared_folder.rb
|
122
120
|
- lib/vagrant-parallels/guest_cap/linux/mount_parallels_shared_folder.rb
|
@@ -124,17 +122,26 @@ files:
|
|
124
122
|
- lib/vagrant-parallels/provider.rb
|
125
123
|
- lib/vagrant-parallels/synced_folder.rb
|
126
124
|
- lib/vagrant-parallels/version.rb
|
125
|
+
- lib/vagrant-parallels.rb
|
126
|
+
- LICENSE.txt
|
127
127
|
- locales/en.yml
|
128
|
+
- Rakefile
|
129
|
+
- README.md
|
128
130
|
- tasks/bundler.rake
|
129
131
|
- tasks/test.rake
|
130
|
-
- test/support/isolated_environment.rb
|
131
|
-
- test/support/tempdir.rb
|
132
132
|
- test/unit/base.rb
|
133
133
|
- test/unit/config_test.rb
|
134
|
-
- test/unit/driver/
|
134
|
+
- test/unit/driver/pd_8_test.rb
|
135
|
+
- test/unit/driver/pd_9_test.rb
|
135
136
|
- test/unit/locales/locales_test.rb
|
136
137
|
- test/unit/support/shared/parallels_context.rb
|
138
|
+
- test/unit/support/shared/pd_driver_examples.rb
|
139
|
+
- test/unit/synced_folder_test.rb
|
137
140
|
- vagrant-parallels.gemspec
|
141
|
+
- vagrant-spec.config.rb
|
142
|
+
- Vagrantfile
|
143
|
+
- .gitignore
|
144
|
+
- .travis.yml
|
138
145
|
homepage: http://github.com/Parallels/vagrant-parallels
|
139
146
|
licenses:
|
140
147
|
- MIT
|
@@ -145,18 +152,18 @@ require_paths:
|
|
145
152
|
- lib
|
146
153
|
required_ruby_version: !ruby/object:Gem::Requirement
|
147
154
|
requirements:
|
148
|
-
- -
|
155
|
+
- - '>='
|
149
156
|
- !ruby/object:Gem::Version
|
150
157
|
version: '0'
|
151
158
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
152
159
|
requirements:
|
153
|
-
- -
|
160
|
+
- - '>='
|
154
161
|
- !ruby/object:Gem::Version
|
155
162
|
version: 1.3.6
|
156
163
|
requirements: []
|
157
164
|
rubyforge_project: vagrant-parallels
|
158
|
-
rubygems_version: 2.
|
165
|
+
rubygems_version: 2.0.14
|
159
166
|
signing_key:
|
160
167
|
specification_version: 4
|
161
|
-
summary:
|
168
|
+
summary: Parallels provider for Vagrant.
|
162
169
|
test_files: []
|