dapp 0.0.24 → 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (78) hide show
  1. checksums.yaml +13 -5
  2. data/bin/dapp +17 -1
  3. data/config/en/common.yml +23 -0
  4. data/config/en/net_status.yml +24 -0
  5. data/lib/dapp.rb +68 -12
  6. data/lib/dapp/application.rb +57 -0
  7. data/lib/dapp/application/git_artifact.rb +26 -0
  8. data/lib/dapp/application/logging.rb +120 -0
  9. data/lib/dapp/application/path.rb +31 -0
  10. data/lib/dapp/application/tags.rb +65 -0
  11. data/lib/dapp/build/stage/app_install.rb +19 -0
  12. data/lib/dapp/build/stage/app_setup.rb +19 -0
  13. data/lib/dapp/build/stage/base.rb +106 -0
  14. data/lib/dapp/build/stage/from.rb +40 -0
  15. data/lib/dapp/build/stage/infra_install.rb +23 -0
  16. data/lib/dapp/build/stage/infra_setup.rb +19 -0
  17. data/lib/dapp/build/stage/source_1.rb +31 -0
  18. data/lib/dapp/build/stage/source_1_archive.rb +31 -0
  19. data/lib/dapp/build/stage/source_2.rb +20 -0
  20. data/lib/dapp/build/stage/source_3.rb +27 -0
  21. data/lib/dapp/build/stage/source_4.rb +31 -0
  22. data/lib/dapp/build/stage/source_5.rb +51 -0
  23. data/lib/dapp/build/stage/source_base.rb +109 -0
  24. data/lib/dapp/builder/base.rb +44 -0
  25. data/lib/dapp/builder/chef.rb +242 -0
  26. data/lib/dapp/builder/chef/berksfile.rb +54 -0
  27. data/lib/dapp/builder/shell.rb +16 -0
  28. data/lib/dapp/cli.rb +10 -44
  29. data/lib/dapp/cli/base.rb +55 -0
  30. data/lib/dapp/cli/build.rb +6 -140
  31. data/lib/dapp/cli/flush.rb +19 -0
  32. data/lib/dapp/cli/flush/build_cache.rb +26 -0
  33. data/lib/dapp/cli/flush/stage_cache.rb +23 -0
  34. data/lib/dapp/cli/list.rb +19 -0
  35. data/lib/dapp/cli/push.rb +59 -0
  36. data/lib/dapp/cli/smartpush.rb +19 -0
  37. data/lib/dapp/config/application.rb +98 -0
  38. data/lib/dapp/config/chef.rb +20 -0
  39. data/lib/dapp/config/docker.rb +39 -0
  40. data/lib/dapp/config/git_artifact.rb +78 -0
  41. data/lib/dapp/config/main.rb +23 -0
  42. data/lib/dapp/config/shell.rb +40 -0
  43. data/lib/dapp/controller.rb +103 -0
  44. data/lib/dapp/docker_image.rb +51 -0
  45. data/lib/dapp/error/application.rb +6 -0
  46. data/lib/dapp/error/base.rb +10 -0
  47. data/lib/dapp/error/build.rb +6 -0
  48. data/lib/dapp/error/config.rb +6 -0
  49. data/lib/dapp/error/controller.rb +6 -0
  50. data/lib/dapp/error/shellout.rb +6 -0
  51. data/lib/dapp/filelock.rb +1 -1
  52. data/lib/dapp/git_artifact.rb +43 -272
  53. data/lib/dapp/git_repo/base.rb +10 -12
  54. data/lib/dapp/git_repo/own.rb +7 -3
  55. data/lib/dapp/git_repo/remote.rb +14 -20
  56. data/lib/dapp/helper/cli.rb +66 -0
  57. data/lib/dapp/helper/i18n.rb +20 -0
  58. data/lib/dapp/helper/log.rb +72 -0
  59. data/lib/dapp/helper/paint.rb +27 -0
  60. data/lib/dapp/helper/sha256.rb +14 -0
  61. data/lib/dapp/helper/shellout.rb +41 -0
  62. data/lib/dapp/helper/streaming.rb +49 -0
  63. data/lib/dapp/helper/trivia.rb +27 -0
  64. data/lib/dapp/stage_image.rb +98 -0
  65. data/lib/dapp/version.rb +3 -1
  66. metadata +207 -51
  67. data/lib/dapp/atomizer.rb +0 -56
  68. data/lib/dapp/builder.rb +0 -230
  69. data/lib/dapp/builder/cascade_tagging.rb +0 -48
  70. data/lib/dapp/builder/centos7.rb +0 -47
  71. data/lib/dapp/builder/chefify.rb +0 -107
  72. data/lib/dapp/builder/ci_tagging.rb +0 -53
  73. data/lib/dapp/builder/git_tagging.rb +0 -21
  74. data/lib/dapp/builder/manual_tagging.rb +0 -22
  75. data/lib/dapp/builder/ubuntu1404.rb +0 -20
  76. data/lib/dapp/builder/ubuntu1604.rb +0 -20
  77. data/lib/dapp/docker.rb +0 -207
  78. data/lib/dapp/git_repo/chronicler.rb +0 -44
