rake-gem-maintenance 0.1.0 → 0.1.2

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: e0c71b796d66f9eaeb77ba3913ace494ae4acddaecef72272ddbf193ba07aa46
4
- data.tar.gz: 847747804775873ff3fbefa44978b62de67ab59ea1b12d4bd0cd5db30f0598c5
3
+ metadata.gz: 1c72b2f91816b0ef1039fdaffe4024ca4cc32d2705305337d57bd195d2277210
4
+ data.tar.gz: 6d0d9898d766046813829f7b37abc5608ad24fbc8652ab00d0c3c70a5862b6eb
5
5
  SHA512:
6
- metadata.gz: 579d114ee49198db37492ef50d20a72904961ae530685ca8e8f3fa9b51211d8434bc1610c6d6f25c7a6c91e52d4992f2864c3a273224ac8652071af3b6b65ac7
7
- data.tar.gz: 244936a0827886e6987a8dfb1290adf8ad168cd1c19520eb35b1266af859280ba29ab513afaf38a2a9bd2846f8ed59a4ed63dd5eb427873ee43722fd6e22ca97
6
+ metadata.gz: 0dcb043a4a6c76f21f65eab0e5e3a253ea507f51611849dfc6deffd9a3b21430fe43d447d6dcdc0356c087473980045c820af8321c4d1d08911b4e3499f9a2db
7
+ data.tar.gz: c6577460e083c825fceafda52befce79ca99ceb45d84f56ffcbc9fb3801424419f4f39307c48e2aa2c195eb52f4164f83106f7747464e97313df10acef0b9fe8
data/.rubocop.yml CHANGED
@@ -8,5 +8,9 @@ plugins:
8
8
  Layout/LineLength:
9
9
  Max: 120
10
10
 
11
+ Metrics/BlockLength:
12
+ Exclude:
13
+ - "features/step_definitions/**/*.rb"
14
+
11
15
  Style/StringLiterals:
12
16
  EnforcedStyle: double_quotes
data/CLAUDE.md CHANGED
@@ -1,39 +1,39 @@
1
- # CLAUDE.md
2
-
3
- ## Project Overview
4
-
5
- rake-gem-maintenance is a Ruby gem providing reusable Rake::TaskLib subclasses for gem maintenance workflows: dependency upgrades and version bumps.
6
-
7
- ## Common Commands
8
-
9
- ```bash
10
- # Install dependencies
11
- bundle install
12
-
13
- # Run all verification (specs + rubocop)
14
- rake
15
-
16
- # Run RSpec tests only
17
- rake spec
18
-
19
- # Run linter with auto-correct
20
- rake rubocop
21
- ```
22
-
23
- ## Architecture
24
-
25
- ### Core Classes (lib/rake/gem_maintenance/)
26
-
27
- - **UpgradeTask** — Rake::TaskLib subclass defining upgrade:* tasks (branch, gems, commit, push, auto)
28
- - **VersionBumpTask** — Rake::TaskLib subclass defining version:bump[type] and bump[type] tasks
29
-
30
- ### Entry Points
31
-
32
- - `rake/gem_maintenance.rb` — requires both task classes
33
- - `rake/gem_maintenance/install_tasks.rb` — auto-instantiates both with defaults
34
-
35
- ## Commit Conventions
36
-
37
- - Use conventional commit format: `type(scope): subject`
38
- - Keep subject line under 50 characters
39
- - Use present tense ("add feature" not "added feature")
1
+ # CLAUDE.md
2
+
3
+ ## Project Overview
4
+
5
+ rake-gem-maintenance is a Ruby gem providing reusable Rake::TaskLib subclasses for gem maintenance workflows: dependency upgrades and version bumps.
6
+
7
+ ## Common Commands
8
+
9
+ ```bash
10
+ # Install dependencies
11
+ bundle install
12
+
13
+ # Run all verification (specs + rubocop)
14
+ rake
15
+
16
+ # Run RSpec tests only
17
+ rake spec
18
+
19
+ # Run linter with auto-correct
20
+ rake rubocop
21
+ ```
22
+
23
+ ## Architecture
24
+
25
+ ### Core Classes (lib/rake/gem_maintenance/)
26
+
27
+ - **UpgradeTask** — Rake::TaskLib subclass defining upgrade:* tasks (branch, gems, commit, push, auto)
28
+ - **VersionBumpTask** — Rake::TaskLib subclass defining version:bump[type] and bump[type] tasks
29
+
30
+ ### Entry Points
31
+
32
+ - `rake/gem_maintenance.rb` — requires both task classes
33
+ - `rake/gem_maintenance/install_tasks.rb` — auto-instantiates both with defaults
34
+
35
+ ## Commit Conventions
36
+
37
+ - Use conventional commit format: `type(scope): subject`
38
+ - Keep subject line under 50 characters
39
+ - Use present tense ("add feature" not "added feature")
data/Gemfile CHANGED
@@ -4,12 +4,14 @@ source "https://rubygems.org"
4
4
 
