dockly 1.9.0 → 1.10.0

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 ADDED
@@ -0,0 +1,15 @@
1
+ ---
2
+ !binary "U0hBMQ==":
3
+ metadata.gz: !binary |-
4
+ NGZiYjBlZWZjMzMxOWFhZDMzYzFjZTFiMGQxMWQyZDU5MzI0ZTEzMA==
5
+ data.tar.gz: !binary |-
6
+ MzVmODE2ZjhlMTkxMzhiNzNkMGIxZTk2OWI0MDNmYzVlZGFiMDYyOQ==
7
+ SHA512:
8
+ metadata.gz: !binary |-
9
+ YjVmZjBlNGYzNDNlOGE2ZTNkYjNkM2M4NjYxYTUxMzU2MjQ5MWM5ZWQ3MTFi
10
+ OGU5MzU5OTYzOTNhZWJjM2ZkYTQ2YmM2ZmY2ZDViY2M4OWNiMWIyYTM4OTUy
11
+ OTc0OWZiZjI5NDcxNDc5NjI2ZmIzMmI1ZTM4MDM2ZWEwZmRiNGE=
12
+ data.tar.gz: !binary |-
13
+ ZmE2ZmUyMDVhOTcwNGY2NGY4YTMyNmI2MzI4ZTMxYzU5NjJmMThjM2ViYTYw
14
+ NTBhMjhkZGY1YmYzY2IyMTllYWI5ODk4MzA0NjdlM2U5NGJmODdjYzBmNTg4
15
+ OTUxYzRiMzdhN2NmMmNmM2E2NzZkYWFmNWI1ODI2N2MwODUzYmQ=
data/lib/dockly/deb.rb CHANGED
@@ -26,6 +26,7 @@ class Dockly::Deb
26
26
  end
27
27
 
28
28
  def create_package!
29
+ info "creating package"
29
30
  ensure_present! :build_dir, :deb_build_dir
30
31
  FileUtils.mkdir_p(File.join(build_dir, deb_build_dir))
31
32
  FileUtils.rm(build_path) if File.exist?(build_path)
@@ -41,9 +42,7 @@ class Dockly::Deb
41
42
  end
42
43
 
43
44
  def build
44
- info "creating package"
45
45
  create_package!
46
- info "uploading to s3"
47
46
  upload_to_s3
48
47
  end
49
48
 
@@ -64,6 +63,7 @@ class Dockly::Deb
64
63
  end
65
64
 
66
65
  def upload_to_s3
66
+ info "uploading to s3"
67
67
  return if s3_bucket.nil?
68
68
  raise "Package wasn't created!" unless File.exist?(build_path)
69
69
  info "uploading package to s3"
data/lib/dockly/docker.rb CHANGED
@@ -39,6 +39,21 @@ class Dockly::Docker
39
39
  cleanup([image]) if cleanup_images
40
40
  end
41
41
 
42
+ def export_only
43
+ if image = find_image_by_repotag
44
+ info "Found image by repo:tag: #{repo}:#{tag} - #{image.inspect}"
45
+ export_image(image)
46
+ else
47
+ raise "Could not find image"
48
+ end
49
+ end
50
+
51
+ def find_image_by_repotag
52
+ Docker::Image.all.find do |image|
53
+ image.info["RepoTags"].include?("#{repo}:#{tag}")
54
+ end
55
+ end
56
+
42
57
  def generate_build
43
58
  Docker.options = { :read_timeout => timeout, :write_timeout => timeout }
44
59
  images = {}
@@ -179,7 +194,7 @@ class Dockly::Docker
179
194
  info "running custom build steps, starting with id: #{image.id}"
180
195
  out_image = ::Docker::Image.build("from #{image.id}\n#{build}")
181
196
  info "finished running custom build steps, result id: #{out_image.id}"
182
- out_image.tap { |img| img.tag(:repo => repo, :tag => tag) }
197
+ out_image.tap { |img| img.tag(repo: repo, tag: tag, force: true) }
183
198
  end
184
199
 
185
200
  def repo
@@ -227,6 +242,7 @@ class Dockly::Docker
227
242
  end
228
243
  raise