@@ -0,0 +1,98 @@
1
+ module Dapp
2
+ # StageImage
3
+ class StageImage < DockerImage
4
+ def initialize(name:, built_id: nil, from: nil)
5
+ @bash_commands = []
6
+ @options = {}
7
+ @container_name = SecureRandom.hex
8
+ @built_id = built_id
9
+ super(name: name, from: from)
10
+ end
11
+
12
+ def add_expose(value)
13
+ add_option(:expose, value)
14
+ end
15
+
16
+ def add_volume(value)
17
+ add_option(:volume, value)
18
+ end
19
+
20
+ def add_volumes_from(value)
21
+ add_option(:'volumes-from', value)
22
+ end
23
+
24
+ def add_env(value)
25
+ add_option(:env, value)
26
+ end
27
+
28
+ def add_workdir(value)
29
+ add_option(:workdir, value)
30
+ end
31
+
32
+ def add_commands(*commands)
33
+ @bash_commands += commands.flatten
34
+ end
35
+
36
+ def built_id
37
+ @built_id ||= id
38
+ end
39
+
40
+ def build!(log_verbose: false, log_time: false)
41
+ run!(log_verbose: log_verbose, log_time: log_time)
42
+ @built_id = commit!
43
+ ensure
44
+ shellout("docker rm #{container_name}")
45
+ end
46
+
47
+ def export!(name, log_verbose: false, log_time: false)
48
+ image = self.class.new(built_id: built_id, name: name)
49
+ image.tag!(log_verbose: log_verbose, log_time: log_time)
50
+ image.push!(log_verbose: log_verbose, log_time: log_time)
51
+ image.untag!
52
+ end
53
+
54
+ def tag!(log_verbose: false, log_time: false)
55
+ unless (existed_id = id).nil?
56
+ fail Error::Build, code: :image_already_tagged if built_id != existed_id
57
+ return
58
+ end
59
+ shellout!("docker tag #{built_id} #{name}", log_verbose: log_verbose, log_time: log_time)
60
+ end
61
+
62
+ protected
63
+
64
+ attr_reader :container_name
65
+ attr_reader :bash_commands
66
+ attr_reader :options
67
+
68
+ def add_option(key, value)
69
+ options[key] = (options[key].nil? ? value : (Array(options[key]) << value).flatten)
70
+ end
71
+
72
+ def run!(log_verbose: false, log_time: false)
73
+ fail Error::Build, code: :built_id_not_defined if from.built_id.nil?
74
+ shellout!("docker run #{prepared_options} --name=#{container_name} #{from.built_id} #{prepared_bash_command}",
75
+ log_verbose: log_verbose, log_time: log_time)
76
+ end
77
+
78
+ def commit!
79
+ shellout!("docker commit #{container_name}").stdout.strip
80
+ end
81
+
82
+ def prepared_options
83
+ options.map { |k, vals| Array(vals).map { |v| "--#{k}=#{v}" }.join(' ') }.join(' ')
84
+ end
85
+
86
+ def prepared_bash_command
87
+ if bash_commands.empty?
88
+ 'true'
89
+ else
90
+ "bash -ec 'eval $(echo #{Base64.strict_encode64(prepared_commands.join(' && '))} | base64 --decode)'"
91
+ end
92
+ end
93
+
94
+ def prepared_commands
95
+ bash_commands.map { |command| command.gsub(/^[\ |;]*|[\ |;]*$/, '') } # strip [' ', ';']
96
+ end
97
+ end # StageImage
98
+ end # Dapp
data/lib/dapp/version.rb CHANGED
@@ -1,3 +1,5 @@
1
+ # Version
1
2
  module Dapp