5
5
  gemspec
6
6
 
7
- gem "ostruct"
8
-
7
+ gem "aruba"
8
+ gem "cucumber"
9
9
  gem "guard"
10
10
  gem "guard-bundler"
11
+ gem "guard-cucumber"
11
12
  gem "guard-rspec"
12
13
  gem "guard-rubocop"
14
+ gem "ostruct"
13
15
  gem "rspec"
14
16
  gem "rubocop"
15
17
  gem "rubocop-rake", require: false
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- rake-gem-maintenance (0.1.0)
4
+ rake-gem-maintenance (0.1.2)
5
5
  bundler-audit
6
6
  gem-release (~> 2.2)
7
7
  rake (>= 13.0)
@@ -9,15 +9,49 @@ PATH
9
9
  GEM
10
10
  remote: https://rubygems.org/
11
11
  specs:
12
+ aruba (2.3.3)
13
+ bundler (>= 1.17)
14
+ contracts (>= 0.16.0, < 0.18.0)
15
+ cucumber (>= 8.0, < 11.0)
16
+ rspec-expectations (>= 3.4, < 5.0)
17
+ thor (~> 1.0)
12
18
  ast (2.4.3)
19
+ base64 (0.3.0)
20
+ bigdecimal (4.1.2)
21
+ builder (3.3.0)
13
22
  bundler-audit (0.9.3)
14
23
  bundler (>= 1.2.0)
15
24
  thor (~> 1.0)
16
25
  coderay (1.1.3)
26
+ contracts (0.17.3)
27
+ cucumber (10.2.0)
28
+ base64 (~> 0.2)
29
+ builder (~> 3.2)
30
+ cucumber-ci-environment (> 9, < 12)
31
+ cucumber-core (> 15, < 17)
32
+ cucumber-cucumber-expressions (> 17, < 20)
33
+ cucumber-html-formatter (> 21, < 23)
34
+ diff-lcs (~> 1.5)
35
+ logger (~> 1.6)
36
+ mini_mime (~> 1.1)
37
+ multi_test (~> 1.1)
38
+ sys-uname (~> 1.3)
39
+ cucumber-ci-environment (11.0.0)
40
+ cucumber-core (16.2.0)
41
+ cucumber-gherkin (> 36, < 40)
42
+ cucumber-messages (> 31, < 33)
43
+ cucumber-tag-expressions (> 6, < 9)
44
+ cucumber-cucumber-expressions (19.0.0)
45
+ bigdecimal
46
+ cucumber-gherkin (39.0.0)
47
+ cucumber-messages (>= 31, < 33)
48
+ cucumber-html-formatter (22.3.0)
49
+ cucumber-messages (> 23, < 33)
50
+ cucumber-messages (32.3.1)
51
+ cucumber-tag-expressions (8.1.0)
17
52
  diff-lcs (1.6.2)
18
- ffi (1.17.3)
19
- ffi (1.17.3-x64-mingw-ucrt)
20
- ffi (1.17.3-x86_64-linux-gnu)
53
+ ffi (1.17.4-x64-mingw-ucrt)
54
+ ffi (1.17.4-x86_64-linux-gnu)
21
55
  formatador (1.2.3)
22
56
  reline
23
57
  gem-release (2.2.4)
@@ -36,6 +70,9 @@ GEM
36
70
  guard (~> 2.2)