229
244
  ensure
245
+ container.tap(&:wait).remove if container
230
246
  gzip_output.close if gzip_output
231
247
  end
232
248
 
@@ -53,48 +53,97 @@ namespace :dockly do
53
53
  raise "No dockly.rb found!" unless File.exist?('dockly.rb')
54
54
  end
55
55
 
56
+ prepare_targets = []
57
+ upload_targets = []
56
58
  build_targets = []
57
59
 
58
60
  namespace :deb do
59
61
  Dockly.debs.values.each do |inst|
60
- deb inst.name => 'dockly:load' do |name|
61
- Thread.current[:rake_task] = name
62
- inst.build
62
+ namespace :prepare do
63
+ task inst.name => 'dockly:load' do |name|
64
+ inst.create_package!
65
+ end
63
66
  end
67
+
68
+ namespace :upload do
69
+ deb inst.name => 'dockly:load' do |name|
70
+ inst.upload_to_s3
71
+ end
72
+ end
73
+
74
+ deb inst.name => [
75
+ 'dockly:load',
76
+ "dockly:deb:prepare:#{inst.name}",
77
+ "dockly:deb:upload:#{inst.name}"
78
+ ]
79
+ prepare_targets << "dockly:deb:prepare:#{inst.name}"
80
+ upload_targets << "dockly:deb:upload:#{inst.name}"
64
81
  build_targets << "dockly:deb:#{inst.name}"
65
82
  end
66
83
  end
67
84
 
68
85
  namespace :rpm do
69
86
  Dockly.rpms.values.each do |inst|
70
- rpm inst.name => 'dockly:load' do |name|
71
- Thread.current[:rake_task] = name
72
- inst.build
87
+ namespace :prepare do
88
+ task inst.name => 'dockly:load' do |name|
89
+ inst.create_package!
90
+ end
91
+ end
92
+
93
+ namespace :upload do
94
+ rpm inst.name => 'dockly:load' do |name|
95
+ inst.upload_to_s3
96
+ end
73
97
  end
98
+
99
+ rpm inst.name => [
100
+ 'dockly:load',
101
+ "dockly:rpm:prepare:#{inst.name}",
102
+ "dockly:rpm:upload:#{inst.name}"
103
+ ]
104
+ prepare_targets << "dockly:rpm:prepare:#{inst.name}"
105
+ upload_targets << "dockly:rpm:upload:#{inst.name}"
74
106
  build_targets << "dockly:rpm:#{inst.name}"
75
107
  end
76
108
  end
77
109
 
78
110
  namespace :docker do
79
111
  Dockly.dockers.values.each do |inst|
80
- docker inst.name => 'dockly:load' do
81
- Thread.current[:rake_task] = inst.name
82
- inst.generate!
112
+ # For backwards compatibility
113
+ namespace :noexport do
114
+ task inst.name => "dockly:docker:prepare:#{inst.name}"
83
115
  end
84
116
 
85
- namespace :noexport do
117
+ namespace :prepare do
86
118
  task inst.name => 'dockly:load' do
87
119
  Thread.current[:rake_task] = inst.name
88
120
  inst.generate_build
89
121
  end
90
122
  end
91
123
 
124
+ namespace :upload do
125
+ task inst.name => 'dockly:load' do
126
+ Thread.current[:rake_task] = inst.name
127
+ inst.export_only
128
+ end
129
+ end
130
+
131
+ docker inst.name => [
132
+ 'dockly:load',
133
+ "dockly:docker:prepare:#{inst.name}",
134
+ "dockly:docker:upload:#{inst.name}"
135
+ ]
136
+
92
137
  # Docker image will be generated by 'dockly:deb:package'
93
138
  unless inst.s3_bucket.nil?
139
+ prepare_targets << "dockly:docker:prepare:#{inst.name}"
140
+ upload_targets << "dockly:docker:upload:#{inst.name}"
94
141
  build_targets << "dockly:docker:#{inst.name}"
95
142
  end
96
143
  end
97
144
  end
98
145
 
146
+ multitask :prepare_all => prepare_targets
147
+ multitask :upload_all => upload_targets
99
148
  multitask :build_all => build_targets
