devops_helper 0.1.0 → 0.5.0

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
  SHA256:
3
- metadata.gz: de680446ea31db8037dc619b1eef1fad1936a57afdcdd9495cd35a411a61f7a4
4
- data.tar.gz: 244a9bb9f7b792a8af1b3ca2df4f7a7b7a111686dac4626306568ef10a01c9b8
3
+ metadata.gz: c0c94b8d8e6d6447e4986ca70a523e2f82989e2a3d96b88f08c3c2b6a0db23a0
4
+ data.tar.gz: c7d72d4570e5a82aad8fbab0764f24b01c74ac78856358cf2b0edf12a2a4f053
5
5
  SHA512:
6
- metadata.gz: d61ba38f0de3919d554e3a036dd773487d89119372ce5d3e0bf612cae2df160d3a21d2df4cef2bee9e4e68c8304111e5aaa6f10f03943aa3b988b395eb64571d
7
- data.tar.gz: 5eeb5192dcd6d694bb3a1d7d82fc2a0fa6abb56e2cc72f037c0f9201092452ba46133473d78883db03db9789e306e81f41b0afe6e611f666b842f379fd0a2401
6
+ metadata.gz: 3385755ce5d4349a73c2075845ff1ed7620481c9fe2adb80dd18cc628337396f1806984b8bfcb0afe8393239b875eb644799a00a237d02aab67a6d79e9665ec4
7
+ data.tar.gz: a328ce96d2be7bdd05cfb62c029486442ffa5f6b26fe63f1c65adb376e6fd1e7208d8af9c6eef9f7ea4f277be6dc6f6584d608ce6eac888a754708aba56eaac5
@@ -0,0 +1,14 @@
1
+ ---
2
+ devops_helper:
3
+ - :version: 0.1.0
4
+ :created_at: 2020-11-21 21:38:03.537785964 +08:00
5
+ - :version: 0.2.0
6
+ :created_at: 2020-12-07 15:19:19.158479582 +08:00
7
+ - :version: 0.2.0
8
+ :created_at: 2020-12-07 15:31:59.119617443 +08:00
9
+ - :version: 0.3.0
10
+ :created_at: 2020-12-07 23:21:14.961100811 +08:00
11
+ - :version: 0.3.1
12
+ :created_at: 2020-12-07 23:22:49.479627995 +08:00
13
+ - :version: 0.4.0
14
+ :created_at: 2021-10-21 11:46:03.352835295 +08:00
data/README.md CHANGED
@@ -1,8 +1,15 @@
1
1
  # DevopsHelper
2
2
 
3
- Welcome to your new gem! In this directory, you'll find the files you need to be able to package up your Ruby library into a gem. Put your Ruby code in the file `lib/devops_helper`. To experiment with that code, run `bin/console` for an interactive prompt.
3
+ DevOpsHelper is meant to standardize the workflow, specificially gem release, in simplified and easy to use Rake task.
4
4
 
5
- TODO: Delete this and the text above, and describe your gem
5
+ Basically the typical workflow are:
6
+ 1. Check in source code
7
+ 2. Edit version.rb
8
+ 3. Build the gem
9
+ 4. Add to git and tag the release
10
+ 5. Push gem file to rubygems
11
+
12
+ Sure there can have more such as integration with Continous Integration automated test etc. However that's my basic workflow as of now.
6
13
 
7
14
  ## Installation
8
15
 
@@ -20,9 +27,20 @@ Or install it yourself as:
20
27
 
21
28
  $ gem install devops_helper
22
29
 
30
+ This is a set or Rake task haven't found automated way to include into the project Rakefile. Therefore manual intervention is required.
31
+
32
+ In order to complete the installation, need to add the following into the project Rakefile
33
+
34
+ ```ruby
35
+ require 'devops_helper'
36
+ ```
23
37
  ## Usage
24
38
 
25
- TODO: Write usage instructions here
39
+ It runs as typical Rake task:
40
+
41
+ $ rake devops:gem_release
42
+
43
+ Then follow the prompt until it is done.
26
44
 
27
45
  ## Development
28
46
 
@@ -32,7 +50,7 @@ To install this gem onto your local machine, run `bundle exec rake install`. To
32
50
 
33
51
  ## Contributing
34
52
 