37
71
  guard-compat (~> 1.1)
38
72
  guard-compat (1.2.1)
73
+ guard-cucumber (3.0.0)
74
+ cucumber (>= 3.1)
75
+ nenv (>= 0.1)
39
76
  guard-rspec (4.7.3)
40
77
  guard (~> 2.1)
41
78
  guard-compat (~> 1.1)
@@ -44,7 +81,7 @@ GEM
44
81
  guard (~> 2.0)
45
82
  rubocop (< 2.0)
46
83
  io-console (0.8.2)
47
- json (2.18.1)
84
+ json (2.19.4)
48
85
  language_server-protocol (3.17.0.5)
49
86
  lint_roller (1.1.0)
50
87
  listen (3.10.0)
@@ -53,14 +90,17 @@ GEM
53
90
  rb-inotify (~> 0.9, >= 0.9.10)
54
91
  logger (1.7.0)
55
92
  lumberjack (1.4.2)
93
+ memoist3 (1.0.0)
56
94
  method_source (1.1.0)
95
+ mini_mime (1.1.5)
96
+ multi_test (1.1.0)
57
97
  nenv (0.3.0)
58
98
  notiffany (0.1.3)
59
99
  nenv (~> 0.1)
60
100
  shellany (~> 0.0)
61
101
  ostruct (0.6.3)
62
- parallel (1.27.0)
63
- parser (3.3.10.1)
102
+ parallel (2.0.1)
103
+ parser (3.3.11.1)
64
104
  ast (~> 2.4.1)
65
105
  racc
66
106
  prism (1.9.0)
@@ -70,11 +110,11 @@ GEM
70
110
  reline (>= 0.6.0)
71
111
  racc (1.8.1)
72
112
  rainbow (3.1.1)
73
- rake (13.3.1)
113
+ rake (13.4.2)
74
114
  rb-fsevent (0.11.2)
75
115
  rb-inotify (0.11.1)
76
116
  ffi (~> 1.0)
77
- regexp_parser (2.11.3)
117
+ regexp_parser (2.12.0)
78
118
  reline (0.6.3)
79
119
  io-console (~> 0.5)
80
120
  rspec (3.13.2)
@@ -86,22 +126,22 @@ GEM
86
126
  rspec-expectations (3.13.5)
87
127
  diff-lcs (>= 1.2.0, < 2.0)
88
128
  rspec-support (~> 3.13.0)
89
- rspec-mocks (3.13.7)
129
+ rspec-mocks (3.13.8)
90
130
  diff-lcs (>= 1.2.0, < 2.0)
91
131
  rspec-support (~> 3.13.0)
92
132
  rspec-support (3.13.7)
93
- rubocop (1.84.1)
133
+ rubocop (1.86.1)
94
134
  json (~> 2.3)
95
135
  language_server-protocol (~> 3.17.0.2)
96
136
  lint_roller (~> 1.1.0)
97
- parallel (~> 1.10)
137
+ parallel (>= 1.10)
98
138
  parser (>= 3.3.0.2)
99
139
  rainbow (>= 2.2.2, < 4.0)
100
140
  regexp_parser (>= 2.9.3, < 3.0)
101
141
  rubocop-ast (>= 1.49.0, < 2.0)
102
142
  ruby-progressbar (~> 1.7)
103
143
  unicode-display_width (>= 2.4.0, < 4.0)
104
- rubocop-ast (1.49.0)
144
+ rubocop-ast (1.49.1)
105
145
  parser (>= 3.3.7.2)
106
146
  prism (~> 1.7)
107
147
  rubocop-rake (0.7.1)
@@ -112,19 +152,29 @@ GEM
112
152
  rubocop (~> 1.81)
113
153
  ruby-progressbar (1.13.0)
114
154
  shellany (0.0.1)
155
+ sys-uname (1.5.1)
156
+ ffi (~> 1.1)
157
+ memoist3 (~> 1.0.0)
158
+ sys-uname (1.5.1-universal-mingw32)
159
+ ffi (~> 1.1)
160
+ memoist3 (~> 1.0.0)
161
+ win32ole
115
162
  thor (1.5.0)
116
163
  unicode-display_width (3.2.0)