100
149
  end
@@ -1,3 +1,3 @@
1
1
  module Dockly
2
- VERSION = '1.9.0'
2
+ VERSION = '1.10.0'
3
3
  end
@@ -46,7 +46,7 @@ describe Dockly::BuildCache::Docker, :docker do
46
46
  it "does not have the file lol" do
47
47
  i = build_cache.execute!
48
48
  output = ""
49
- i.run('ls').attach { |source,chunk| output += chunk }
49
+ i.run('ls').attach(logs: true) { |source,chunk| output += chunk }
50
50
  output.should_not include('lol')
51
51
  end
52
52
  end
@@ -60,8 +60,8 @@ describe Dockly::BuildCache::Docker, :docker do
60
60
 
61
61
  it "does have the file lol" do
62
62
  i = build_cache.execute!
63
- output = i.run('ls /').attach(:stdout => true)
64
- output.first.first.lines.map(&:chomp).should include('lol')
63
+ output = i.run('ls /').attach(stdout: true, logs: true)
64
+ expect(output.first.grep(/lol/)).to_not be_empty
65
65
  end
66
66
  end
67
67
  end
@@ -75,7 +75,7 @@ describe Dockly::BuildCache::Docker, :docker do
75
75
  it "does have the file lol" do
76
76
  i = build_cache.run_build
77
77
  output = ""
78
- i.run('ls').attach { |source,chunk| output += chunk }
78
+ i.run('ls').attach(logs: true) { |source,chunk| output += chunk }
79
79
  output.should include('lol')
80
80
  end
81
81
  end
@@ -156,7 +156,7 @@ describe Dockly::BuildCache::Docker, :docker do
156
156
  context "when parameter command returns successfully" do
157
157
  let(:command) { "uname -r" }
158
158
  it 'returns the output of the parameter_command' do
159
- expect(build_cache.parameter_output(command)).to match(/\A3\.\d{2}\.\d-\d{2}-generic\Z/)
159
+ expect(build_cache.parameter_output(command)).to match(/\A3\.\d{2}\.\d-\d{1,2}-\w+\Z/)
160
160
  end
161
161
  end
162
162
 
@@ -69,6 +69,13 @@ describe Dockly::Deb do
69
69
  end
70
70
  end
71
71
 
72
+ after do
73
+ image = ::Docker::Image.all.find do |image|
74
+ image.info['RepoTags'].include?('deb_test:latest')
75
+ end
76
+ image.remove if image
77
+ end
78
+
72
79
  it 'builds the docker image and adds it to the deb' do
73
80
  subject.create_package!
74
81
  `dpkg --contents #{filename}`
@@ -87,13 +94,20 @@ describe Dockly::Deb do
87
94
 
88
95
  registry :test_docker_registry do
89
96
  auth_config_file '/etc/docker/.dockercfg'
90
- username 'tlunter'
91
- email 'tlunter@gmail.com'
92
- password '******'
97
+ username ENV['DOCKER_USER']
98
+ email ENV['DOCKER_EMAIL']
99
+ password ENV['DOCKER_PASS']
93
100
  end
94
101
  end
95
102
  end
96
103
 
104
+ after do
105
+ image = ::Docker::Image.all.find do |image|
106
+ image.info['RepoTags'].include?("#{ENV['DOCKER_USER']}/deb_test:latest")
107
+ end
108
+ image.remove if image
109
+ end
110
+
97
111
  it 'builds the docker image and adds it to the deb' do
98
112
  subject.create_package!
99
113
  `dpkg --contents #{filename}`
@@ -64,7 +64,16 @@ describe Dockly::Docker do
64
64
  end
65
65
 
66
66
  describe '#import_base', :docker do
67
+ let(:images) { [] }
68
+ let(:docker_file_s3) { 'https://s3.amazonaws.com/swipely-pub/docker-export-ubuntu-latest.tgz' }
67
69
  let(:docker_file) { 'docker-export-ubuntu-latest.tar.gz' }
