rbld 1.3.7 → 1.3.8

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 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: []