117
164
  unicode-emoji (~> 4.1)
118
165
  unicode-emoji (4.2.0)
166
+ win32ole (1.9.3)
119
167
 
120
168
  PLATFORMS
121
- ruby
122
169
  x64-mingw-ucrt
123
170
  x86_64-linux
124
171
 
125
172
  DEPENDENCIES
173
+ aruba
174
+ cucumber
126
175
  guard
127
176
  guard-bundler
177
+ guard-cucumber
128
178
  guard-rspec
129
179
  guard-rubocop
130
180
  ostruct
@@ -135,57 +185,76 @@ DEPENDENCIES
135
185
  rubocop-rspec
136
186
 
137
187
  CHECKSUMS
188
+ aruba (2.3.3) sha256=837a2f023368a75a38ad9be227e9738ab9af7df3b3f35afd8fb5fc5f7a93f1d4
138
189
  ast (2.4.3) sha256=954615157c1d6a382bc27d690d973195e79db7f55e9765ac7c481c60bdb4d383
190
+ base64 (0.3.0) sha256=27337aeabad6ffae05c265c450490628ef3ebd4b67be58257393227588f5a97b
191
+ bigdecimal (4.1.2) sha256=53d217666027eab4280346fba98e7d5b66baaae1b9c3c1c0ffe89d48188a3fbd
192
+ builder (3.3.0) sha256=497918d2f9dca528fdca4b88d84e4ef4387256d984b8154e9d5d3fe5a9c8835f
139
193
  bundler-audit (0.9.3) sha256=81c8766c71e47d0d28a0f98c7eed028539f21a6ea3cd8f685eb6f42333c9b4e9
140
194
  coderay (1.1.3) sha256=dc530018a4684512f8f38143cd2a096c9f02a1fc2459edcfe534787a7fc77d4b
195
+ contracts (0.17.3) sha256=e72e626413ea47099becb7b5683beb1c2ea902c69f5bad55c9258fe2b48314d7
196
+ cucumber (10.2.0) sha256=fdedbd31ecf40858b60f04853f2aa15c44f5c30bbac29c6a227fa1e7005a8158
197
+ cucumber-ci-environment (11.0.0) sha256=0df79a9e1d0b015b3d9def680f989200d96fef206f4d19ccf86a338c4f71d1e2
198
+ cucumber-core (16.2.0) sha256=592b58a95cf42feef8e5a349f68e363784ba3b6568ffbcf6776e38e136cf970b
199
+ cucumber-cucumber-expressions (19.0.0) sha256=33208ff204732ac9bed42b46993a0a243054f71ece08579d57e53df6a1c9d93a
200
+ cucumber-gherkin (39.0.0) sha256=46f51d87e910f41c3c5cee3b500028ca2b2e7149a413a8280b9a58cee2593e55
201
+ cucumber-html-formatter (22.3.0) sha256=f9768ed05588dbd73a5f3824c2cc648bd86b00206e6972d743af8051281d0729
202
+ cucumber-messages (32.3.1) sha256=ddc88e4c1cf7afb96c06005b92a4a6f221a2fa435a8b4ca04677d215fd82771c
203
+ cucumber-tag-expressions (8.1.0) sha256=9bd8c4b6654f8e5bf2a9c99329b6f32136a75e50cd39d4cfb3927d0fa9f52e21
141
204
  diff-lcs (1.6.2) sha256=9ae0d2cba7d4df3075fe8cd8602a8604993efc0dfa934cff568969efb1909962
142
- ffi (1.17.3) sha256=0e9f39f7bb3934f77ad6feab49662be77e87eedcdeb2a3f5c0234c2938563d4c
143
- ffi (1.17.3-x64-mingw-ucrt) sha256=5f1d7d067a9a1058ad183dba25b05557cd51c85fc1768c49338eabc1cf242d7c
144
- ffi (1.17.3-x86_64-linux-gnu) sha256=3746b01f677aae7b16dc1acb7cb3cc17b3e35bdae7676a3f568153fb0e2c887f
205
+ ffi (1.17.4-x64-mingw-ucrt) sha256=f6ff9618cfccc494138bddade27aa06c74c6c7bc367a1ea1103d80c2fcb9ed35
206
+ ffi (1.17.4-x86_64-linux-gnu) sha256=9d3db14c2eae074b382fa9c083fe95aec6e0a1451da249eab096c34002bc752d
145
207
  formatador (1.2.3) sha256=19fa898133c2c26cdbb5d09f6998c1e137ad9427a046663e55adfe18b950d894
