devops_helper 0.1.0 → 0.5.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 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: []