70
+ let(:container) { Docker::Container.create('Image' => images.last.id, 'Cmd' => ['ls', '-1', '/']) }
71
+ let(:output) { container.tap(&:start).attach(logs: true) }
72
+
73
+ after do
74
+ container.tap(&:wait).remove
75
+ images.last.remove
76
+ end
68
77
 
69
78
  # TODO: since we used to run this w/ Vagrant, we put it all together; break it up
70
79
  it 'works' do
@@ -72,27 +81,21 @@ describe Dockly::Docker do
72
81
  subject.tag 'my-app'
73
82
  unless File.exist?(docker_file)
74
83
  File.open(docker_file, 'wb') do |file|
75
- Excon.get('https://s3.amazonaws.com/swipely-pub/docker-export-ubuntu-latest.tgz',
76
- :response_block => lambda { |chunk, _, _| file.write(chunk) })
84
+ Excon.get(docker_file_s3, response_block: lambda { |chunk, _, _| file.write(chunk) })
77
85
  end
78
86
  end
79
- image = subject.import_base(subject.ensure_tar(docker_file))
80
- image.should_not be_nil
81
- image.id.should_not be_nil
87
+ images << subject.import_base(subject.ensure_tar(docker_file))
88
+ expect(images.last).to_not be_nil
89
+ expect(images.last.id).to_not be_nil
82
90
 
83
91
  # it 'builds'
84
92
  subject.build "run touch /lol"
85
- image = subject.build_image(image)
86
- container = Docker::Container.create('Image' => image.id, 'Cmd' => ['ls', '-1', '/'])
87
- output = container.tap(&:start).attach(logs: true)
88
- output[0].grep(/lol/).should_not be_empty
89
- # TODO: stop resetting the connection, once no longer necessary after attach
90
- Docker.reset_connection!
91
- subject.instance_variable_set(:@connection, Docker.connection)
93
+ images << subject.build_image(images.last)
94
+ expect(output[0].grep(/lol/)).to_not be_empty
92
95
 
93
96
  # it 'exports'
94
- subject.export_image(image)
95
- File.exist?('build/docker/test_docker-image.tgz').should be_true
97
+ subject.export_image(images.last)
98
+ expect(File.exist?('build/docker/test_docker-image.tgz')).to be_true
96
99
  end
97
100
  end
98
101
 
@@ -225,7 +228,10 @@ describe Dockly::Docker do
225
228
  end
226
229
 
227
230
  describe '#export_image_diff', :docker do
231
+ let(:images) { [] }
228
232
  let(:output) { StringIO.new }
233
+ let(:container) { images.last.run('true').tap { |c| c.wait(10) } }
234
+
229
235
  before do
230
236
  subject.instance_eval do
231
237
  import 'https://s3.amazonaws.com/swipely-pub/docker-export-ubuntu-test.tgz'
@@ -234,11 +240,16 @@ describe Dockly::Docker do
234
240
  end
235
241
  end
236
242
 
243
+ after do
244
+ container.remove
245
+ images.last.remove
246
+ end
247
+
237
248
  it "should export only the tar with the new file" do
238
249
  docker_tar = File.absolute_path(subject.ensure_tar(subject.fetch_import))
239
- image = subject.import_base(docker_tar)
240
- image = subject.build_image(image)
241
- container = image.run('true').tap { |c| c.wait(10) }
250
+
251
+ images << subject.import_base(docker_tar)
252
+ images << subject.build_image(images.last)
242
253
  subject.export_image_diff(container, output)
243
254
 
244
255
  expect(output.string).to include('it_worked')
@@ -263,20 +274,18 @@ describe Dockly::Docker do
263
274
  end
264
275
 
265
276
  it 'builds a docker image' do
