rbld 1.3.7 → 1.3.8

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: 59a5ab4410529f2d2b3482b9d732b08044f5f3de
4
- data.tar.gz: ba25955d34d8888761ebd233728ada0cfcca0178
3
+ metadata.gz: af4c9a4b60e224f583ee1d28dd42857fdcc54e9d
4
+ data.tar.gz: b612db6e20afda3953b864471b4a16aaf156a09d
5
5
  SHA512:
6
- metadata.gz: 26cd599a7e8003b475b7a209cac0bccc61ce35e6307e735db5eaa0c6ce47d950105f21fc1ca9a02a15f300db239c12bf0fab8df956ffa1442b0b08df9bef57a2
7
- data.tar.gz: e9d7a83df474d789a99a9498e79a44f0575899e4cc0a3246a232f763182e1239534db0f79adf1229b5f4cb018321dbb9a62fc658dd52270335bb25b98e4b1b56
6
+ metadata.gz: 0ece06c55791cc848a4ee3a9e0b64e84438258665006da01bb0f15dfbd1aa17821ff5dfc3bb2c9a2fc01df0d431d9bac7a9a84e2f16a428df2f5331b8015ba17
7
+ data.tar.gz: 55fb1f5974359592a05e8b3cec4ca3e039cb1ca036146eb56fb72a7884f4200396ce7dec537622c38e319734e9480a9dc5c3f430415d890f988ce249ff15ee16
@@ -1,14 +1,37 @@
1
1
  module Rebuild::CLI
2
2
  class RbldRmCommand < Command
3
3
  def initialize
4
- @usage = "[OPTIONS] [ENVIRONMENT[:TAG]]"
5
- @description = "Remove local environment"
4
+ @usage = "[OPTIONS] [ENVIRONMENT[:TAG]]... -- COMMANDS"
5
+ @description = "Remove one or more local environments"
6
+ @options = [
7
+ ["-f, --force", "force remove modified environments"]
8
+ ]
9
+ end
10
+
11
+ def parse_opts(parameters)
12
+ replace_argv( parameters ) do
13
+ opts = GetoptLong.new([ '--force', '-f', GetoptLong::NO_ARGUMENT ])
14
+ runopts = {}
15
+ opts.each do |opt, arg|
16
+ case opt
17
+ when '--force'
18
+ runopts[:force] = true
19
+ end
20
+ end
21
+ return runopts, ARGV
22
+ end
6
23
  end
7
24
 
8
25
  def run(parameters)
9
- env = Environment.new( parameters[0] )
10
- rbld_log.info("Going to remove #{env}")
11
- engine_api.remove!( env )
26
+ runopts, parameters = parse_opts( parameters )
27
+ raise EnvironmentNameEmpty unless parameters.any?
28
+ parameters.each do |parameter|
29
+ env = Environment.new( parameter )
30
+ rbld_log.info("Going to checkout #{env} before removal")
31
+ engine_api.checkout!( env ) if runopts[:force]
32
+ rbld_log.info("Going to remove #{env}")
33
+ engine_api.remove!( env )
34
+ end
12
35
  end
13
36
  end
14
37
  end
@@ -1 +1 @@
1
- 1.3.7
1
+ 1.3.8
@@ -288,7 +288,7 @@ module Rebuild::Engine
288
288
  rebuild_errors \
289
289
  UnsupportedDockerService: 'Unsupported docker service: %s',
290
290
  InaccessibleDockerService: 'Unable to reach the docker engine',
291
- EnvironmentIsModified: 'Environment is modified, commit or checkout first',
291
+ EnvironmentIsModified: 'Environment is modified, %s',
292
292
  EnvironmentNotKnown: 'Unknown environment %s',
293
293
  NoChangesToCommit: 'No changes to commit for %s',
294
294
  EnvironmentDeploymentFailure: 'Failed to deploy from %s',
@@ -454,6 +454,8 @@ module Rebuild::Engine
454
454
 
455
455
  class API
456
456
  extend Forwardable
