vagrant-parallels 0.2.1 → 0.2.2.rc1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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: []
|