vagrant-save 0.2.8 → 0.2.9

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: cbb70882ed147e983a61e4a8d71ff3792fb11acc
4
- data.tar.gz: 9cbb2b2f60f2e7a47a75fa7684f0fbd80bd90902
3
+ metadata.gz: 007a980eca6b2c8182d0829d8692e480f3c1870f
4
+ data.tar.gz: beed37e3e9a953459cb8c5b1b2e581fc9e6b6111
5
5
  SHA512:
6
- metadata.gz: 5436eab73dd9ee675c626c4ea42606c644c6a22973d124e36766107e328a853f3794716d46705bd365fce0a69ddcc0151949161f4b8defbf43bfa0bcbbe0ab72
7
- data.tar.gz: dd836c4a22a466800e93bd8f202f61cfc56a3f7fb05ad855b38cb05d09dce3bd86ef83e4447e39551d6addcc547e858413ec97d449e1cf330ff9032201a46ec2
6
+ metadata.gz: 3a278375e5ea335f681be8357c5224a2c19ce2ea76427701ec4c6df51bae5bc7b4c6031c633953e585cc3b13fdeae22a550f103249eb4426ac6e444cf47fe5d3
7
+ data.tar.gz: 28c4fdabbb7f2050e30b5faca685a2ee7ac95200688bc5589dfc13a6b01a0774dedfa49e6511808ff4ee1f694a5e85e778a8dd7270855921dcf31893c3cf87bc
data/.gitignore CHANGED
@@ -1,18 +1,20 @@
1
- /.bundle/
2
- /.yardoc
3
- /Gemfile.lock
4
- /_yardoc/
5
- /coverage/
6
- /doc/
7
- /pkg/
8
- /spec/reports/
9
- /tmp/
10
- *.bundle
11
- *.so
12
- *.o
13
- *.a
14
- mkmf.log
15
- Gemfile.lock
16
- /.idea
17
- /.vagrant
18
- *.gem
1
+ /.bundle/
2
+ /.yardoc
3
+ /Gemfile.lock
4
+ /_yardoc/
5
+ /coverage/
6
+ /doc/
7
+ /pkg/
8
+ /spec/reports/
9
+ /tmp/
10
+ *.bundle
11
+ *.so
12
+ *.o
13
+ *.a
14
+ mkmf.log
15
+ Gemfile.lock
16
+ /.idea
17
+ /.vagrant
18
+ *.gem
19
+ *.box
20
+ Vagrantfile
data/Gemfile CHANGED
@@ -1,11 +1,11 @@
1
- source 'https://rubygems.org'
2
-
3
- group :development do
4
- gem 'vagrant', git: 'https://github.com/mitchellh/vagrant.git'
5
- end
6
-
7
- gem 'vagrant-export', '>= 0.3.4', git: 'https://github.com/trenker/vagrant-export.git'
8
-
9
- group :plugins do
10
- gem 'vagrant-save', path: '.'
11
- end
1
+ source 'https://rubygems.org'
2
+
3
+ group :development do
4
+ gem 'vagrant', git: 'https://github.com/mitchellh/vagrant.git'
5
+ end
6
+
7
+ gem 'vagrant-export', '>= 0.3.4', git: 'https://github.com/trenker/vagrant-export.git'
8
+
9
+ group :plugins do
10
+ gem 'vagrant-save', path: '.'
11
+ end
data/README.md CHANGED
@@ -1,73 +1,73 @@
1
- # vagrant-save
2
-
3
- This is a simple plugin to export boxes into .box files using [vagrant-export](https://github.com/trenker/vagrant-export) and pushes that file to a [boxserver](https://github.com/trenker/boxserver) instance.
4
-
5
- ## Installation
6
-
7
- Like with any other vagrant plugin:
8
-
9
- ```bash
10
- vagrant plugin install vagrant-save
11
- ```
12
-
13
- ## Usage
14
-
15
- Have a [boxserver](https://github.com/trenker/boxserver) instance running and set the property `config.vm.box_server_url` to its address in your vagrant file. So your `Vagrantfile` contains the following statements:
16
-
17
- ```ruby
18
- Vagrant.configure("2") do |config|
19
- # This must be set
20
- config.vm.box_server_url = "http://localhost:8001"
21
- end
22
- ```
23
-
24
- Then just run
25
-
26
- ```bash
27
- vagrant save
28
- ```
29
-
30
- to release a new version of your box.
31
-
32
- By default, it increases the bugfix version number by one. So an installed 1.0.0 becomes 1.0.1. You can specify the version yourself using the parameter `-v|--version`, like this:
33
-
34
- ```bash
35
- vagrant save -v 1.2.0
36
- ```
37
-
38
- The parameter must always have all three digits and must be greater than the installed version.
39
-
40
- You may want to clean up the boxserver by deleting old versions. The `-k|--keep` parameter sets how many versions to keep. The versions are sorted in descending order, older than the newest X will be deleted:
41
-
42
- ```bash
43
- # Keeping the last six versions
44
- vagrant save -k 6
45
-
46
- # Keeping all versions
47
- # Does not need to be written, as it is the default setting
48
- vagrant save -k 0
49
- ```
50
-
51
- ## License
52
-
53
- The MIT License (MIT)
54
-
55
- Copyright (c) 2014 Georg Großberger
56
-
57
- Permission is hereby granted, free of charge, to any person obtaining a copy
58
- of this software and associated documentation files (the "Software"), to deal
59
- in the Software without restriction, including without limitation the rights
60
- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
61
- copies of the Software, and to permit persons to whom the Software is
62
- furnished to do so, subject to the following conditions:
63
-
64
- The above copyright notice and this permission notice shall be included in
65
- all copies or substantial portions of the Software.
66
-
67
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
68
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
69
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
70
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
71
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
72
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
73
- THE SOFTWARE.
1
+ # vagrant-save
2
+
3
+ This is a simple plugin to export boxes into .box files using [vagrant-export](https://github.com/trenker/vagrant-export) and pushes that file to a [boxserver](https://github.com/trenker/boxserver) instance.
4
+
5
+ ## Installation
6
+
7
+ Like with any other vagrant plugin:
8
+
9
+ ```bash
10
+ vagrant plugin install vagrant-save
11
+ ```
12
+
13
+ ## Usage
14
+
15
+ Have a [boxserver](https://github.com/trenker/boxserver) instance running and set the property `config.vm.box_server_url` to its address in your vagrant file. So your `Vagrantfile` contains the following statements:
16
+
17
+ ```ruby
18
+ Vagrant.configure("2") do |config|
19
+ # This must be set
20
+ config.vm.box_server_url = "http://localhost:8001"
21
+ end
22
+ ```
23
+
24
+ Then just run
25
+
26
+ ```bash
27
+ vagrant save
28
+ ```
29
+
30
+ to release a new version of your box.
31
+
32
+ By default, it increases the bugfix version number by one. So an installed 1.0.0 becomes 1.0.1. You can specify the version yourself using the parameter `-v|--version`, like this:
33
+
34
+ ```bash
35
+ vagrant save -v 1.2.0
36
+ ```
37
+
38
+ The parameter must always have all three digits and must be greater than the installed version.
39
+
40
+ You may want to clean up the boxserver by deleting old versions. The `-k|--keep` parameter sets how many versions to keep. The versions are sorted in descending order, older than the newest X will be deleted:
41
+
42
+ ```bash
43
+ # Keeping the last six versions
44
+ vagrant save -k 6
45
+
46
+ # Keeping all versions
47
+ # Does not need to be written, as it is the default setting
48
+ vagrant save -k 0
49
+ ```
50
+
51
+ ## License
52
+
53
+ The MIT License (MIT)
54
+
55
+ Copyright (c) 2014 Georg Großberger
56
+
57
+ Permission is hereby granted, free of charge, to any person obtaining a copy
58
+ of this software and associated documentation files (the "Software"), to deal
59
+ in the Software without restriction, including without limitation the rights
60
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
61
+ copies of the Software, and to permit persons to whom the Software is
62
+ furnished to do so, subject to the following conditions:
63
+
64
+ The above copyright notice and this permission notice shall be included in
65
+ all copies or substantial portions of the Software.
66
+
67
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
68
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
69
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
70
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
71
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
72
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
73
+ THE SOFTWARE.
@@ -1,104 +1,109 @@
1
- # #
2
- # This is free software; you can redistribute it and/or modify it under #
3
- # the terms of the MIT- / X11 - License #
4
- # #
5
-
6
- require_relative 'errors'
7
-
8
- module VagrantPlugins
9
- module Save
10
- class Command < Vagrant.plugin('2', :command)
11
-
12
- def self.synopsis
13
- 'exports a box file with additional actions taken'
14
- end
15
-
16
- def execute
17
- options = {}
18
- options[:version] = nil
19
- options[:keep] = 0
20
-
21
- opts = OptionParser.new do |o|
22
- o.banner = 'Usage: vagrant save [-v|--version VERSION] [-k|--keep COUNT]'
23
- o.separator ''
24
-
25
- o.on('-v', '--version', 'Set the version of the uploaded box. Defaults to next bugfix version') do |v|
26
- options[:version] = v.to_s
27
- end
28
-
29
- o.on('-k', '--keep', 'Number of versions to keep, older will be removed. Must be >= 1. Defaults to 0.') do |v|
30
- options[:keep] = v.to_i
31
- end
32
- end
33
-
34
- argv = parse_options(opts)
35
- return 1 unless argv
36
-
37
- target_version = options[:version]
38
-
39
- unless target_version == nil
40
- unless /^[0-9]+\.[0-9]+\.[0-9]+$/ =~ target_version
41
- raise VagrantPlugins::Save::Errors::NoValidVersion
42
- end
43
- end
44
-
45
- require 'vagrant-export/exporter'
46
- require_relative 'uploader'
47
-
48
- up = Uploader.new(@env, @logger)
49
-
50
- with_target_vms argv, reverse: true do |machine|
51
-
52
- if target_version
53
- version = target_version
54
-
55
- if Gem::Version.new(machine.box.version.to_s) <= Gem::Version.new(version)
56
- raise VagrantPlugins::Save::Errors::InvalidVersion
57
- end
58
-
59
- else
60
- version_parts = machine.box.version.to_s
61
- if /^[0-9]+\.[0-9]+\.[0-9]+$/ =~ version_parts
62
- version_parts = version_parts.split('.')
63
- version = version_parts[0] + '.' + version_parts[1] + '.' + (version_parts[2].to_i + 1).to_s
64
- else
65
- version = '1.0.0'
66
- end
67
- end
68
-
69
- ex = VagrantPlugins::Export::Exporter.new(@env, @logger, machine)
70
- file = ex.target_box
71
- box_created = false
72
-
73
- unless File.file?(file)
74
- box_created = true
75
- ex.handle(false, false)
76
- end
77
-
78
- provider_name = up.send(machine, file, version)
79
-
80
- data = @env.machine_index.get(machine.index_uuid)
81
- data.extra_data['version'] = version
82
- @env.machine_index.set(data)
83
-
84
- @env.boxes.add(
85
- file,
86
- machine.box.name,
87
- version,
88
- force: true,
89
- metadata_url: up.make_url(machine),
90
- providers: provider_name
91
- )
92
-
93
- FileUtils.remove(file) if box_created
94
-
95
- if options[:keep] && options[:keep] > 1
96
- up.clean(machine, options[:keep])
97
- end
98
-
99
- end
100
- 0
101
- end
102
- end
103
- end
104
- end
1
+ # #
2
+ # This is free software; you can redistribute it and/or modify it under #
3
+ # the terms of the MIT- / X11 - License #
4
+ # #
5
+
6
+ require_relative 'errors'
7
+
8
+ module VagrantPlugins
9
+ module Save
10
+ class Command < Vagrant.plugin('2', :command)
11
+
12
+ def self.synopsis
13
+ 'exports a box file with additional actions taken'
14
+ end
15
+
16
+ def execute
17
+ options = {}
18
+ options[:version] = nil
19
+ options[:keep] = 0
20
+
21
+ opts = OptionParser.new do |o|
22
+ o.banner = 'Usage: vagrant save [-v|--version VERSION] [-k|--keep COUNT]'
23
+ o.separator ''
24
+
25
+ o.on('-v', '--version', 'Set the version of the uploaded box. Defaults to next bugfix version') do |v|
26
+ options[:version] = v.to_s
27
+ end
28
+
29
+ o.on('-k', '--keep', 'Number of versions to keep, older will be removed. Must be >= 1. Defaults to 0.') do |v|
30
+ options[:keep] = v.to_i
31
+ end
32
+ end
33
+
34
+ argv = parse_options(opts)
35
+ return 1 unless argv
36
+
37
+ target_version = options[:version]
38
+
39
+ unless target_version == nil
40
+ unless /^[0-9]+\.[0-9]+\.[0-9]+$/ =~ target_version
41
+ raise VagrantPlugins::Save::Errors::NoValidVersion
42
+ end
43
+ end
44
+
45
+ require 'vagrant-export/exporter'
46
+ require_relative 'uploader'
47
+
48
+ up = Uploader.new(@env, @logger)
49
+
50
+ with_target_vms argv, reverse: true do |machine|
51
+
52
+ if machine.state.short_description == 'not created'
53
+ raise MachineNotCreated
54
+ end
55
+
56
+ if target_version
57
+ version = target_version
58
+
59
+ if Gem::Version.new(machine.box.version.to_s) <= Gem::Version.new(version)
60
+ raise VagrantPlugins::Save::Errors::InvalidVersion
61
+ end
62
+
63
+ else
64
+ version_parts = machine.box.version.to_s
65
+ if /^[0-9]+\.[0-9]+\.[0-9]+$/ =~ version_parts
66
+ version_parts = version_parts.split('.')
67
+ version = version_parts[0] + '.' + version_parts[1] + '.' + (version_parts[2].to_i + 1).to_s
68
+ else
69
+ version = '1.0.0'
70
+ end
71
+ end
72
+
73
+ ex = VagrantPlugins::Export::Exporter.new(@env, @logger, machine)
74
+ file = ex.target_box
75
+ box_created = false
76
+
77
+ unless File.file?(file)
78
+ box_created = true
79
+ ex.handle(false, false)
80
+ end
81
+
82
+ provider_name = up.send(machine, file, version)
83
+
84
+ data = @env.machine_index.get(machine.index_uuid)
85
+ data.extra_data['box']['version'] = version
86
+ @env.machine_index.set(data)
87
+ @env.machine_index.release(data)
88
+
89
+ @env.boxes.add(
90
+ file,
91
+ machine.box.name,
92
+ version,
93
+ force: true,
94
+ metadata_url: up.make_url(machine),
95
+ providers: provider_name
96
+ )
97
+
98
+ FileUtils.remove(file) if box_created
99
+
100
+ if options[:keep] && options[:keep] > 1
101
+ up.clean(machine, options[:keep])
102
+ end
103
+
104
+ end
105
+ 0
106
+ end
107
+ end
108
+ end
109
+ end
@@ -11,6 +11,10 @@ module VagrantPlugins
11
11
  module Save
12
12
  module Errors
13
13
 
14
+ class MachineNotCreated < VagrantError
15
+ error_message('Machine not created. Issue at least one "up" command before running "save"')
16
+ end
17
+
14
18
  class CannotContactBoxServer < VagrantError
15
19
  error_message('Cannot contact the given box server. Please make sure the URL is correct and it is running')
16
20
  end
@@ -1,130 +1,130 @@
1
- # #
2
- # This is free software; you can redistribute it and/or modify it under #
3
- # the terms of the MIT- / X11 - License #
4
- # #
5
-
6
- require 'httpclient'
7
-
8
- module VagrantPlugins
9
- module Save
10
- class Uploader
11
-
12
- # @param [Vagrant::Environment] env
13
- # @param [Log4r::Logger] logger
14
- def initialize(env, logger)
15
- @env = env
16
- @logger = logger
17
- end
18
-
19
- # @param [Vagrant::Machine] machine
20
- # @param [string] file
21
- # @param [string] version
22
- # @return int
23
- def send(machine, file, version)
24
-
25
- machine.ui.info('Uploading now')
26
-
27
- @logger.debug("Preparing to send file #{file}")
28
-
29
- provider = machine.provider_name.to_s
30
-
31
- if provider =~ /vmware/
32
- provider = 'vmware_desktop'
33
- end
34
-
35
- ping_url = make_url(machine)
36
- post_url = ping_url + '/' + version + '/' + provider
37
-
38
- @logger.debug("Pinging #{ping_url}")
39
-
40
- client = HTTPClient.new
41
-
42
- client.connect_timeout = 10000
43
- client.send_timeout = 10000
44
- client.receive_timeout = 10000
45
-
46
- res = client.options(ping_url)
47
-
48
- raise VagrantPlugins::Save::Errors::CannotContactBoxServer unless res.http_header.status_code == 200
49
-
50
- @logger.debug("Sending file to #{post_url}")
51
-
52
- File.open(file) do |f|
53
- body = {:box => f}
54
- connection = client.post_async(post_url, body)
55
- i = 0
56
-
57
- while true
58
- break if connection.finished?
59
-
60
- if i > 40
61
- @env.ui.clear_line
62
- i = 0
63
- end
64
-
65
- @env.ui.info('.', new_line: false)
66
- i += 1
67
-
68
- sleep 1
69
- end
70
-
71
- if i > 0
72
- @env.ui.clear_line
73
- end
74
-
75
- res = connection.pop
76
- end
77
-
78
- raise VagrantPlugins::Save::Errors::UploadFailed unless res.http_header.status_code == 200
79
-
80
- machine.ui.info('Upload successful')
81
-
82
- provider
83
- end
84
-
85
- # @param [Vagrant::Machine] machine
86
- # @param [int] keep
87
- # @return int
88
- def clean(machine, keep)
89
- machine.ui.info('Cleaning up old versions')
90
-
91
- data_url = make_url(machine)
92
-
93
- @logger.debug("Load versions from #{data_url}")
94
-
95
- res = client.get(data_url)
96
- data = JSON.parse(res.http_body)
97
-
98
- client = HTTPClient.new
99
- saved_versions = data['versions'].map{ |v| v.version}
100
-
101
- @logger.debug("Received #{saved_versions.length} versions")
102
-
103
- if saved_versions.length > keep
104
- saved_versions = saved_versions.sort.reverse
105
- saved_versions.slice(keep, saved_versions.length).each { |v|
106
- delete_url = data_url + '/' + v
107
-
108
- @logger.debug("Sending delete #{delete_url}")
109
-
110
- client.delete(delete_url)
111
- }
112
- end
113
-
114
- 0
115
- end
116
-
117
- # @param [Vagrant::Machine] machine
118
- # @return string
119
- def make_url(machine)
120
- name = machine.box.name.gsub(/_+/, '/')
121
- base_url = Vagrant.server_url(machine.config.vm.box_server_url).to_s
122
-
123
- raise Vagrant::Errors::BoxServerNotSet unless base_url
124
-
125
- base_url + '/' + name
126
- end
127
-
128
- end
129
- end
130
- end
1
+ # #
2
+ # This is free software; you can redistribute it and/or modify it under #
3
+ # the terms of the MIT- / X11 - License #
4
+ # #
5
+
6
+ require 'httpclient'
7
+
8
+ module VagrantPlugins
9
+ module Save
10
+ class Uploader
11
+
12
+ # @param [Vagrant::Environment] env
13
+ # @param [Log4r::Logger] logger
14
+ def initialize(env, logger)
15
+ @env = env
16
+ @logger = logger
17
+ end
18
+
19
+ # @param [Vagrant::Machine] machine
20
+ # @param [string] file
21
+ # @param [string] version
22
+ # @return int
23
+ def send(machine, file, version)
24
+
25
+ machine.ui.info('Uploading now')
26
+
27
+ @logger.debug("Preparing to send file #{file}")
28
+
29
+ provider = machine.provider_name.to_s
30
+
31
+ if provider =~ /vmware/
32
+ provider = 'vmware_desktop'
33
+ end
34
+
35
+ ping_url = make_url(machine)
36
+ post_url = ping_url + '/' + version + '/' + provider
37
+
38
+ @logger.debug("Pinging #{ping_url}")
39
+
40
+ client = HTTPClient.new
41
+
42
+ client.connect_timeout = 10000
43
+ client.send_timeout = 10000
44
+ client.receive_timeout = 10000
45
+
46
+ res = client.options(ping_url)
47
+
48
+ raise VagrantPlugins::Save::Errors::CannotContactBoxServer unless res.http_header.status_code == 200
49
+
50
+ @logger.debug("Sending file to #{post_url}")
51
+
52
+ File.open(file) do |f|
53
+ body = {:box => f}
54
+ connection = client.post_async(post_url, body)
55
+ i = 0
56
+
57
+ while true
58
+ break if connection.finished?
59
+
60
+ if i > 40
61
+ @env.ui.clear_line
62
+ i = 0
63
+ end
64
+
65
+ @env.ui.info('.', new_line: false)
66
+ i += 1
67
+
68
+ sleep 1
69
+ end
70
+
71
+ if i > 0
72
+ @env.ui.clear_line
73
+ end
74
+
75
+ res = connection.pop
76
+ end
77
+
78
+ raise VagrantPlugins::Save::Errors::UploadFailed unless res.http_header.status_code == 200
79
+
80
+ machine.ui.info('Upload successful')
81
+
82
+ provider
83
+ end
84
+
85
+ # @param [Vagrant::Machine] machine
86
+ # @param [int] keep
87
+ # @return int
88
+ def clean(machine, keep)
89
+ machine.ui.info('Cleaning up old versions')
90
+
91
+ data_url = make_url(machine)
92
+
93
+ @logger.debug("Load versions from #{data_url}")
94
+
95
+ res = client.get(data_url)
96
+ data = JSON.parse(res.http_body)
97
+
98
+ client = HTTPClient.new
99
+ saved_versions = data['versions'].map{ |v| v.version}
100
+
101
+ @logger.debug("Received #{saved_versions.length} versions")
102
+
103
+ if saved_versions.length > keep
104
+ saved_versions = saved_versions.sort.reverse
105
+ saved_versions.slice(keep, saved_versions.length).each { |v|
106
+ delete_url = data_url + '/' + v
107
+
108
+ @logger.debug("Sending delete #{delete_url}")
109
+
110
+ client.delete(delete_url)
111
+ }
112
+ end
113
+
114
+ 0
115
+ end
116
+
117
+ # @param [Vagrant::Machine] machine
118
+ # @return string
119
+ def make_url(machine)
120
+ name = machine.box.name.gsub(/_+/, '/')
121
+ base_url = Vagrant.server_url(machine.config.vm.box_server_url).to_s
122
+
123
+ raise Vagrant::Errors::BoxServerNotSet unless base_url
124
+
125
+ base_url + '/' + name
126
+ end
127
+
128
+ end
129
+ end
130
+ end
@@ -1,10 +1,10 @@
1
- # #
2
- # This is free software; you can redistribute it and/or modify it under #
3
- # the terms of the MIT- / X11 - License #
4
- # #
5
-
6
- module VagrantPlugins
7
- module Save
8
- VERSION = '0.2.8'
9
- end
10
- end
1
+ # #
2
+ # This is free software; you can redistribute it and/or modify it under #
3
+ # the terms of the MIT- / X11 - License #
4
+ # #
5
+
6
+ module VagrantPlugins
7
+ module Save
8
+ VERSION = '0.2.9'
9
+ end
10
+ end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: vagrant-save
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.8
4
+ version: 0.2.9
5
5
  platform: ruby
6
6
  authors:
7
7
  - Georg Grossberger
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-06-24 00:00:00.000000000 Z
11
+ date: 2015-06-27 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: vagrant-export
@@ -60,7 +60,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
60
60
  version: '0'
61
61
  requirements: []
62
62
  rubyforge_project:
63
- rubygems_version: 2.4.6
63
+ rubygems_version: 2.2.2
64
64
  signing_key:
65
65
  specification_version: 4
66
66
  summary: Export boxes to a boxserver