2
- VERSION = '0.0.24'.freeze
3
+ VERSION = '0.1.0'.freeze
4
+ BUILD_CACHE_VERSION = 1
3
5
  end
metadata CHANGED
@@ -1,205 +1,319 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: dapp
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.24
4
+ version: 0.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Dmitry Stolyarov
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-01-16 00:00:00.000000000 Z
11
+ date: 2016-07-25 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: mixlib-shellout
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - ">="
17
+ - - ! '>='
18
18
  - !ruby/object:Gem::Version
19
19
  version: '1.0'
20
- - - "<"
20
+ - - <
21
21
  - !ruby/object:Gem::Version
22
22
  version: '3.0'
23
23
  type: :runtime
24
24
  prerelease: false
25
25
  version_requirements: !ruby/object:Gem::Requirement
26
26
  requirements:
27
- - - ">="
27
+ - - ! '>='
28
28
  - !ruby/object:Gem::Version
29
29
  version: '1.0'
30
- - - "<"
30
+ - - <
31
31
  - !ruby/object:Gem::Version
32
32
  version: '3.0'
33
33
  - !ruby/object:Gem::Dependency
34
34
  name: mixlib-cli
35
35
  requirement: !ruby/object:Gem::Requirement
36
36
  requirements:
37
- - - ">="
37
+ - - ! '>='
38
38
  - !ruby/object:Gem::Version
39
39
  version: '1.0'
40
- - - "<"
40
+ - - <
41
41
  - !ruby/object:Gem::Version
42
42
  version: '3.0'
43
43
  type: :runtime
44
44
  prerelease: false
45
45
  version_requirements: !ruby/object:Gem::Requirement
46
46
  requirements:
47
- - - ">="
47
+ - - ! '>='
48
48
  - !ruby/object:Gem::Version
49
49
  version: '1.0'
50
- - - "<"
50
+ - - <
51
51
  - !ruby/object:Gem::Version
52
52
  version: '3.0'
53
+ - !ruby/object:Gem::Dependency
54
+ name: excon
55
+ requirement: !ruby/object:Gem::Requirement
56
+ requirements:
57
+ - - ! '>='
58
+ - !ruby/object:Gem::Version
59
+ version: 0.45.4
60
+ - - <
61
+ - !ruby/object:Gem::Version
62
+ version: '1.0'
63
+ type: :runtime
64
+ prerelease: false
65
+ version_requirements: !ruby/object:Gem::Requirement
66
+ requirements:
67
+ - - ! '>='
68
+ - !ruby/object:Gem::Version
69
+ version: 0.45.4
70
+ - - <
71
+ - !ruby/object:Gem::Version
72
+ version: '1.0'
73
+ - !ruby/object:Gem::Dependency
74
+ name: net_status
75
+ requirement: !ruby/object:Gem::Requirement
76
+ requirements:
77
+ - - ! '>='
78
+ - !ruby/object:Gem::Version
79
+ version: 0.1.2
80
+ - - <
81
+ - !ruby/object:Gem::Version
82
+ version: '1.0'
83
+ type: :runtime
84
+ prerelease: false
85
+ version_requirements: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - ! '>='
88
+ - !ruby/object:Gem::Version
89
+ version: 0.1.2
90
+ - - <
91
+ - !ruby/object:Gem::Version
92
+ version: '1.0'
93
+ - !ruby/object:Gem::Dependency
94
+ name: i18n
95
+ requirement: !ruby/object:Gem::Requirement
96
+ requirements:
97
+ - - ~>
98
+ - !ruby/object:Gem::Version
99
+ version: '0.7'
100
+ type: :runtime
101
+ prerelease: false
102
+ version_requirements: !ruby/object:Gem::Requirement
103
+ requirements:
104
+ - - ~>
105
+ - !ruby/object:Gem::Version
106
+ version: '0.7'
107
+ - !ruby/object:Gem::Dependency
108
+ name: paint
109
+ requirement: !ruby/object:Gem::Requirement
110
+ requirements:
111
+ - - ~>
112
+ - !ruby/object:Gem::Version
113
+ version: '1.0'
114
+ - - ! '>='
115
+ - !ruby/object:Gem::Version
116
+ version: 1.0.1
117
+ type: :runtime
118
+ prerelease: false
119
+ version_requirements: !ruby/object:Gem::Requirement
120
+ requirements:
121
+ - - ~>
122
+ - !ruby/object:Gem::Version
123
+ version: '1.0'
124
+ - - ! '>='
125
+ - !ruby/object:Gem::Version
126
+ version: 1.0.1
53
127
  - !ruby/object:Gem::Dependency