146
208
  gem-release (2.2.4) sha256=2f11124c1580c811507c3b47e875e420cf3ed792a98105b49df11971e6e94db3
147
209
  guard (2.20.1) sha256=ab9cd7873854e6b76080c0589f781ff3e390e441bdda20165804df54f977015a
148
210
  guard-bundler (3.1.0) sha256=d0e60e46d6c06e201e79f61623211f64961cb000188f55fb76e36dc892ff0e35
149
211
  guard-compat (1.2.1) sha256=3ad21ab0070107f92edfd82610b5cdc2fb8e368851e72362ada9703443d646fe
212
+ guard-cucumber (3.0.0) sha256=6a21b666e2b5a927c7d046f4e6cf609ec057e226bf883f066a650e57e04aeac0
150
213
  guard-rspec (4.7.3) sha256=a47ba03cbd1e3c71e6ae8645cea97e203098a248aede507461a43e906e2f75ca
151
214
  guard-rubocop (1.5.0) sha256=3041d796dcb5ee31e352de74732250826f5f235b4ff48df9dbf424a6dc736251
152
215
  io-console (0.8.2) sha256=d6e3ae7a7cc7574f4b8893b4fca2162e57a825b223a177b7afa236c5ef9814cc
153
- json (2.18.1) sha256=fe112755501b8d0466b5ada6cf50c8c3f41e897fa128ac5d263ec09eedc9f986
216
+ json (2.19.4) sha256=670a7d333fb3b18ca5b29cb255eb7bef099e40d88c02c80bd42a3f30fe5239ac
154
217
  language_server-protocol (3.17.0.5) sha256=fd1e39a51a28bf3eec959379985a72e296e9f9acfce46f6a79d31ca8760803cc
155
218
  lint_roller (1.1.0) sha256=2c0c845b632a7d172cb849cc90c1bce937a28c5c8ccccb50dfd46a485003cc87
156
219
  listen (3.10.0) sha256=c6e182db62143aeccc2e1960033bebe7445309c7272061979bb098d03760c9d2
157
220
  logger (1.7.0) sha256=196edec7cc44b66cfb40f9755ce11b392f21f7967696af15d274dde7edff0203
158
221
  lumberjack (1.4.2) sha256=40de5ae46321380c835031bcc1370f13bba304d29f2b5f5bb152061a5a191b95
222
+ memoist3 (1.0.0) sha256=686e42402cf150a362050c23143dc57b0ef88f8c344943ff8b7845792b50d56f
159
223
  method_source (1.1.0) sha256=181301c9c45b731b4769bc81e8860e72f9161ad7d66dd99103c9ab84f560f5c5
224
+ mini_mime (1.1.5) sha256=8681b7e2e4215f2a159f9400b5816d85e9d8c6c6b491e96a12797e798f8bccef
225
+ multi_test (1.1.0) sha256=e9e550cdd863fb72becfe344aefdcd4cbd26ebf307847f4a6c039a4082324d10
160
226
  nenv (0.3.0) sha256=d9de6d8fb7072228463bf61843159419c969edb34b3cef51832b516ae7972765
161
227
  notiffany (0.1.3) sha256=d37669605b7f8dcb04e004e6373e2a780b98c776f8eb503ac9578557d7808738
162
228
  ostruct (0.6.3) sha256=95a2ed4a4bd1d190784e666b47b2d3f078e4a9efda2fccf18f84ddc6538ed912
163
- parallel (1.27.0) sha256=4ac151e1806b755fb4e2dc2332cbf0e54f2e24ba821ff2d3dcf86bf6dc4ae130
164
- parser (3.3.10.1) sha256=06f6a725d2cd91e5e7f2b7c32ba143631e1f7c8ae2fb918fc4cebec187e6a688
229
+ parallel (2.0.1) sha256=337782d3e39f4121e67563bf91dd8ece67f48923d90698614773a0ec9a5b2c7d
230
+ parser (3.3.11.1) sha256=d17ace7aabe3e72c3cc94043714be27cc6f852f104d81aa284c2281aecc65d54
165
231
  prism (1.9.0) sha256=7b530c6a9f92c24300014919c9dcbc055bf4cdf51ec30aed099b06cd6674ef85