457
+ REMOVE_MODIFIED_ERROR = 'use --force to delete anyway'
458
+ PUBLISH_MODIFIED_ERROR = 'commit or checkout first'
457
459
 
458
460
  def initialize(docker_api = Docker, cfg = Rebuild::Config.new)
459
461
  @docker_api, @cfg = docker_api, cfg
@@ -465,7 +467,7 @@ module Rebuild::Engine
465
467
  end
466
468
 
467
469
  def remove!(env_name)
468
- env = unmodified_env( env_name )
470
+ env = unmodified_env( env_name , REMOVE_MODIFIED_ERROR )
469
471
  env.img.remove!
470
472
  @cache.refresh!
471
473
  end
@@ -523,7 +525,7 @@ module Rebuild::Engine
523
525
  end
524
526
 
525
527
  def publish(env_name)
526
- env = unmodified_env( env_name )
528
+ env = unmodified_env( env_name, PUBLISH_MODIFIED_ERROR )
527
529
 
528
530
  rbld_print.progress "Checking for collisions..."
529
531
 
@@ -765,9 +767,9 @@ module Rebuild::Engine
765
767
  env
766
768
  end
767
769
 
768
- def unmodified_env(name)
770
+ def unmodified_env(name, comment)
769
771
  env = existing_env( name )
770
- raise EnvironmentIsModified if env.modified?
772
+ raise EnvironmentIsModified, comment if env.modified?
771
773
  env
772
774
  end
773
775
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rbld
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.3.7
4
+ version: 1.3.8
5
5
  platform: ruby
6
6
  authors:
7
7
  - Dmitry Fleytman
8
8
  autorequire:
9
9
  bindir: cli/bin
10
10
  cert_chain: []
11
- date: 2017-08-29 00:00:00.000000000 Z
11
+ date: 2017-10-03 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: colorize
@@ -171,9 +171,6 @@ dependencies:
171
171
  requirement: !ruby/object:Gem::Requirement
172
172
  requirements:
173
173
  - - "~>"
174
- - !ruby/object:Gem::Version
175
- version: '1.8'
176
- - - ">="
177
174
  - !ruby/object:Gem::Version
178
175
  version: 1.8.1
179
176
  type: :runtime
@@ -181,9 +178,6 @@ dependencies:
181
178
  version_requirements: !ruby/object:Gem::Requirement
182
179
  requirements:
183
180
  - - "~>"
184
- - !ruby/object:Gem::Version
185
- version: '1.8'
186
- - - ">="
187
181
  - !ruby/object:Gem::Version
188
182
  version: 1.8.1
189
183
  - !ruby/object:Gem::Dependency
@@ -260,6 +254,26 @@ dependencies:
260
254
  - - ">="
261
255
  - !ruby/object:Gem::Version
262
256
  version: 1.8.2
257
+ - !ruby/object:Gem::Dependency
258
+ name: cucumber
259
+ requirement: !ruby/object:Gem::Requirement
260
+ requirements:
261
+ - - "~>"
262
+ - !ruby/object:Gem::Version
263
+ version: 2.4.0
264
+ - - ">="
265
+ - !ruby/object:Gem::Version
266
+ version: 2.4.0
267
+ type: :development
268
+ prerelease: false
269
+ version_requirements: !ruby/object:Gem::Requirement
270
+ requirements:
271
+ - - "~>"
272
+ - !ruby/object:Gem::Version
273
+ version: 2.4.0
274
+ - - ">="
275
+ - !ruby/object:Gem::Version
276
+ version: 2.4.0
263
277
  - !ruby/object:Gem::Dependency
264
278
  name: aruba-win-fix
265
279
  requirement: !ruby/object:Gem::Requirement
@@ -486,5 +500,5 @@ rubyforge_project:
486
500
  rubygems_version: 2.6.11
487
501
  signing_key:
488
502
  specification_version: 4
489
- summary: rbld-1.3.7
503
+ summary: rbld-1.3.8
490
504
  test_files: []