35
- Bug reports and pull requests are welcome on GitHub at https://github.com/[USERNAME]/devops_helper. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the [code of conduct](https://github.com/[USERNAME]/devops_helper/blob/master/CODE_OF_CONDUCT.md).
53
+ Bug reports and pull requests are welcome on GitHub at https://github.com/[USERNAME]/devops_helper. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the [code of conduct](https://github.com/chrisliaw/devops_helper/blob/master/CODE_OF_CONDUCT.md).
36
54
 
37
55
 
38
56
  ## License
@@ -41,4 +59,4 @@ The gem is available as open source under the terms of the [MIT License](https:/
41
59
 
42
60
  ## Code of Conduct
43
61
 
44
- Everyone interacting in the DevopsHelper project's codebases, issue trackers, chat rooms and mailing lists is expected to follow the [code of conduct](https://github.com/[USERNAME]/devops_helper/blob/master/CODE_OF_CONDUCT.md).
62
+ Everyone interacting in the DevopsHelper project's codebases, issue trackers, chat rooms and mailing lists is expected to follow the [code of conduct](https://github.com/chrisliaw/devops_helper/blob/master/CODE_OF_CONDUCT.md).
@@ -27,12 +27,12 @@ Gem::Specification.new do |spec|
27
27
  spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
28
28
  spec.require_paths = ["lib"]
29
29
 
30
- spec.add_dependency 'toolrack', '~> 0.4.0'
31
- spec.add_dependency 'tlogger', '~> 0.22.0'
32
- spec.add_dependency 'tty-prompt'
30
+ spec.add_dependency 'toolrack'
31
+ spec.add_dependency 'tlogger'
32
+ spec.add_dependency 'tty-prompt', '0.22.0'
33
33
 
34
- spec.add_dependency 'gvcs', '~> 0.1.0'
35
- spec.add_dependency 'git_cli', '~> 0.6.0'
34
+ spec.add_dependency 'gvcs' #, '>= 0.1.0'
35
+ spec.add_dependency 'git_cli' #, '>= 0.6.0'
36
36
 
37
37
  #spec.add_dependency 'rubygems-tasks'
38
38
 
@@ -0,0 +1,101 @@
1
+
2
+ require 'toolrack'
3
+ require_relative 'global'
4
+
5
+ module DevopsHelper
6
+ module GemPublishHelper
7
+ include TR::CondUtils
8
+
9
+ class GemPublisherError < StandardError; end
10
+
11
+ def publish_gem(version, opts = { }, &block)
12
+
13
+ cred = find_rubygems_api_key
14
+
15
+ selAcct = cred.keys.first
16
+ if cred.keys.length > 1
17
+ logger.tdebug :pubgem, "Multiple rubygems account detected."
18
+ # multiple account configured...
19
+ selAcct = block.call(:multiple_rubygems_account, cred)
20
+ raise GemPublisherError, "No rubygems account is selected." if is_empty?(selAcct)
21
+ end
22
+
23
+ # find the package
24
+ root = opts[:root] || Dir.getwd
25
+ foundGem = Dir.glob("**/*-#{version}.gem")
26
+ if foundGem.length == 0
27
+ raise DevopsHelper::Error, "No built gem found."
28
+ elsif foundGem.length > 1
29
+ if block
30
+ targetGem = block.call(:multiple_built_gems, foundGem)
31
+ else
32
+ raise DevopsHelper::Error, "Multiple versions of gem found : #{foundGem}. Please provide a block for selection"
33
+ end
34
+ else
35
+ targetGem = foundGem.first
36
+ end
37
+
38
+ cmd = "cd #{root} && gem push #{targetGem} -k #{selAcct}"
39
+ logger.tdebug :pubgem, "Command to publish gem : #{cmd}"
40
+ `#{cmd}`
41
+ [$?, targetGem]
42
+
43
+ end
44
+
45
+ def publish_gem_file(gemfile, opts = { }, &block)
46
+
47
+ cred = find_rubygems_api_key
48
+
49
+ selAcct = cred.keys.first
50
+ if cred.keys.length > 1
51
+ logger.tdebug :pubgemfile, "Multiple rubygems account detected."
52
+ # multiple account configured...
53
+ selAcct = block.call(:multiple_rubygems_account, cred)
54
+ raise GemPublisherError, "No rubygems account is selected." if is_empty?(selAcct)
55
+ end
56
+
57
+ if File.exist?(gemfile)
58
+ root = File.dirname(gemfile)
59
+ targetGem = File.basename(gemfile)
60
+
61
+ cmd = "cd #{root} && gem push #{targetGem} -k #{selAcct}"
62
+ logger.tdebug :pubgemfile, "Command to publish gem : #{cmd}"
63
+ res = `#{cmd}`
64
+ [$?, res, targetGem]
65
+ else
66
+ raise GemPublisherError, "Given Gemfile '#{gemfile}' not found"
67
+ end
68
+
69
+ end
70
+
71
+
72
+ private
73
+ def logger
74
+ if @logger.nil?
75
+ @logger = DevopsHelper::Global.instance.logger
76
+ end
77
+ @logger
78
+ end
79
+
80
+ def find_rubygems_api_key
81
+ if TR::RTUtils.on_windows?
82
+ credFile = File.join(ENV['USERPROFILE'],".gem","credentials")
83
+ else
84
+ credFile = File.join(Dir.home,".local","share","gem","credentials")
85
+ end
86
+
87
+ raise GemPublisherError, "Credential file not found at '#{credFile}'" if not File.exist?(credFile)
88
+
89
+ cred = nil
90
+ File.open(credFile,"r") do |f|
91
+ cred = YAML.load(f.read)
92
+ end
93
+
94
+ raise GemPublisherError, "Credential file is empty" if is_empty?(cred)
95
+ raise GemPublisherError, "No credential created yet for rubygems." if is_empty?(cred.keys)
96
+
97
+ cred
98
+ end
99
+
100
+ end
101
+ end
@@ -14,6 +14,30 @@ module DevopsHelper
14
14
  execute_build_task(t)
15
15
  end
16
16
 
17
+ #def publish_gem(version, opts = { },&block)
18
+ # # find the package
19
+ # root = opts[:root] || Dir.getwd
20
+ # foundGem = Dir.glob("**/*-#{version}.gem")
21
+ # if foundGem.length == 0
22
+ # raise DevopsHelper::Error, "No built gem found."
23
+ # elsif foundGem.length > 1
24
+ # if block
25
+ # targetGem = block.call(:multiple_built_gems, foundGem)
26
+ # else
27
+ # raise DevopsHelper::Error, "Multiple versions of gem found : #{foundGem}. Please provide a block for selection"
28
+ # end
29
+ # else
30
+ # targetGem = foundGem.first
31
+ # end
32
+
33
+ #
34
+
35
+ # cmd = "cd #{root} && gem push #{targetGem}"
36
+ # DevopsHelper::Global.instance.logger.tdebug :gem_rake_helper, "Command to publish gem : #{cmd}"
37
+ # `#{cmd}`
38
+ # [$?, targetGem]
39
+ #end
40
+
17
41
  private
18
42
  def find_build_task
19
43
  task = nil
@@ -2,7 +2,7 @@
2
2
  require 'toolrack'
3
3
  include Antrapol::ToolRack::ConditionUtils
4
4
 
5
- require 'devops_helper'
5
+ require_relative '../../../devops_helper' #'devops_helper'
6
6
 
7
7
  # include task like 'rake build'
8
8
  require 'bundler/gem_tasks'
@@ -11,103 +11,218 @@ require 'bundler/gem_tasks'
11
11
 
12
12
  require 'fileutils'
13
13
 
14
- desc "Some simple rake tasks to assist gem developer in releasing new version of gem"
15
-
16
14
  namespace :devops do
17
15
 
18
- task :gem_release do
19
-
20
- STDOUT.puts "Managed gem release V#{DevopsHelper::VERSION}"
16
+ namespace :gem do
21
17
 
22
- wd = Dir.getwd
23
- tp = TTY::Prompt.new
18
+ desc "Some simple rake tasks to assist gem developer in releasing new version of gem"
19
+ task :release do
24
20
 
25
- vh = DevopsHelper::VcsHelper.new(wd)
26
- if vh.is_workspace?
21
+ STDOUT.puts "Managed gem release V#{DevopsHelper::VERSION}"
27
22
 
28
- begin
29
- if vh.has_pending_changes? or vh.has_new_changes?
30
- cc = tp.yes?("There are pending changes not yet commit. Commit first? ")
31
- if cc
32
- STDOUT.puts "Commit the changes first before release"
33
- exit(0)
23
+ wd = Dir.getwd
24
+ tp = TTY::Prompt.new
25
+
26
+ vh = DevopsHelper::VcsHelper.new(wd)
27
+ if vh.is_workspace?
28
+ # check if workspace has pending changes
29
+ begin
30
+ if vh.has_pending_changes? or vh.has_new_changes?
31
+ cc = tp.yes?("There are pending changes not yet commit. Commit first? ")
32
+ if cc
33
+ STDOUT.puts "Commit the changes first before release"
34
+ exit(0)
35
+ end
34
36
  end
37
+ rescue TTY::Reader::InputInterrupt
38
+ STDOUT.puts "\n\nAborted"
39
+ exit(1)
35
40
  end
36
- rescue TTY::Reader::InputInterrupt
37
- STDOUT.puts "\n\nAborted"
38
- exit(1)
41
+
42
+ end # is_workspace?
43
+
44
+ rh = DevopsHelper::GemReleaseHelper.new
45
+ spec = rh.find_gemspec(wd)
46
+
47
+ # find version file
48
+ vf = rh.find_gem_version_file(wd)
49
+ if vf.length > 1
50
+ # more then one. User has to select
51
+ svf = vf.first
52
+ else
53
+ svf = vf.first
39
54
  end
40
55
 
41
- end # is_workspace?
56
+ if not_empty?(spec) #and not_empty?(svf)
42
57
 
43
- rh = DevopsHelper::GemReleaseHelper.new
44
- spec = rh.find_gemspec(wd)
58
+ vs = rh.get_version_record(wd)
59
+ gs = Gem::Specification.load(spec)
60
+ lstVer = vs.last_version(gs.name)
61
+ if not is_empty?(lstVer)
62
+ targetVersion = rh.prompt_version(gs.name, lstVer[:version], lstVer[:created_at])
63
+ else
64
+ targetVersion = rh.prompt_version(gs.name, "", nil)
65
+ end
45
66
 
46
- vf = rh.find_gem_version_file(wd)
47
- if vf.length > 1
48
- # more then one. User has to select
49
- svf = vf.first
50
- else
51
- svf = vf.first
52
- end
67
+ if targetVersion == -1
68
+ STDERR.puts "Aborted"
69
+ exit(1)
70
+ end
53
71
 
54
- if not_empty?(spec) #and not_empty?(svf)
55
-
56
- vs = rh.get_version_record(wd)
57
- gs = Gem::Specification.load(spec)
58
- lstVer = vs.last_version(gs.name)
59
- if not is_empty?(lstVer)
60
- targetVersion = rh.prompt_version(gs.name, lstVer[:version], lstVer[:created_at])
61
- else
62
- targetVersion = rh.prompt_version(gs.name, "", nil)
63
- end
72
+ if not_empty?(svf)
73
+ rh.rewrite_gem_version_file(svf,targetVersion)
74
+ STDOUT.puts "Gem version file rewritten"
64
75
 
65
- if targetVersion == -1
66
- STDERR.puts "Aborted"
67
- exit(1)
68
- end
76
+ if vh.is_workspace?
77
+ # commit changes of the new version file before tagging
78
+ vh.add(svf)
79
+ vh.commit("Automated commit by DevOps Helper during release process", { files: [svf] })
80
+ end
69
81
 
70
- if not_empty?(svf)
71
- rh.rewrite_gem_version_file(svf,targetVersion)
72
- STDOUT.puts "Gem version file rewritten"
82
+ end
73
83
 
84
+ # tagging start here. Any new changes has to be done before this stage
74
85
  if vh.is_workspace?
75
- # commit changes
76
- vh.add(svf)
77
- vh.commit("Automated commit by DevOps Helper during release process", { files: [svf] })
86
+ begin
87
+ tagSrc = tp.yes?("\nTag the source code for this release? ")
88
+ if tagSrc
89
+ msg = tp.ask("Please provide message for this tag (optional) : ", default: "Tagged version '#{targetVersion}' by DevOps Helper")
90
+ msg = "Automated tagging version '#{targetVersion}' by DevOps Helper" if is_empty?(msg)
91
+ vh.create_tag(targetVersion, msg)
92
+ end
93
+ rescue TTY::Reader::InputInterrupt
94
+ STDERR.puts "\n\nAborted"
95
+ exit(1)
96
+ end
78
97
  end
98
+ # done tagging source code
79
99
 
80
- end
100
+ # build the gem
101
+ res = rh.build_gem
102
+ STDOUT.puts "Gem '#{gs.name}' built"
103
+ # gem built
81
104
 
82
- if vh.is_workspace?
105
+ vs.register_version(gs.name, targetVersion)
106
+ vs.save(wd)
107
+ STDOUT.puts "Version '#{targetVersion}' registered"
108
+
109
+ # push gem? Optional anyway
83
110
  begin
84
- tagSrc = tp.yes?("Tag the source code for this release? ")
85
- if tagSrc
86
- msg = tp.ask("Please provide message for this tag (optional) : ", default: "Tagged version '#{targetVersion}' by DevOps Helper")
87
- msg = "Automated tagging version '#{targetVersion}' by DevOps Helper" if is_empty?(msg)
88
- vh.create_tag(targetVersion, msg)
111
+ pub = tp.yes?("Do you want to publish the generated Gem file? ")
112
+ if pub
113
+ res, gemFile = rh.publish_gem(targetVersion) do |ops, vers|
114
+ case ops
115
+ when :multiple_rubygems_account
116
+ acct = vers.keys
117
+ acct << "Don't publish yet"
118
+ selAcct = tp.select("There are multiple Rubygems account configured inside this machine. Please select the account to push:", acct)
119
+ if selAcct == acct.last
120
+ STDOUT.puts "Noted. Publishing of gem file is aborted."
121
+ exit(0)
122
+ else
123
+ selAcct
124
+ end
125
+ when :multiple_built_gems
126
+ sel = vers
127
+ sel << "Don't publish yet"
128
+ selGem = tp.select("There are multiple Gems with the same version number found. Please select one of the following to publish: ", sel)
129
+ if selGem == sel.last
130
+ STDOUT.puts "Noted. Publishing of gem file is aborted."
131
+ exit(0)
132
+ else
133
+ selGem
134
+ end
135
+ end
136
+ end
137
+
138
+ if not res.success?
139
+ STDERR.puts "Failed to publish the Gem."
140
+ else
141
+ STDOUT.puts "Gem '#{gemFile}' published"
142
+ end
143
+ else
144
+ STDOUT.puts "Gem will not be published. Please manually publish the gem."
89
145
  end
146
+ rescue DevopsHelper::GemPublishHelper::GemPublisherError => e
147
+ STDERR.puts "Error while publishing gem: #{e.message}"
148
+ exit(1)
90
149
  rescue TTY::Reader::InputInterrupt
91
150
  STDERR.puts "\n\nAborted"
92
151
  exit(1)
93
152
  end
153
+
154
+ # end push gem
155
+
156
+ # push source code?
157
+ #pushSrc = tp.no?("Do you want to push the source code to remote?")
158
+
159
+ elsif is_empty?(spec)
160
+ STDERR.puts "gemspec file not found at '#{wd}'"
161
+ exit(2)
162
+ elsif is_empty?(svf)
163
+ STDERR.puts "Cannot find version.rb to update GEM version"
164
+ exit(2)
165
+ end
166
+
167
+ end # gem_release
168
+
169
+ desc "Task just to publish the generated gem file to Rubygems"
170
+ task :publish do
171
+
172
+ tp = TTY::Prompt.new
173
+
174
+ foundGems = []
175
+ Dir.glob(File.join(Dir.getwd, "**/*.gem")) do |f|
176
+ foundGems << f
177
+ end
178
+
179
+ selGem = tp.select("Please select which Gem file to publish:") do |menu|
180
+ foundGems.sort.reverse.each do |f|
181
+ menu.choice File.basename(f), f
182
+ end
183
+ end
184
+
185
+ rh = DevopsHelper::GemReleaseHelper.new
186
+ begin
187
+ res, cmdOut, gemFile = rh.publish_gem_file(selGem) do |ops, vers|
188
+ case ops
189
+ when :multiple_rubygems_account
190
+ acct = vers.keys
191
+ acct << "Don't publish yet"
192
+ selAcct = tp.select("There are multiple Rubygems account configured inside this machine. Please select the account to push:", acct)
193
+ if selAcct == acct.last
194
+ STDOUT.puts "Noted. Publishing of gem file is aborted."
195
+ exit(0)
196
+ else
197
+ selAcct
198
+ end
199
+ when :multiple_built_gems
200
+ sel = vers
201
+ sel << "Don't publish yet"
202
+ selGem = tp.select("There are multiple Gems with the same version number found. Please select one of the following to publish: ", sel)
203
+ if selGem == sel.last
204
+ STDOUT.puts "Noted. Publishing of gem file is aborted."
205
+ exit(0)
206
+ else
207
+ selGem
208
+ end
209
+ end
210
+ rescue DevopsHelper::GemPublishHelper::GemPublisherError => e
211
+ STDERR.puts "Error while publishing gem: #{e.message}"
212
+ exit(1)
213
+ rescue TTY::Reader::InputInterrupt
214
+ STDERR.puts "\n\nAborted"
215
+ exit(1)
216
+ end
217
+ end
218
+
219
+ if not res.success?
220
+ STDERR.puts "Failed to publish the Gem. Output was : \r\n#{cmdOut}"
221
+ else
222
+ STDOUT.puts "Gem '#{gemFile}' published"
94
223
  end
95
-
96
- res = rh.build_gem
97
- STDOUT.puts "Gem '#{gs.name}' built"
98
-
99
- vs.register_version(gs.name, targetVersion)
100
- vs.save(wd)
101
- STDOUT.puts "Version '#{targetVersion}' registered"
102
-
103
- elsif is_empty?(spec)
104
- STDERR.puts "gemspec file not found at '#{wd}'"
105
- exit(2)
106
- elsif is_empty?(svf)
107
- STDERR.puts "Cannot find version.rb to update GEM version"
108
- exit(2)
109
- end
110
-
111
- end # gem_release
224
+
225
+ end
226
+ end
112
227
 
113
228
  end # devops
@@ -1,3 +1,3 @@
1
1
  module DevopsHelper
2
- VERSION = "0.1.0"
2
+ VERSION = "0.5.0"
3
3
  end
data/lib/devops_helper.rb CHANGED
@@ -4,6 +4,7 @@ require "devops_helper/gem_core_helper"
4
4
  require "devops_helper/gem_version_helper"
5
5
  require "devops_helper/gem_rake_helper"
6
6
  require "devops_helper/vcs_helper"
7
+ require "devops_helper/gem_publish_helper"
7
8
 
8
9
  module DevopsHelper
9
10
  class Error < StandardError; end
@@ -13,6 +14,7 @@ module DevopsHelper
13
14
  include GemCoreHelper
14
15
  include GemVersionHelper
15
16
  include GemRakeHelper
17
+ include GemPublishHelper
16
18
  end
17
19
 
18
20
  class VcsHelper
metadata CHANGED
@@ -1,85 +1,85 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: devops_helper
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.5.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Chris
8
- autorequire:
8
+ autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2020-11-21 00:00:00.000000000 Z
11
+ date: 2021-10-21 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.4.0
19
+ version: '0'
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.4.0
26
+ version: '0'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: tlogger
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - "~>"
31
+ - - ">="
32
32
  - !ruby/object:Gem::Version
33
- version: 0.22.0
33
+ version: '0'
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.22.0
40
+ version: '0'
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.22.0
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.22.0
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: gvcs
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
- - - "~>"
59
+ - - ">="
60
60
  - !ruby/object:Gem::Version
61
- version: 0.1.0
61
+ version: '0'
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: 0.1.0
68
+ version: '0'
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: git_cli
71
71
  requirement: !ruby/object:Gem::Requirement
72
72
  requirements:
73
- - - "~>"
73
+ - - ">="
74
74
  - !ruby/object:Gem::Version
75
- version: 0.6.0
75
+ version: '0'
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.6.0
82
+ version: '0'
83
83
  description: " "
84
84
  email:
85
85
  - chrisliaw@antrapol.com
@@ -89,6 +89,7 @@ extra_rdoc_files: []
89
89
  files:
90
90
  - ".gitignore"
91
91
  - ".travis.yml"
92
+ - ".version_history.yml"
92
93
  - CODE_OF_CONDUCT.md
93
94
  - Gemfile
94
95
  - LICENSE.txt
@@ -100,6 +101,7 @@ files:
100
101
  - lib/Rakefile
101
102
  - lib/devops_helper.rb
102
103
  - lib/devops_helper/gem_core_helper.rb
104
+ - lib/devops_helper/gem_publish_helper.rb
103
105
  - lib/devops_helper/gem_rake_helper.rb
104
106
  - lib/devops_helper/gem_version_helper.rb
105
107
  - lib/devops_helper/global.rb
@@ -111,7 +113,7 @@ homepage: https://github.com/chrisliaw/devops_helper
111
113
  licenses:
112
114
  - MIT
113
115
  metadata: {}
114
- post_install_message:
116
+ post_install_message:
115
117
  rdoc_options: []
116
118
  require_paths:
117
119
  - lib
@@ -126,8 +128,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
126
128
  - !ruby/object:Gem::Version
127
129
  version: '0'
128
130
  requirements: []
129
- rubygems_version: 3.1.4
130
- signing_key:
131
+ rubygems_version: 3.2.22
132
+ signing_key:
131
133
  specification_version: 4
132
134
  summary: DevOps Helper to assist in DevOps operation
133
135
  test_files: []