166
232
  pry (0.16.0) sha256=d76c69065698ed1f85e717bd33d7942c38a50868f6b0673c636192b3d1b6054e
167
233
  racc (1.8.1) sha256=4a7f6929691dbec8b5209a0b373bc2614882b55fc5d2e447a21aaa691303d62f
168
234
  rainbow (3.1.1) sha256=039491aa3a89f42efa1d6dec2fc4e62ede96eb6acd95e52f1ad581182b79bc6a
169
- rake (13.3.1) sha256=8c9e89d09f66a26a01264e7e3480ec0607f0c497a861ef16063604b1b08eb19c
170
- rake-gem-maintenance (0.1.0)
235
+ rake (13.4.2) sha256=cb825b2bd5f1f8e91ca37bddb4b9aaf345551b4731da62949be002fa89283701
236
+ rake-gem-maintenance (0.1.2)
171
237
  rb-fsevent (0.11.2) sha256=43900b972e7301d6570f64b850a5aa67833ee7d87b458ee92805d56b7318aefe
172
238
  rb-inotify (0.11.1) sha256=a0a700441239b0ff18eb65e3866236cd78613d6b9f78fea1f9ac47a85e47be6e
173
- regexp_parser (2.11.3) sha256=ca13f381a173b7a93450e53459075c9b76a10433caadcb2f1180f2c741fc55a4
239
+ regexp_parser (2.12.0) sha256=35a916a1d63190ab5c9009457136ae5f3c0c7512d60291d0d1378ba18ce08ebb
174
240
  reline (0.6.3) sha256=1198b04973565b36ec0f11542ab3f5cfeeec34823f4e54cebde90968092b1835
175
241
  rspec (3.13.2) sha256=206284a08ad798e61f86d7ca3e376718d52c0bc944626b2349266f239f820587
176
242
  rspec-core (3.13.6) sha256=a8823c6411667b60a8bca135364351dda34cd55e44ff94c4be4633b37d828b2d
177
243
  rspec-expectations (3.13.5) sha256=33a4d3a1d95060aea4c94e9f237030a8f9eae5615e9bd85718fe3a09e4b58836
178
- rspec-mocks (3.13.7) sha256=0979034e64b1d7a838aaaddf12bf065ea4dc40ef3d4c39f01f93ae2c66c62b1c
244
+ rspec-mocks (3.13.8) sha256=086ad3d3d17533f4237643de0b5c42f04b66348c28bf6b9c2d3f4a3b01af1d47
179
245
  rspec-support (3.13.7) sha256=0640e5570872aafefd79867901deeeeb40b0c9875a36b983d85f54fb7381c47c
180
- rubocop (1.84.1) sha256=14cc626f355141f5a2ef53c10a68d66b13bb30639b26370a76559096cc6bcc1a
181
- rubocop-ast (1.49.0) sha256=49c3676d3123a0923d333e20c6c2dbaaae2d2287b475273fddee0c61da9f71fd
246
+ rubocop (1.86.1) sha256=44415f3f01d01a21e01132248d2fd0867572475b566ca188a0a42133a08d4531
247
+ rubocop-ast (1.49.1) sha256=4412f3ee70f6fe4546cc489548e0f6fcf76cafcfa80fa03af67098ffed755035
182
248
  rubocop-rake (0.7.1) sha256=3797f2b6810c3e9df7376c26d5f44f3475eda59eb1adc38e6f62ecf027cbae4d
183
249
  rubocop-rspec (3.9.0) sha256=8fa70a3619408237d789aeecfb9beef40576acc855173e60939d63332fdb55e2
184
250
  ruby-progressbar (1.13.0) sha256=80fc9c47a9b640d6834e0dc7b3c94c9df37f08cb072b7761e4a71e22cff29b33