54
128
  name: bundler
55
129
  requirement: !ruby/object:Gem::Requirement
56
130
  requirements:
57
- - - "~>"
131
+ - - ~>
58
132
  - !ruby/object:Gem::Version
59
133
  version: '1.7'
60
134
  type: :development
61
135
  prerelease: false
62
136
  version_requirements: !ruby/object:Gem::Requirement
63
137
  requirements:
64
- - - "~>"
138
+ - - ~>
65
139
  - !ruby/object:Gem::Version
66
140
  version: '1.7'
67
141
  - !ruby/object:Gem::Dependency
68
142
  name: rake
69
143
  requirement: !ruby/object:Gem::Requirement
70
144
  requirements:
71
- - - "~>"
145
+ - - ~>
72
146
  - !ruby/object:Gem::Version
73
147
  version: '10.0'
74
148
  type: :development
75
149
  prerelease: false
76
150
  version_requirements: !ruby/object:Gem::Requirement
77
151
  requirements:
78
- - - "~>"
152
+ - - ~>
79
153
  - !ruby/object:Gem::Version
80
154
  version: '10.0'
81
155
  - !ruby/object:Gem::Dependency
82
156
  name: rspec
83
157
  requirement: !ruby/object:Gem::Requirement
84
158
  requirements:
85
- - - "~>"
159
+ - - ~>
86
160
  - !ruby/object:Gem::Version
87
161
  version: '3.4'
88
- - - ">="
162
+ - - ! '>='
89
163
  - !ruby/object:Gem::Version
90
164
  version: 3.4.0
91
165
  type: :development
92
166
  prerelease: false
93
167
  version_requirements: !ruby/object:Gem::Requirement
94
168
  requirements:
95
- - - "~>"
169
+ - - ~>
96
170
  - !ruby/object:Gem::Version
97
171
  version: '3.4'
98
- - - ">="
172
+ - - ! '>='
99
173
  - !ruby/object:Gem::Version
100
174
  version: 3.4.0
101
175
  - !ruby/object:Gem::Dependency
102
176
  name: test_construct
103
177
  requirement: !ruby/object:Gem::Requirement
104
178
  requirements:
105
- - - "~>"
179
+ - - ~>
106
180
  - !ruby/object:Gem::Version
107
181
  version: '2'
108
182
  type: :development
109
183
  prerelease: false
110
184
  version_requirements: !ruby/object:Gem::Requirement
111
185
  requirements:
112
- - - "~>"
186
+ - - ~>
113
187
  - !ruby/object:Gem::Version
114
188
  version: '2'
115
189
  - !ruby/object:Gem::Dependency
116
190
  name: timecop
117
191
  requirement: !ruby/object:Gem::Requirement
118
192
  requirements:
119
- - - "~>"
193
+ - - ~>
120
194
  - !ruby/object:Gem::Version
121
195
  version: '0.8'
122
196
  type: :development
123
197
  prerelease: false
124
198
  version_requirements: !ruby/object:Gem::Requirement
125
199
  requirements:
126
- - - "~>"
200
+ - - ~>
127
201
  - !ruby/object:Gem::Version
128
202
  version: '0.8'
129
203
  - !ruby/object:Gem::Dependency
130
204
  name: pry
131
205
  requirement: !ruby/object:Gem::Requirement
132
206
  requirements:
133
- - - ">="
207
+ - - ! '>='
134
208
  - !ruby/object:Gem::Version
135
209
  version: 0.10.3
136
- - - "<"
210
+ - - <
137
211
  - !ruby/object:Gem::Version
138
212
  version: '1.0'
139
213
  type: :development
140
214
  prerelease: false
141
215
  version_requirements: !ruby/object:Gem::Requirement
142
216
  requirements:
143
- - - ">="
217
+ - - ! '>='
144
218
  - !ruby/object:Gem::Version
145
219
  version: 0.10.3
146
- - - "<"
220
+ - - <
147
221
  - !ruby/object:Gem::Version
148
222
  version: '1.0'
149
223
  - !ruby/object:Gem::Dependency
150
224
  name: pry-stack_explorer
151
225
  requirement: !ruby/object:Gem::Requirement
152
226
  requirements:
153
- - - ">="
227
+ - - ! '>='
154
228
  - !ruby/object:Gem::Version
155
229
  version: 0.4.9.2
156
- - - "<"
230
+ - - <
157
231
  - !ruby/object:Gem::Version
158
232
  version: '1.0'
159
233
  type: :development
160
234
  prerelease: false
161
235
  version_requirements: !ruby/object:Gem::Requirement
162
236
  requirements:
163
- - - ">="
237
+ - - ! '>='
164
238
  - !ruby/object:Gem::Version
165
239
  version: 0.4.9.2
166
- - - "<"
240
+ - - <
167
241
  - !ruby/object:Gem::Version
168
242
  version: '1.0'
169
243
  - !ruby/object:Gem::Dependency
170
244
  name: travis
171
245
  requirement: !ruby/object:Gem::Requirement
172
246
  requirements:
173
- - - "~>"
247
+ - - ~>
174
248
  - !ruby/object:Gem::Version
175
249
  version: '1.8'
176
- - - ">="
250
+ - - ! '>='
177
251
  - !ruby/object:Gem::Version
178
252
  version: 1.8.2
179
253
  type: :development
180
254
  prerelease: false
181
255
  version_requirements: !ruby/object:Gem::Requirement
182
256
  requirements:
183
- - - "~>"
257
+ - - ~>
184
258
  - !ruby/object:Gem::Version
185
259
  version: '1.8'
186
- - - ">="
260
+ - - ! '>='
187
261
  - !ruby/object:Gem::Version
188
262
  version: 1.8.2
189
263
  - !ruby/object:Gem::Dependency
190
264
  name: codeclimate-test-reporter
191
265
  requirement: !ruby/object:Gem::Requirement
192
266
  requirements:
193
- - - "~>"
267
+ - - ~>
194
268
  - !ruby/object:Gem::Version
195
269
  version: '0.5'
196
270
  type: :development
197
271
  prerelease: false
198
272
  version_requirements: !ruby/object:Gem::Requirement
199
273
  requirements:
200
- - - "~>"
274
+ - - ~>
201
275
  - !ruby/object:Gem::Version
202
276
  version: '0.5'
277
+ - !ruby/object:Gem::Dependency
278
+ name: activesupport
279
+ requirement: !ruby/object:Gem::Requirement
280
+ requirements:
281
+ - - ~>
282
+ - !ruby/object:Gem::Version
283
+ version: '4.2'
284
+ - - ! '>='
285
+ - !ruby/object:Gem::Version
286
+ version: 4.2.6
287
+ type: :development
288
+ prerelease: false
289
+ version_requirements: !ruby/object:Gem::Requirement
290
+ requirements:
291
+ - - ~>
292
+ - !ruby/object:Gem::Version
293
+ version: '4.2'
294
+ - - ! '>='
295
+ - !ruby/object:Gem::Version
296
+ version: 4.2.6
297
+ - !ruby/object:Gem::Dependency
298
+ name: recursive-open-struct
299
+ requirement: !ruby/object:Gem::Requirement
300
+ requirements:
301
+ - - ~>
302
+ - !ruby/object:Gem::Version
303
+ version: '1.0'
304
+ - - ! '>='
305
+ - !ruby/object:Gem::Version
306
+ version: 1.0.1
307
+ type: :development
308
+ prerelease: false
309
+ version_requirements: !ruby/object:Gem::Requirement
310
+ requirements:
311
+ - - ~>
312
+ - !ruby/object:Gem::Version
313
+ version: '1.0'
314
+ - - ! '>='
315
+ - !ruby/object:Gem::Version
316
+ version: 1.0.1
203
317
  description: Build docker packaged apps using chef or shell
204
318
  email:
205
319
  - dmitry.stolyarov@flant.com
@@ -209,26 +323,68 @@ extensions: []
209
323
  extra_rdoc_files: []
210
324
  files:
211
325
  - bin/dapp
326
+ - config/en/common.yml
327
+ - config/en/net_status.yml
212
328
  - lib/dapp.rb
