release-gem 0.1.30 → 0.3.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 +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
|