185
251
  shellany (0.0.1) sha256=0e127a9132698766d7e752e82cdac8250b6adbd09e6c0a7fbbb6f61964fedee7
252
+ sys-uname (1.5.1) sha256=784d7e6491b0393c25cbbe5ac38324ac7be9fda083a6094832648af669386d7b
253
+ sys-uname (1.5.1-universal-mingw32) sha256=aceb618e3276da5eae0ce368e9f6fae8c1f3e9ef23a0595cb88db7b6ecd45f62
186
254
  thor (1.5.0) sha256=e3a9e55fe857e44859ce104a84675ab6e8cd59c650a49106a05f55f136425e73
187
255
  unicode-display_width (3.2.0) sha256=0cdd96b5681a5949cdbc2c55e7b420facae74c4aaf9a9815eee1087cb1853c42
188
256
  unicode-emoji (4.2.0) sha256=519e69150f75652e40bf736106cfbc8f0f73aa3fb6a65afe62fefa7f80b0f80f
257
+ win32ole (1.9.3) sha256=01f43dc5dc13806e6e58204f538b4a28f3d85968ea89074abc9a3cd118e94d96
189
258
 
190
259
  BUNDLED WITH
191
260
  4.0.4
data/Guardfile CHANGED
@@ -25,6 +25,13 @@ group :red_green_refactor, halt_on_fail: true do
25
25
  dsl.watch_spec_files_for(ruby.lib_files)
26
26
  end
27
27
 
28
+ guard "cucumber", notification: false do
29
+ watch(%r{^features/.+\.feature$})
30
+ watch(%r{^features/support/.+$}) { "features" }
31
+ watch(%r{^features/step_definitions/.+$}) { "features" }
32
+ watch(%r{^lib/.+\.rb$}) { "features" }
33
+ end
34
+
28
35
  guard "rubocop", cli: ["--format", "clang", "--autocorrect"] do
29
36
  watch(/.+\.rb$/)
30
37
  watch(%r{(?:.+/)?\.rubocop(?:_todo)?\.yml$}) { |m| m[0] ? File.dirname(m[0]) : "." }
data/README.md CHANGED
@@ -1,7 +1,7 @@
1
1
  # Rake::GemMaintenance
2
2
 