266
- expect {
267
- subject.generate!
268
- File.exist?(docker_file).should be_true
269
- Dockly::Util::Tar.is_gzip?(docker_file).should be_true
270
- File.size(docker_file).should be > (1024 * 1024)
271
- paths = []
272
- Gem::Package::TarReader.new(gz = Zlib::GzipReader.new(File.new(docker_file))).each do |entry|
273
- paths << entry.header.name
274
- end
275
- paths.size.should be > 1000
276
- paths.should include('sbin/init')
277
- paths.should include('lib/dockly.rb')
278
- paths.should include('it_worked')
279
- }.to_not change { ::Docker::Image.all(:all => true).length }
277
+ expect { subject.generate! }.to_not change { ::Docker::Image.all(:all => true).length }
278
+ expect(File.exist?(docker_file)).to be_true
279
+ expect(Dockly::Util::Tar.is_gzip?(docker_file)).to be_true
280
+ expect(File.size(docker_file)).to be > (1024 * 1024)
281
+ paths = []
282
+ Gem::Package::TarReader.new(Zlib::GzipReader.new(File.new(docker_file))).each do |entry|
283
+ paths << entry.header.name
284
+ end
285
+ expect(paths.size).to be > 1000
286
+ expect(paths).to include('sbin/init')
287
+ expect(paths).to include('lib/dockly.rb')
288
+ expect(paths).to include('it_worked')
280
289
  end
281
290
  end
282
291
 
@@ -293,44 +302,51 @@ describe Dockly::Docker do
293
302
  end
294
303
  end
295
304
 
305
+ after do
306
+ image = ::Docker::Image.all.find do |image|
307
+ image.info['RepoTags'].include?('dockly_test:latest')
308
+ end
309
+ image.remove if image
310
+ end
311
+
296
312
  it 'builds a docker image' do
297
- expect {
298
- subject.generate!
299
- File.exist?(docker_file).should be_true
300
- Dockly::Util::Tar.is_gzip?(docker_file).should be_true
301
- File.size(docker_file).should be > (1024 * 1024)
302
- paths = []
303
- Gem::Package::TarReader.new(gz = Zlib::GzipReader.new(File.new(docker_file))).each do |entry|
304
- paths << entry.header.name
305
- end
306
- paths.size.should be > 1000
307
- paths.should include('sbin/init')
308
- paths.should include('lib/dockly.rb')
309
- paths.should include('it_worked')
310
- }.to change { ::Docker::Image.all(:all => true).length }.by(4)
313
+ expect { subject.generate! }.to change { ::Docker::Image.all(:all => true).length }.by(4)
314
+
315
+ expect(File.exist?(docker_file)).to be_true
316
+ expect(Dockly::Util::Tar.is_gzip?(docker_file)).to be_true
317
+ expect(File.size(docker_file)).to be > (1024 * 1024)
318
+ paths = []
319
+ Gem::Package::TarReader.new(Zlib::GzipReader.new(File.new(docker_file))).each do |entry|
320
+ paths << entry.header.name
321
+ end
322
+ expect(paths.size).to be > 1000
323
+ expect(paths).to include('sbin/init')
324
+ expect(paths).to include('lib/dockly.rb')
325
+ expect(paths).to include('it_worked')
311
326
  end
312
327
  end
313
328
 
314
329
  context 'when there is a registry' do
315
330
  subject {
316
331
  Dockly::Docker.new do
317
- registry_import 'nahiluhmot/base', :tag => 'latest'
332
+ registry_import 'tianon/true', :tag => 'latest'
318
333
  git_archive '.'
319
- build "run touch /it_worked"
334
+ build 'RUN ["/true", ""]'
320
335
  repository 'dockly_test'
321
336
  build_dir 'build/docker'
322
337
 
323
338
  registry do
324
- username 'tlunter'
325
- email 'tlunter@gmail.com'
326
- password '******'
339
+ username ENV['DOCKER_USER']
340
+ email ENV['DOCKER_EMAIL']
341
+ password ENV['DOCKER_PASS']
327
342
  end
328
343
  end
329
344
  }
330
345
 
331
346
  it 'pushes the image to the registry instead of exporting it' do
332
- subject.generate!
333
- expect { ::Docker::Image.build('from nahiluhmot/dockly_test') }.to_not raise_error
347
+ image = subject.generate_build
348
+ expect { ::Docker::Image.build("from #{ENV['DOCKER_USER']}/dockly_test") }.to_not raise_error
349
+ image.remove unless image.nil?
334
350
  end
335
351
  end
336
352
  end
@@ -56,6 +56,13 @@ describe Dockly::Rpm do
56
56
  end
57
57
  end
58
58
 
