release-gem 0.1.30 → 0.3.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Gemfile.lock +8 -7
- data/lib/release/gem/cli.rb +16 -0
- data/lib/release/gem/gem_action.rb +44 -30
- data/lib/release/gem/gem_cli_action.rb +35 -10
- data/lib/release/gem/vcs_action.rb +208 -178
- data/lib/release/gem/vcs_cli_action.rb +159 -53
- data/lib/release/gem/version.rb +1 -1
- data/lib/release/gem.rb +40 -7
- data/templates/standard_cli_flow.rb +6 -3
- metadata +41 -26
@@ -1,16 +1,20 @@
|
|
1
1
|
|
2
2
|
|
3
3
|
require 'tty/prompt'
|
4
|
+
|
4
5
|
require_relative 'vcs_action'
|
6
|
+
require_relative 'cli'
|
5
7
|
|
6
8
|
module Release
|
7
9
|
module Gem
|
8
10
|
module Cli
|
9
11
|
class VcsAction
|
12
|
+
|
10
13
|
def initialize(root, opts = { })
|
11
14
|
opts = {} if opts.nil?
|
12
15
|
opts[:ui] = TTY::Prompt.new
|
13
16
|
@inst = Action::VcsAction.new(root,opts)
|
17
|
+
@root = root
|
14
18
|
@prmt = TTY::Prompt.new
|
15
19
|
@color = opts[:msgColor] || :yellow
|
16
20
|
@discardColor = opts[:discardColor] || false
|
@@ -24,14 +28,39 @@ module Release
|
|
24
28
|
|
25
29
|
loop do
|
26
30
|
|
27
|
-
|
31
|
+
Cli.cls
|
32
|
+
Cli.print_header(@root)
|
33
|
+
|
34
|
+
# workspace overview
|
35
|
+
overview
|
36
|
+
|
37
|
+
ops = @prmt.select(pmsg("\n Please select a VCS workspace operation : "), filter: true) do |m|
|
38
|
+
|
39
|
+
if @inst.has_staged_files? or @inst.has_modified_files? or @inst.has_deleted_files?
|
40
|
+
m.choice "Commit all changes", :commit_all
|
41
|
+
end
|
42
|
+
|
43
|
+
if @inst.has_staged_files?
|
44
|
+
m.choice "Commit staged changes", :commit
|
45
|
+
end
|
46
|
+
|
47
|
+
if @inst.has_new_files?
|
48
|
+
m.choice "Add", :add
|
49
|
+
m.choice "Ignore a file", :ignore
|
50
|
+
end
|
51
|
+
|
52
|
+
if @inst.has_staged_files?
|
53
|
+
m.choice "Remove staged file", :remove_staged
|
54
|
+
end
|
55
|
+
|
56
|
+
if @inst.has_modified_files?
|
57
|
+
m.choice "Diff a file", :diff
|
58
|
+
end
|
59
|
+
|
60
|
+
if @inst.has_staged_files? or @inst.has_modified_files? or @inst.has_deleted_files? or @inst.has_new_files?
|
61
|
+
m.choice "Delete file", :del
|
62
|
+
end
|
28
63
|
|
29
|
-
m.choice "Add", :add
|
30
|
-
m.choice "Ignore", :ignore
|
31
|
-
m.choice "Diff", :diff
|
32
|
-
m.choice "Remove staged file", :remove_staged
|
33
|
-
m.choice "Delete file", :del
|
34
|
-
m.choice "Commit", :commit
|
35
64
|
m.choice "Done", :done
|
36
65
|
m.choice "Abort", :abort
|
37
66
|
|
@@ -53,6 +82,9 @@ module Release
|
|
53
82
|
when :commit
|
54
83
|
commit
|
55
84
|
break
|
85
|
+
when :commit_all
|
86
|
+
commit_all
|
87
|
+
break
|
56
88
|
when :done
|
57
89
|
break
|
58
90
|
end
|
@@ -61,6 +93,14 @@ module Release
|
|
61
93
|
|
62
94
|
end
|
63
95
|
|
96
|
+
def overview
|
97
|
+
@inst.overview do |ops, val|
|
98
|
+
|
99
|
+
print_workspace_items(val)
|
100
|
+
|
101
|
+
end
|
102
|
+
end
|
103
|
+
|
64
104
|
def add(*input, &block)
|
65
105
|
@inst.add do |ops, *args|
|
66
106
|
preset = false
|
@@ -79,13 +119,17 @@ module Release
|
|
79
119
|
case ops
|
80
120
|
when :select_files_to_add
|
81
121
|
|
122
|
+
Cli.cls
|
123
|
+
Cli.print_header(@root)
|
82
124
|
mfiles = args.first
|
83
|
-
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
|
125
|
+
print_workspace_items(mfiles)
|
126
|
+
|
127
|
+
#@prmt.puts pmsg("\n Files already added to staging : ")
|
128
|
+
#mfiles[:staged].each do |k,v|
|
129
|
+
# v.each do |vv|
|
130
|
+
# @prmt.puts " * #{vv}"
|
131
|
+
# end
|
132
|
+
#end
|
89
133
|
|
90
134
|
@prmt.puts ""
|
91
135
|
res = []
|
@@ -97,13 +141,12 @@ module Release
|
|
97
141
|
end
|
98
142
|
end
|
99
143
|
|
100
|
-
sel = @prmt.multi_select
|
144
|
+
sel = @prmt.multi_select(pmsg("\n Following are files that could be added to version control : "), filter: true) do |m|
|
101
145
|
|
102
146
|
res.sort.each do |f|
|
103
147
|
m.choice f, f.path
|
104
148
|
end
|
105
149
|
|
106
|
-
m.choice "Done", :done
|
107
150
|
m.choice "Abort", :abort
|
108
151
|
end
|
109
152
|
|
@@ -156,13 +199,12 @@ module Release
|
|
156
199
|
end
|
157
200
|
end
|
158
201
|
|
159
|
-
sel = @prmt.multi_select
|
202
|
+
sel = @prmt.multi_select(pmsg("\n Select files for diff operation : "), filter: true) do |m|
|
160
203
|
|
161
204
|
res.sort.each do |f|
|
162
205
|
m.choice f, f.path
|
163
206
|
end
|
164
207
|
|
165
|
-
m.choice "Done", :done
|
166
208
|
m.choice "Abort", :abort
|
167
209
|
end
|
168
210
|
|
@@ -175,7 +217,9 @@ module Release
|
|
175
217
|
when :diff_file_result
|
176
218
|
v = args.first
|
177
219
|
@prmt.puts "Diff result for file '#{v[:file]}'"
|
178
|
-
puts v[:output]
|
220
|
+
puts pastel.bright_blue(v[:output])
|
221
|
+
puts ""
|
222
|
+
puts pastel.inverse("[Enter to close]")
|
179
223
|
STDIN.gets
|
180
224
|
|
181
225
|
when :diff_file_error
|
@@ -208,14 +252,12 @@ module Release
|
|
208
252
|
when :select_files_to_ignore
|
209
253
|
|
210
254
|
mfiles = args.first
|
211
|
-
sel = @prmt.multi_select
|
255
|
+
sel = @prmt.multi_select(pmsg("\n Following are files that could be ignored : "), filter: true) do |m|
|
212
256
|
|
213
257
|
mfiles[:files].sort.each do |v|
|
214
258
|
m.choice v, v.path
|
215
259
|
end
|
216
260
|
|
217
|
-
|
218
|
-
m.choice "Done", :done
|
219
261
|
m.choice "Abort", :abort
|
220
262
|
end
|
221
263
|
|
@@ -260,14 +302,12 @@ module Release
|
|
260
302
|
|
261
303
|
mfiles = args.first
|
262
304
|
|
263
|
-
sel = @prmt.multi_select
|
305
|
+
sel = @prmt.multi_select(pmsg("\n Following are files that could be removed from staging : "), filter: true) do |m|
|
264
306
|
|
265
307
|
mfiles[:files].sort.each do |v|
|
266
308
|
m.choice v, v.path
|
267
309
|
end
|
268
310
|
|
269
|
-
|
270
|
-
m.choice "Done", :done
|
271
311
|
m.choice "Abort", :abort
|
272
312
|
end
|
273
313
|
|
@@ -325,7 +365,7 @@ module Release
|
|
325
365
|
end
|
326
366
|
|
327
367
|
|
328
|
-
sel = @prmt.multi_select
|
368
|
+
sel = @prmt.multi_select(pmsg("\n Following are files that could be deleted : "), filter: true) do |m|
|
329
369
|
files.sort do |f|
|
330
370
|
m.choice f, f
|
331
371
|
end
|
@@ -370,9 +410,42 @@ module Release
|
|
370
410
|
|
371
411
|
end # delete_file
|
372
412
|
|
413
|
+
def commit_all(*args, &block)
|
414
|
+
st, res = @inst.commit_all do |ops, *args|
|
415
|
+
case ops
|
416
|
+
when :commit_message
|
417
|
+
|
418
|
+
mfiles = args.first
|
419
|
+
@prmt.puts pmsg("\n Files eligible to be committed : ")
|
420
|
+
[:staged, :modified, :deleted].each do |cat|
|
421
|
+
mfiles[cat].each do |k,v|
|
422
|
+
v.each do |vv|
|
423
|
+
@prmt.puts pastel.magenta(" #{vv}")
|
424
|
+
end
|
425
|
+
end
|
426
|
+
|
427
|
+
end
|
428
|
+
|
429
|
+
msg = ""
|
430
|
+
loop do
|
431
|
+
msg = @prmt.ask(pmsg("\n Commit message : "), required: true)
|
432
|
+
confirm = @prmt.yes?(pmsg(" Commit message : #{msg}\n Proceed? No to provide a new commit message "))
|
433
|
+
if confirm
|
434
|
+
break
|
435
|
+
end
|
436
|
+
end
|
437
|
+
|
438
|
+
msg
|
439
|
+
end
|
440
|
+
|
441
|
+
end
|
373
442
|
|
443
|
+
res
|
444
|
+
|
445
|
+
end
|
374
446
|
|
375
447
|
def commit(*args, &block)
|
448
|
+
|
376
449
|
res = @inst.commit do |ops, *args|
|
377
450
|
|
378
451
|
preset = false
|
@@ -391,58 +464,48 @@ module Release
|
|
391
464
|
|
392
465
|
case ops
|
393
466
|
when :select_files_to_commit
|
467
|
+
|
394
468
|
mfiles = args.first
|
395
|
-
|
396
|
-
|
397
|
-
|
398
|
-
|
399
|
-
|
400
|
-
|
469
|
+
print_workspace_items(mfiles)
|
470
|
+
|
471
|
+
#@prmt.puts pmsg("\n Files already added to staging : ")
|
472
|
+
#mfiles[:staged].each do |k,v|
|
473
|
+
# v.each do |vv|
|
474
|
+
# @prmt.puts " * #{vv}"
|
475
|
+
# end
|
476
|
+
#end
|
401
477
|
|
402
|
-
|
478
|
+
#@prmt.puts ""
|
403
479
|
|
404
480
|
files = []
|
405
481
|
[:modified, :new, :deleted].each do |cat|
|
406
482
|
mfiles[cat].each do |k,v|
|
407
483
|
v.each do |vv|
|
408
484
|
files << vv
|
409
|
-
#m.choice vv, vv.path
|
410
485
|
end
|
411
486
|
end
|
412
487
|
|
413
488
|
end
|
414
489
|
|
415
|
-
|
416
|
-
sel = @prmt.multi_select pmsg("\n Following are files that could be added to version control : ") do |m|
|
490
|
+
sel = @prmt.multi_select(pmsg("\n Following are files that could be added to version control : "), filter: true) do |m|
|
417
491
|
|
418
492
|
files.sort.each do |f|
|
419
493
|
m.choice f, f.path
|
420
494
|
end
|
421
495
|
|
422
496
|
m.choice "Skip", :skip #if mfiles[:counter] == 0
|
423
|
-
m.choice "Done", :done
|
424
497
|
m.choice "Abort", :abort
|
425
498
|
end
|
426
499
|
|
427
500
|
if sel.include?(:abort)
|
428
501
|
raise Release::Gem::Abort, "User aborted"
|
429
|
-
elsif sel.include?(:skip)
|
430
|
-
:skip
|
431
|
-
else
|
432
|
-
res = :done if sel.include?(:done)
|
433
|
-
s = sel.clone
|
434
|
-
s.delete_if { |e| e == :done }
|
435
|
-
if not_empty?(s)
|
436
|
-
st, cres = add_to_staging(*s) if not_empty?(s)
|
437
|
-
if st
|
438
|
-
@prmt.puts pmsg("\n Files added successfully", :green)
|
439
|
-
else
|
440
|
-
@prmt.puts pmsg("\n Files failed to be added. Message was : #{cres}", :red)
|
441
|
-
end
|
442
|
-
end
|
443
502
|
|
444
|
-
|
503
|
+
elsif sel.include?(:skip)
|
504
|
+
[]
|
445
505
|
|
506
|
+
else
|
507
|
+
# done
|
508
|
+
sel
|
446
509
|
end
|
447
510
|
|
448
511
|
when :commit_message
|
@@ -542,7 +605,7 @@ module Release
|
|
542
605
|
case ops
|
543
606
|
when :select_remote
|
544
607
|
val = args.first
|
545
|
-
sel = @prmt.select(pmsg("\n Please select one of the remote config below : ")) do |m|
|
608
|
+
sel = @prmt.select(pmsg("\n Please select one of the remote config below : "), filter: true) do |m|
|
546
609
|
val.each do |k,v|
|
547
610
|
m.choice "#{k} [#{v["push"]}]", k
|
548
611
|
end
|
@@ -566,6 +629,11 @@ module Release
|
|
566
629
|
else
|
567
630
|
raise Release::Gem::Abort, "Failed to add remote configuration. Error was : #{res}"
|
568
631
|
end
|
632
|
+
|
633
|
+
else
|
634
|
+
# no add... cannot sing already so exit
|
635
|
+
@prmt.puts pmsg("\n No remote configuration defined. Push operation skipped.", :green)
|
636
|
+
|
569
637
|
end
|
570
638
|
|
571
639
|
when :push_successful
|
@@ -595,7 +663,8 @@ module Release
|
|
595
663
|
msg
|
596
664
|
else
|
597
665
|
if not_empty?(color)
|
598
|
-
|
666
|
+
pastel.send(color, msg)
|
667
|
+
#msg.send(color)
|
599
668
|
elsif not_empty?(@msgColor)
|
600
669
|
msg.send(@msgColor)
|
601
670
|
else
|
@@ -605,6 +674,43 @@ module Release
|
|
605
674
|
end
|
606
675
|
end
|
607
676
|
|
677
|
+
def print_workspace_items(itm, opts= {})
|
678
|
+
|
679
|
+
opts = {} if opts.nil?
|
680
|
+
title = opts[:title] || "Workspace Status : "
|
681
|
+
@prmt.puts pmsg(" #{title}")
|
682
|
+
|
683
|
+
mfiles = itm
|
684
|
+
|
685
|
+
mfiles[:staged].each do |k,v|
|
686
|
+
v.each do |vv|
|
687
|
+
@prmt.puts pastel.on_yellow(" * #{vv}")
|
688
|
+
end
|
689
|
+
end
|
690
|
+
|
691
|
+
@prmt.puts ""
|
692
|
+
res = []
|
693
|
+
[:modified, :deleted, :new].each do |cat|
|
694
|
+
mfiles[cat].each do |k,v|
|
695
|
+
v.each do |vv|
|
696
|
+
case cat
|
697
|
+
when :new
|
698
|
+
@prmt.puts vv
|
699
|
+
when :modified
|
700
|
+
@prmt.puts pastel.bright_yellow(vv)
|
701
|
+
when :deleted
|
702
|
+
@prmt.puts pastel.strikethrough(vv)
|
703
|
+
end
|
704
|
+
end
|
705
|
+
end
|
706
|
+
end
|
707
|
+
|
708
|
+
end # print_workspace_items
|
709
|
+
|
710
|
+
def pastel
|
711
|
+
Gem.pastel
|
712
|
+
end
|
713
|
+
|
608
714
|
end
|
609
715
|
end
|
610
716
|
end
|
data/lib/release/gem/version.rb
CHANGED
data/lib/release/gem.rb
CHANGED
@@ -6,21 +6,24 @@ require 'teLogger'
|
|
6
6
|
require 'tty/prompt'
|
7
7
|
require 'colorize'
|
8
8
|
require 'tty/command'
|
9
|
-
|
9
|
+
require 'pastel'
|
10
10
|
|
11
11
|
require_relative "gem/version"
|
12
12
|
require_relative 'gem/gem_engine'
|
13
13
|
require_relative 'gem/release_infector'
|
14
14
|
|
15
|
+
require_relative 'gem/cli'
|
15
16
|
|
16
17
|
module Release
|
17
18
|
module Gem
|
19
|
+
include TR::CondUtils
|
20
|
+
|
18
21
|
class Error < StandardError; end
|
19
22
|
class Abort < StandardError; end
|
20
23
|
# Your code goes here...
|
21
24
|
|
22
25
|
def self.q(msg)
|
23
|
-
"\n #{msg}\n"
|
26
|
+
pastel.yellow("\n #{msg}\n")
|
24
27
|
end
|
25
28
|
|
26
29
|
def self.engine(eng, *args, &block)
|
@@ -44,14 +47,44 @@ module Release
|
|
44
47
|
dt.strftime("%d %b %Y (%a), %H:%M:%S:%L")
|
45
48
|
end
|
46
49
|
|
47
|
-
def self.
|
50
|
+
def self.diff_only(a1, a2)
|
51
|
+
Set.new(a1)^a2
|
52
|
+
end
|
53
|
+
|
54
|
+
def self.logger(tag = nil, &block)
|
48
55
|
if @_logger.nil?
|
49
|
-
|
50
|
-
|
56
|
+
if ENV['RELGEM_LOG_TO_STDOUT'] == "true"
|
57
|
+
@_logger = TeLogger::Tlogger.new
|
58
|
+
else
|
59
|
+
@_logger = TeLogger::Tlogger.new("relgem.log",5, 5*1024*1024)
|
60
|
+
end
|
51
61
|
end
|
52
|
-
@_logger
|
53
|
-
end
|
54
62
|
|
63
|
+
if block
|
64
|
+
if not_empty?(tag)
|
65
|
+
@_logger.with_tag(tag, &block)
|
66
|
+
else
|
67
|
+
@_logger.with_tag(@_logger.tag, &block)
|
68
|
+
end
|
69
|
+
else
|
70
|
+
if is_empty?(tag)
|
71
|
+
@_logger.tag = :rel_gem
|
72
|
+
@_logger
|
73
|
+
else
|
74
|
+
# no block but tag is given? hmm
|
75
|
+
@_logger.tag = tag
|
76
|
+
@_logger
|
77
|
+
end
|
78
|
+
end
|
79
|
+
|
80
|
+
end # logger
|
81
|
+
|
82
|
+
def self.pastel
|
83
|
+
if @_pastel.nil?
|
84
|
+
@_pastel = Pastel.new
|
85
|
+
end
|
86
|
+
@_pastel
|
87
|
+
end
|
55
88
|
|
56
89
|
end
|
57
90
|
end
|
@@ -2,10 +2,13 @@
|
|
2
2
|
|
3
3
|
require 'release/gem'
|
4
4
|
|
5
|
-
|
6
|
-
|
5
|
+
ARGV.delete_if { |e| e == "gem:release" }
|
6
|
+
path = ARGV.first || Dir.getwd
|
7
|
+
path = File.expand_path(path)
|
7
8
|
|
8
|
-
Release::Gem.
|
9
|
+
Release::Gem::Cli.print_header(path)
|
10
|
+
|
11
|
+
Release::Gem.engine(:gem, root: path) do
|
9
12
|
|
10
13
|
begin
|
11
14
|
# step 1 : run test
|
metadata
CHANGED
@@ -1,99 +1,113 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: release-gem
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.3.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Chris
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2023-10-
|
11
|
+
date: 2023-10-06 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: toolrack
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
|
-
- - "
|
17
|
+
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: '0'
|
19
|
+
version: '0.23'
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
|
-
- - "
|
24
|
+
- - "~>"
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version: '0'
|
26
|
+
version: '0.23'
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: teLogger
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
|
-
- - "
|
31
|
+
- - "~>"
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version: '0'
|
33
|
+
version: '0.2'
|
34
34
|
type: :runtime
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
|
-
- - "
|
38
|
+
- - "~>"
|
39
39
|
- !ruby/object:Gem::Version
|
40
|
-
version: '0'
|
40
|
+
version: '0.2'
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: tty-prompt
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
44
44
|
requirements:
|
45
|
-
- - "
|
45
|
+
- - "~>"
|
46
46
|
- !ruby/object:Gem::Version
|
47
|
-
version: '0'
|
47
|
+
version: '0.23'
|
48
48
|
type: :runtime
|
49
49
|
prerelease: false
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
51
51
|
requirements:
|
52
|
-
- - "
|
52
|
+
- - "~>"
|
53
53
|
- !ruby/object:Gem::Version
|
54
|
-
version: '0'
|
54
|
+
version: '0.23'
|
55
55
|
- !ruby/object:Gem::Dependency
|
56
56
|
name: colorize
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
58
58
|
requirements:
|
59
|
-
- - "
|
59
|
+
- - "~>"
|
60
60
|
- !ruby/object:Gem::Version
|
61
|
-
version: '
|
61
|
+
version: '1.1'
|
62
62
|
type: :runtime
|
63
63
|
prerelease: false
|
64
64
|
version_requirements: !ruby/object:Gem::Requirement
|
65
65
|
requirements:
|
66
|
-
- - "
|
66
|
+
- - "~>"
|
67
67
|
- !ruby/object:Gem::Version
|
68
|
-
version: '
|
68
|
+
version: '1.1'
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
70
|
name: tty-command
|
71
71
|
requirement: !ruby/object:Gem::Requirement
|
72
72
|
requirements:
|
73
|
-
- - "
|
73
|
+
- - "~>"
|
74
74
|
- !ruby/object:Gem::Version
|
75
|
-
version: '0'
|
75
|
+
version: '0.10'
|
76
76
|
type: :runtime
|
77
77
|
prerelease: false
|
78
78
|
version_requirements: !ruby/object:Gem::Requirement
|
79
79
|
requirements:
|
80
|
-
- - "
|
80
|
+
- - "~>"
|
81
81
|
- !ruby/object:Gem::Version
|
82
|
-
version: '0'
|
82
|
+
version: '0.10'
|
83
|
+
- !ruby/object:Gem::Dependency
|
84
|
+
name: pastel
|
85
|
+
requirement: !ruby/object:Gem::Requirement
|
86
|
+
requirements:
|
87
|
+
- - "~>"
|
88
|
+
- !ruby/object:Gem::Version
|
89
|
+
version: '0.8'
|
90
|
+
type: :runtime
|
91
|
+
prerelease: false
|
92
|
+
version_requirements: !ruby/object:Gem::Requirement
|
93
|
+
requirements:
|
94
|
+
- - "~>"
|
95
|
+
- !ruby/object:Gem::Version
|
96
|
+
version: '0.8'
|
83
97
|
- !ruby/object:Gem::Dependency
|
84
98
|
name: git_cli
|
85
99
|
requirement: !ruby/object:Gem::Requirement
|
86
100
|
requirements:
|
87
|
-
- - "
|
101
|
+
- - "~>"
|
88
102
|
- !ruby/object:Gem::Version
|
89
|
-
version: '0'
|
103
|
+
version: '0.13'
|
90
104
|
type: :runtime
|
91
105
|
prerelease: false
|
92
106
|
version_requirements: !ruby/object:Gem::Requirement
|
93
107
|
requirements:
|
94
|
-
- - "
|
108
|
+
- - "~>"
|
95
109
|
- !ruby/object:Gem::Version
|
96
|
-
version: '0'
|
110
|
+
version: '0.13'
|
97
111
|
description: ''
|
98
112
|
email:
|
99
113
|
- chris@antrapol.com
|
@@ -110,6 +124,7 @@ files:
|
|
110
124
|
- exe/release-gem-infect
|
111
125
|
- lib/release/Rakefile
|
112
126
|
- lib/release/gem.rb
|
127
|
+
- lib/release/gem/cli.rb
|
113
128
|
- lib/release/gem/gem_action.rb
|
114
129
|
- lib/release/gem/gem_cli_action.rb
|
115
130
|
- lib/release/gem/gem_engine.rb
|