3
- [![Test rake-gem-maintenance](https://github.com/cbroult/rake-gem-maintenance/actions/workflows/main.yml/badge.svg)](https://github.com/cbroult/rake-gem-maintenance/actions/workflows/main.yml)
4
- [![Dependabot Updates](https://github.com/cbroult/rake-gem-maintenance/actions/workflows/dependabot/dependabot-updates/badge.svg)](https://github.com/cbroult/rake-gem-maintenance/actions/workflows/dependabot/dependabot-updates)
3
+ [![Ruby](https://github.com/cbroult/rake-gem-maintenance/actions/workflows/main.yml/badge.svg)](https://github.com/cbroult/rake-gem-maintenance/actions/workflows/main.yml)
4
+ [![Dependabot](https://img.shields.io/badge/dependabot-enabled-blue?logo=dependabot)](https://github.com/cbroult/rake-gem-maintenance/network/updates)
5
5
 
6
6
  Reusable Rake tasks for gem maintenance: dependency upgrades and version bumps.
7
7
 
data/Rakefile CHANGED
@@ -11,9 +11,13 @@ RuboCop::RakeTask.new do |t|
11
11
  t.options = ["--autocorrect"]
12
12
  end
13
13
 
14
- require "rake/gem_maintenance/install_tasks"
14
+ require "cucumber/rake/task"
15
+
16
+ Cucumber::Rake::Task.new
17
+
18
+ require "rake/gem/maintenance/install_tasks"
15
19
 
16
20
  task default: :verify
17
21
 
18
22
  desc "Run all verification tasks"
19
- task verify: %i[spec rubocop]
23
+ task verify: %i[spec cucumber rubocop]
data/TODO.md ADDED
@@ -0,0 +1 @@
1
+ * Relocate to Rake::Gem::Maintenance so that `rake bump` works (it fails currently).
data/cucumber.yml ADDED
@@ -0,0 +1,2 @@
1
+ default: --strict --publish-quiet --format progress
2
+ verbose: --strict --publish-quiet --format pretty
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require_relative "../gem_maintenance"
3
+ require_relative "../maintenance"
4
4
 
5
5
  Rake::GemMaintenance::UpgradeTask.new
6
6
  Rake::GemMaintenance::VersionBumpTask.new
@@ -117,7 +117,7 @@ module Rake
117
117
  end
118
118
 
119
119
  def push_branch
120
- sh "git push origin #{upgrade_branch}"
120
+ sh "git push --force-with-lease origin #{upgrade_branch}"
121
121
  end
122
122
  end
123
123
  end
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Rake
4
4
  module GemMaintenance
5
- VERSION = "0.1.0"
5
+ VERSION = "0.1.2"
6
6
  end
7
7
  end
@@ -73,12 +73,29 @@ module Rake
73
73
 
74
74
  def execute_version_bump(type)
75
75
  puts "Bumping #{type} version..."
76
- bump_result = system("bundle exec gem bump --version #{type} --message '#{commit_message_template}'")
76
+ version_file = detect_version_file
77
+ cmd = "bundle exec gem bump --version #{type}"
78
+ cmd += " --file #{version_file}" if version_file
79
+ bump_result = system("#{cmd} --message '#{commit_message_template}'")
77
80
  return if bump_result
78
81
 
79
82
  abort "Error: Failed to bump version"
80
83
  end
81
84
 
85
+ def detect_version_file
86
+ gemspec_path = Dir.glob("*.gemspec").first
87
+ return nil unless gemspec_path
88
+
89
+ gem_name = Gem::Specification.load(gemspec_path).name
90
+ version_rb = File.join("lib", gem_name.tr("-", "/"), "version.rb")
91
+ return version_rb if File.exist?(version_rb)
92
+
93
+ version_rb = File.join("lib", gem_name.split("-").first, gem_name.split("-")[1..].join("_"), "version.rb")
94
+ return version_rb if File.exist?(version_rb)
95
+
96
+ nil
97
+ end
98
+
82
99
  def update_gemfile_lock
83
100
  puts "Updating Gemfile.lock..."
84
101
  bundle_result = system("bundle install")
@@ -0,0 +1,5 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative "maintenance/version"
4
+ require_relative "maintenance/version_bump_task"
5
+ require_relative "maintenance/upgrade_task"
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require_relative "lib/rake/gem_maintenance/version"
3
+ require_relative "lib/rake/gem/maintenance/version"
4
4
 
5
5
  Gem::Specification.new do |spec|
6
6
  spec.name = "rake-gem-maintenance"
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rake-gem-maintenance
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.1.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Christophe Broult
@@ -68,11 +68,13 @@ files:
68
68
  - LICENSE.txt
69
69
  - README.md
70
70
  - Rakefile
71
- - lib/rake/gem_maintenance.rb
72
- - lib/rake/gem_maintenance/install_tasks.rb
73
- - lib/rake/gem_maintenance/upgrade_task.rb
74
- - lib/rake/gem_maintenance/version.rb
75
- - lib/rake/gem_maintenance/version_bump_task.rb
71
+ - TODO.md
72
+ - cucumber.yml
73
+ - lib/rake/gem/maintenance.rb
74
+ - lib/rake/gem/maintenance/install_tasks.rb
75
+ - lib/rake/gem/maintenance/upgrade_task.rb
76
+ - lib/rake/gem/maintenance/version.rb
77
+ - lib/rake/gem/maintenance/version_bump_task.rb
76
78
  - rake-gem-maintenance.gemspec
77
79
  homepage: https://github.com/cbroult/rake-gem-maintenance
78
80
  licenses:
@@ -96,7 +98,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
96
98
  - !ruby/object:Gem::Version
97
99
  version: '0'
98
100
  requirements: []
99
- rubygems_version: 4.0.6
101
+ rubygems_version: 4.0.10
100
102
  specification_version: 4
101
103
  summary: 'Rake tasks for gem maintenance: dependency upgrades and version bumps.'
102
104
  test_files: []
@@ -1,5 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require_relative "gem_maintenance/version"
4
- require_relative "gem_maintenance/upgrade_task"
5
- require_relative "gem_maintenance/version_bump_task"