59
+ after do
60
+ image = ::Docker::Image.all.find do |image|
61
+ image.info['RepoTags'].include?('rpm_test:latest')
62
+ end
63
+ image.remove if image
64
+ end
65
+
59
66
  it 'builds the docker image and adds it to the rpm' do
60
67
  subject.create_package!
61
68
  `rpm -qpl #{filename}`
@@ -74,13 +81,20 @@ describe Dockly::Rpm do
74
81
 
75
82
  registry :test_docker_registry do
76
83
  auth_config_file '/etc/docker/.dockercfg'
77
- username 'tlunter'
78
- email 'tlunter@gmail.com'
79
- password '******'
84
+ username ENV['DOCKER_USER']
85
+ email ENV['DOCKER_EMAIL']
86
+ password ENV['DOCKER_PASS']
80
87
  end
81
88
  end
82
89
  end
83
90
 
91
+ after do
92
+ image = ::Docker::Image.all.find do |image|
93
+ image.info['RepoTags'].include?("#{ENV['DOCKER_USER']}/rpm_test:latest")
94
+ end
95
+ image.remove if image
96
+ end
97
+
84
98
  it 'builds the docker image and adds it to the rpm' do
85
99
  subject.create_package!
86
100
  `rpm -qpl #{filename}`
metadata CHANGED
@@ -1,8 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: dockly
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.9.0
5
- prerelease:
4
+ version: 1.10.0
6
5
  platform: ruby
7
6
  authors:
8
7
  - Swipely, Inc.
@@ -14,7 +13,6 @@ dependencies:
14
13
  - !ruby/object:Gem::Dependency
15
14
  name: clamp
16
15
  requirement: !ruby/object:Gem::Requirement
17
- none: false
18
16
  requirements:
19
17
  - - ~>
20
18
  - !ruby/object:Gem::Version
@@ -22,7 +20,6 @@ dependencies:
22
20
  type: :runtime
23
21
  prerelease: false
24
22
  version_requirements: !ruby/object:Gem::Requirement
25
- none: false
26
23
  requirements:
27
24
  - - ~>
28
25
  - !ruby/object:Gem::Version
@@ -30,7 +27,6 @@ dependencies:
30
27
  - !ruby/object:Gem::Dependency
31
28
  name: docker-api
32
29
  requirement: !ruby/object:Gem::Requirement
33
- none: false
34
30
  requirements:
35
31
  - - ! '>='
36
32
  - !ruby/object:Gem::Version
@@ -38,7 +34,6 @@ dependencies:
38
34
  type: :runtime
39
35
  prerelease: false
40
36
  version_requirements: !ruby/object:Gem::Requirement
41
- none: false
42
37
  requirements:
43
38
  - - ! '>='
44
39
  - !ruby/object:Gem::Version
@@ -46,7 +41,6 @@ dependencies:
46
41
  - !ruby/object:Gem::Dependency
47
42
  name: dockly-util
48
43
  requirement: !ruby/object:Gem::Requirement
49
- none: false
50
44
  requirements:
51
45
  - - ~>
52
46
  - !ruby/object:Gem::Version
@@ -54,7 +48,6 @@ dependencies:
54
48
  type: :runtime
55
49
  prerelease: false
56
50
  version_requirements: !ruby/object:Gem::Requirement
57
- none: false
58
51
  requirements:
59
52
  - - ~>
60
53
  - !ruby/object:Gem::Version
@@ -62,7 +55,6 @@ dependencies:
62
55
  - !ruby/object:Gem::Dependency
63
56
  name: excon
64
57
  requirement: !ruby/object:Gem::Requirement
65
- none: false
66
58
  requirements:
67
59
  - - ! '>='
68
60
  - !ruby/object:Gem::Version
@@ -70,7 +62,6 @@ dependencies:
70
62
  type: :runtime
71
63
  prerelease: false
72
64
  version_requirements: !ruby/object:Gem::Requirement
73
- none: false
74
65
  requirements:
75
66
  - - ! '>='
76
67
  - !ruby/object:Gem::Version
@@ -78,7 +69,6 @@ dependencies:
78
69
  - !ruby/object:Gem::Dependency
79
70
  name: fog