213
- - lib/dapp/atomizer.rb
214
- - lib/dapp/builder.rb
215
- - lib/dapp/builder/cascade_tagging.rb
216
- - lib/dapp/builder/centos7.rb
217
- - lib/dapp/builder/chefify.rb
218
- - lib/dapp/builder/ci_tagging.rb
219
- - lib/dapp/builder/git_tagging.rb
220
- - lib/dapp/builder/manual_tagging.rb
221
- - lib/dapp/builder/ubuntu1404.rb
222
- - lib/dapp/builder/ubuntu1604.rb
329
+ - lib/dapp/application.rb
330
+ - lib/dapp/application/git_artifact.rb
331
+ - lib/dapp/application/logging.rb
332
+ - lib/dapp/application/path.rb
333
+ - lib/dapp/application/tags.rb
334
+ - lib/dapp/build/stage/app_install.rb
335
+ - lib/dapp/build/stage/app_setup.rb
336
+ - lib/dapp/build/stage/base.rb
337
+ - lib/dapp/build/stage/from.rb
338
+ - lib/dapp/build/stage/infra_install.rb
339
+ - lib/dapp/build/stage/infra_setup.rb
340
+ - lib/dapp/build/stage/source_1.rb
341
+ - lib/dapp/build/stage/source_1_archive.rb
342
+ - lib/dapp/build/stage/source_2.rb
343
+ - lib/dapp/build/stage/source_3.rb
344
+ - lib/dapp/build/stage/source_4.rb
345
+ - lib/dapp/build/stage/source_5.rb
346
+ - lib/dapp/build/stage/source_base.rb
347
+ - lib/dapp/builder/base.rb
348
+ - lib/dapp/builder/chef.rb
349
+ - lib/dapp/builder/chef/berksfile.rb
350
+ - lib/dapp/builder/shell.rb
223
351
  - lib/dapp/cli.rb
352
+ - lib/dapp/cli/base.rb
224
353
  - lib/dapp/cli/build.rb
225
- - lib/dapp/docker.rb
354
+ - lib/dapp/cli/flush.rb
355
+ - lib/dapp/cli/flush/build_cache.rb
356
+ - lib/dapp/cli/flush/stage_cache.rb
357
+ - lib/dapp/cli/list.rb
358
+ - lib/dapp/cli/push.rb
359
+ - lib/dapp/cli/smartpush.rb
360
+ - lib/dapp/config/application.rb
361
+ - lib/dapp/config/chef.rb
362
+ - lib/dapp/config/docker.rb
363
+ - lib/dapp/config/git_artifact.rb
364
+ - lib/dapp/config/main.rb
365
+ - lib/dapp/config/shell.rb
366
+ - lib/dapp/controller.rb
367
+ - lib/dapp/docker_image.rb
368
+ - lib/dapp/error/application.rb
369
+ - lib/dapp/error/base.rb
370
+ - lib/dapp/error/build.rb
371
+ - lib/dapp/error/config.rb
372
+ - lib/dapp/error/controller.rb
373
+ - lib/dapp/error/shellout.rb
226
374
  - lib/dapp/filelock.rb
227
375
  - lib/dapp/git_artifact.rb
228
376
  - lib/dapp/git_repo/base.rb
229
- - lib/dapp/git_repo/chronicler.rb
230
377
  - lib/dapp/git_repo/own.rb
231
378
  - lib/dapp/git_repo/remote.rb
379
+ - lib/dapp/helper/cli.rb
380
+ - lib/dapp/helper/i18n.rb
381
+ - lib/dapp/helper/log.rb
382
+ - lib/dapp/helper/paint.rb
383
+ - lib/dapp/helper/sha256.rb
384
+ - lib/dapp/helper/shellout.rb
385
+ - lib/dapp/helper/streaming.rb
386
+ - lib/dapp/helper/trivia.rb
387
+ - lib/dapp/stage_image.rb
232
388
  - lib/dapp/version.rb
233
389
  homepage: https://github.com/flant/dapp
234
390
  licenses:
@@ -240,17 +396,17 @@ require_paths:
240
396
  - lib
241
397
  required_ruby_version: !ruby/object:Gem::Requirement
242
398
  requirements:
243
- - - ">="
399
+ - - ! '>='
244
400
  - !ruby/object:Gem::Version
245
401
  version: '2.1'
246
402
  required_rubygems_version: !ruby/object:Gem::Requirement
247
403
  requirements:
248
- - - ">="
404
+ - - ! '>='
249
405
  - !ruby/object:Gem::Version
250
406
  version: '0'
251
407
  requirements: []
252
408
  rubyforge_project:
253
- rubygems_version: 2.4.8
409
+ rubygems_version: 2.4.3
254
410
  signing_key:
255
411
  specification_version: 4
256
412
  summary: Build docker packaged apps using chef or shell