80
71
  requirement: !ruby/object:Gem::Requirement
81
- none: false
82
72
  requirements:
83
73
  - - ~>
84
74
  - !ruby/object:Gem::Version
@@ -86,7 +76,6 @@ dependencies:
86
76
  type: :runtime
87
77
  prerelease: false
88
78
  version_requirements: !ruby/object:Gem::Requirement
89
- none: false
90
79
  requirements:
91
80
  - - ~>
92
81
  - !ruby/object:Gem::Version
@@ -94,7 +83,6 @@ dependencies:
94
83
  - !ruby/object:Gem::Dependency
95
84
  name: foreman
96
85
  requirement: !ruby/object:Gem::Requirement
97
- none: false
98
86
  requirements:
99
87
  - - ! '>='
100
88
  - !ruby/object:Gem::Version
@@ -102,7 +90,6 @@ dependencies:
102
90
  type: :runtime
103
91
  prerelease: false
104
92
  version_requirements: !ruby/object:Gem::Requirement
105
- none: false
106
93
  requirements:
107
94
  - - ! '>='
108
95
  - !ruby/object:Gem::Version
@@ -110,7 +97,6 @@ dependencies:
110
97
  - !ruby/object:Gem::Dependency
111
98
  name: fpm
112
99
  requirement: !ruby/object:Gem::Requirement
113
- none: false
114
100
  requirements:
115
101
  - - ~>
116
102
  - !ruby/object:Gem::Version
@@ -118,7 +104,6 @@ dependencies:
118
104
  type: :runtime
119
105
  prerelease: false
120
106
  version_requirements: !ruby/object:Gem::Requirement
121
- none: false
122
107
  requirements:
123
108
  - - ~>
124
109
  - !ruby/object:Gem::Version
@@ -126,7 +111,6 @@ dependencies:
126
111
  - !ruby/object:Gem::Dependency
127
112
  name: grit
128
113
  requirement: !ruby/object:Gem::Requirement
129
- none: false
130
114
  requirements:
131
115
  - - ! '>='
132
116
  - !ruby/object:Gem::Version
@@ -134,7 +118,6 @@ dependencies:
134
118
  type: :runtime
135
119
  prerelease: false
136
120
  version_requirements: !ruby/object:Gem::Requirement
137
- none: false
138
121
  requirements:
139
122
  - - ! '>='
140
123
  - !ruby/object:Gem::Version
@@ -142,7 +125,6 @@ dependencies:
142
125
  - !ruby/object:Gem::Dependency
143
126
  name: cane
144
127
  requirement: !ruby/object:Gem::Requirement
145
- none: false
146
128
  requirements:
147
129
  - - ! '>='
148
130
  - !ruby/object:Gem::Version
@@ -150,7 +132,6 @@ dependencies:
150
132
  type: :development
151
133
  prerelease: false
152
134
  version_requirements: !ruby/object:Gem::Requirement
153
- none: false
154
135
  requirements:
155
136
  - - ! '>='
156
137
  - !ruby/object:Gem::Version
@@ -158,7 +139,6 @@ dependencies:
158
139
  - !ruby/object:Gem::Dependency
159
140
  name: pry
160
141
  requirement: !ruby/object:Gem::Requirement
161
- none: false
162
142
  requirements:
163
143
  - - ! '>='
164
144
  - !ruby/object:Gem::Version
@@ -166,7 +146,6 @@ dependencies:
166
146
  type: :development
167
147
  prerelease: false
168
148
  version_requirements: !ruby/object:Gem::Requirement
169
- none: false
170
149
  requirements:
171
150
  - - ! '>='
172
151
  - !ruby/object:Gem::Version
@@ -174,7 +153,6 @@ dependencies:
174
153
  - !ruby/object:Gem::Dependency
175
154
  name: rake
176
155
  requirement: !ruby/object:Gem::Requirement
177
- none: false
178
156
  requirements:
179
157
  - - ! '>='
180
158
  - !ruby/object:Gem::Version
@@ -182,7 +160,6 @@ dependencies:
182
160
  type: :development
183
161
  prerelease: false
184
162
  version_requirements: !ruby/object:Gem::Requirement
185
- none: false
186
163
  requirements:
187
164
  - - ! '>='
188
165
  - !ruby/object:Gem::Version
@@ -190,7 +167,6 @@ dependencies:
190
167
  - !ruby/object:Gem::Dependency
191
168
  name: rspec
192
169
  requirement: !ruby/object:Gem::Requirement
193
- none: false
194
170
  requirements:
195
171
  - - ~>
196
172
  - !ruby/object:Gem::Version
@@ -198,7 +174,6 @@ dependencies:
198
174
  type: :development
199
175
  prerelease: false
200
176
  version_requirements: !ruby/object:Gem::Requirement
201
- none: false
202
177
  requirements:
203
178
  - - ~>
204
179
  - !ruby/object:Gem::Version
@@ -206,7 +181,6 @@ dependencies:
206
181
  - !ruby/object:Gem::Dependency
207
182
  name: vcr
208
183
  requirement: !ruby/object:Gem::Requirement
209
- none: false
210
184
  requirements:
211
185
  - - ! '>='
212
186
  - !ruby/object:Gem::Version
@@ -214,7 +188,6 @@ dependencies:
214
188
  type: :development
215
189
  prerelease: false
216
190
  version_requirements: !ruby/object:Gem::Requirement
217
- none: false
218
191
  requirements:
219
192
  - - ! '>='
220
193
  - !ruby/object:Gem::Version
@@ -222,7 +195,6 @@ dependencies:
222
195
  - !ruby/object:Gem::Dependency
223
196
  name: webmock
224
197
  requirement: !ruby/object:Gem::Requirement
225
- none: false
226
198
  requirements:
227
199
  - - ! '>='
228
200
  - !ruby/object:Gem::Version
@@ -230,7 +202,6 @@ dependencies:
230
202
  type: :development
231
203
  prerelease: false
232
204
  version_requirements: !ruby/object:Gem::Requirement
233
- none: false
234
205
  requirements:
235
206
  - - ! '>='
236
207
  - !ruby/object:Gem::Version
@@ -311,31 +282,29 @@ files:
311
282
  - spec/fixtures/test-2.tar.gz
312
283
  - spec/fixtures/test-3.tar
313
284
  - spec/spec_helper.rb
314
- - spec/support/vcr.rb
315
285
  homepage: https://github.com/swipely/dockly
316
286
  licenses:
317
287
  - MIT
288
+ metadata: {}
318
289
  post_install_message:
319
290
  rdoc_options: []
320
291
  require_paths:
321
292
  - lib
322
293
  required_ruby_version: !ruby/object:Gem::Requirement
323
- none: false
324
294
  requirements:
325
295
  - - ! '>='
326
296
  - !ruby/object:Gem::Version
327
297
  version: '0'
328
298
  required_rubygems_version: !ruby/object:Gem::Requirement
329
- none: false
330
299
  requirements:
331
300
  - - ! '>='
332
301
  - !ruby/object:Gem::Version
333
302
  version: '0'
334
303
  requirements: []
335
304
  rubyforge_project:
336
- rubygems_version: 1.8.23.2
305
+ rubygems_version: 2.4.6
337
306
  signing_key:
338
- specification_version: 3
307
+ specification_version: 4
339
308
  summary: Packaging made easy
340
309
  test_files:
341
310
  - spec/dockly/aws/s3_writer_spec.rb
@@ -361,5 +330,3 @@ test_files:
361
330
  - spec/fixtures/test-2.tar.gz
362
331
  - spec/fixtures/test-3.tar
363
332
  - spec/spec_helper.rb
364
- - spec/support/vcr.rb
365
- has_rdoc:
data/spec/support/vcr.rb DELETED
@@ -1,11 +0,0 @@
1
- require 'webmock'
2
- require 'vcr'
3
-
4
- WebMock.disable_net_connect!
5
-
6
- VCR.configure do |c|
7
- c.allow_http_connections_when_no_cassette = true
8
- c.hook_into :webmock
9
- c.cassette_library_dir = File.join(File.dirname(File.dirname(__FILE__)), 'vcr')
10
- c.configure_rspec_metadata!
11
- end