kettle-dev 3.1.1 → 3.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: eaf2fc5f85eac56d87d38a8029c740631c50410cfb76c35d5e488df48374f170
4
- data.tar.gz: d229bb60bdd25990a7e9666dcd7f54f61c42b58ecb695c63f70db3e1a17f2802
3
+ metadata.gz: 43b362327936ebb689b258932474b16cc41f0654877ea6a41633ee1621e6a078
4
+ data.tar.gz: ee64106fa90db9443483eab9433fbecd3690e61c61a8afc436e6224cbe4d607f
5
5
  SHA512:
6
- metadata.gz: c439b9406442d64e949a50fc2669eb1eb4a94a43e36cde5c71797e86d16e4278cff16bf582e212b54b1cf50ffbdaa982a334ffd25f4f8c12b6d887b6c8565aad
7
- data.tar.gz: '0920ce88eb1b862b8071d1958ef9c638dc55166b68c6abab21b6b93d96fea1e8656187e00086c5a43ee2fb2dd408bb8c737cf5a524a86cab1fbd19e09d6fc90b'
6
+ metadata.gz: 61aaf3cde5f12a6b2fc57144efd7dcee5c5a9d9f56d42c5b1715768816e64f393d8c3492b76cc85e0dd1f712fe25e7c32cce46cae0bd97748b34485d58b02759
7
+ data.tar.gz: 6f68bc9631eb4a2fddc50e7831464227d7526bcf8d073f986c3d533e1fcefa41bed0273bb6894e6b48a1cdb0e4fdc9a0970cf7d3bda831a402fb7448599d4161
checksums.yaml.gz.sig CHANGED
@@ -1,3 +1,2 @@
1
- /Xl�j�ꪝ��kc$��b��)���.�Z�����2B��>{(�
2
- �}>��ŠU�����g��D?�Y�
3
- �r�!RX��̩J���c�v�!�k�o�L�H��̧�i��T����(� � � xGW[t<�^>Aq���#��R��eij=H�L`ԯr�TJ�S������Ӟ�q}�4E,a�ܤ��^�I(&�z�4�Qzx/l�Y��d����4�_�����6������t���2��`��B ��b<qR׶�:=g(�{��a��6���Z�1�*)��t��.[RhFC/�Źs��W��3�i�ۑw��z�,��`2��A,J�r�ŕ�y�՛�K�=I�� J��l\.f�;nL6�`}��M�O'#.� s��
1
+ Z3���f⛻�?a~����Y;}��e�����m�Ջ� CB�<u��fP>O�`#&�X$�b,�޳� ���)�c�G�<�\_M���_��# P %?��W�?�+~sS+�k�9�\̦�-��^#���D ,���k�lOq+��l�d�Z�\�B��q1�بl��ONJ3� x6�80cW{�c7��$h��O�J�ˊ���@B`>�1֦VWf�~���-AXχ�o�*��ސ�&�ڑcU89
2
+ 9��3�]���*YJ�m��r����E�o��5��f��jA/Rl_���!h*£K�QсTC�κ}7�v����Qe���ed�`G�}Q��O���e�u'�&'N��*� ��n�PS�F
data/CHANGELOG.md CHANGED
@@ -30,6 +30,40 @@ Please file a bug if you notice a violation of semantic versioning.
30
30
 
31
31
  ### Security
32
32
 
33
+ ## [3.1.2] - 2026-09-27
34
+
35
+ - TAG: [v3.1.2][3.1.2t]
36
+ - COVERAGE: 91.60% -- 6149/6713 lines in 48 files
37
+ - BRANCH COVERAGE: 76.10% -- 2347/3084 branches in 48 files
38
+ - 51.02% documented
39
+
40
+ ### Added
41
+
42
+ - kettle-jem-template-20260913-001 - Templating now also surfaces a review
43
+ entry in `dependency_conflicts.resolve` when a direct development
44
+ dependency doesn't support one or more of this project's declared
45
+ `engines:` and has no template-managed modular home (e.g. `sqlite3` on
46
+ `jruby`). Review each entry and pick a resolution per the project's own
47
+ engine support needs.
48
+
49
+ ### Changed
50
+
51
+ - [kc] kettle-jem/prepare: updated 15 project files:
52
+ - configuration (1)
53
+ - dependencies (14)
54
+
55
+ - [kc] kettle-jem/template: updated 35 project files:
56
+ - code and tests (3)
57
+ - dependencies (1)
58
+ - other (1)
59
+ - workflows (30)
60
+
61
+ ### Fixed
62
+
63
+ - Handle macOS PTY EOF and canonicalize release-contract paths beneath symlinked temporary roots.
64
+
65
+ - Run bundled YARD scripts through Ruby on Windows and accept absolute Windows RUBOCOP_LTS_LOCAL paths.
66
+
33
67
  ## [3.1.1] - 2026-09-14
34
68
 
35
69
  - TAG: [v3.1.1][3.1.1t]
@@ -3871,7 +3905,9 @@ Please file a bug if you notice a violation of semantic versioning.
3871
3905
  - Selecting will run the selected workflow via `act`
3872
3906
  - This may move to its own gem in the future.
3873
3907
 
3874
- [Unreleased]: https://github.com/kettle-dev/kettle-dev/compare/v3.1.1...HEAD
3908
+ [Unreleased]: https://github.com/kettle-dev/kettle-dev/compare/v3.1.2...HEAD
3909
+ [3.1.2]: https://github.com/kettle-dev/kettle-dev/compare/v3.1.1...v3.1.2
3910
+ [3.1.2t]: https://github.com/kettle-dev/kettle-dev/releases/tag/v3.1.2
3875
3911
  [3.1.1]: https://github.com/kettle-dev/kettle-dev/compare/v3.1.0...v3.1.1
3876
3912
  [3.1.1t]: https://github.com/kettle-dev/kettle-dev/releases/tag/v3.1.1
3877
3913
  [3.1.0]: https://github.com/kettle-dev/kettle-dev/compare/v3.0.34...v3.1.0
data/README.md CHANGED
@@ -1066,7 +1066,7 @@ Thanks for RTFM. ☺️
1066
1066
  [📌gitmoji]: https://gitmoji.dev
1067
1067
  [📌gitmoji-img]: https://img.shields.io/badge/gitmoji_commits-%20%F0%9F%98%9C%20%F0%9F%98%8D-34495e.svg?style=flat-square
1068
1068
  [🧮kloc]: https://www.youtube.com/watch?v=dQw4w9WgXcQ
1069
- [🧮kloc-img]: https://img.shields.io/badge/KLOC-6.705-FFDD67.svg?style=for-the-badge&logo=YouTube&logoColor=blue
1069
+ [🧮kloc-img]: https://img.shields.io/badge/KLOC-6.713-FFDD67.svg?style=for-the-badge&logo=YouTube&logoColor=blue
1070
1070
  [🔐security]: https://github.com/kettle-dev/kettle-dev/blob/main/SECURITY.md
1071
1071
  [🔐security-img]: https://img.shields.io/badge/security-policy-259D6C.svg?style=flat
1072
1072
  [📄copyright-notice-explainer]: https://opensource.stackexchange.com/questions/5778/why-do-licenses-such-as-the-mit-license-specify-a-single-year
@@ -968,7 +968,7 @@ module Kettle
968
968
 
969
969
  # Run the canonical docs task to get the documentation percentage.
970
970
  commands.each do |command|
971
- prepare_yard_fence_tmp_files if command == [File.join(@root, "bin", "yard")]
971
+ prepare_yard_fence_tmp_files if command.include?(File.join(@root, "bin", "yard"))
972
972
  output, status = capture_yard_command(command)
973
973
  unless command_successful?(status)
974
974
  return handle_yard_documentation_failure(yard_command_failure_message(command, output, status))
@@ -1012,9 +1012,9 @@ module Kettle
1012
1012
 
1013
1013
  def yard_command_label(command)
1014
1014
  command = Array(command)
1015
- bin = command.first.to_s
1015
+ bin = command.find { |part| [File.join(@root, "bin", "rake"), File.join(@root, "bin", "yard")].include?(part) }.to_s
1016
1016
  if bin == File.join(@root, "bin", "rake")
1017
- "bin/rake #{command.drop(1).join(" ")}".strip
1017
+ "bin/rake #{command.drop_while { |part| part != bin }.drop(1).join(" ")}".strip
1018
1018
  elsif bin == File.join(@root, "bin", "yard")
1019
1019
  "bin/yard"
1020
1020
  else
@@ -1025,9 +1025,9 @@ module Kettle
1025
1025
  def yard_documentation_commands
1026
1026
  commands = []
1027
1027
  rake = File.join(@root, "bin", "rake")
1028
- commands << [rake, "yard"] if File.executable?(rake)
1028
+ commands << [RbConfig.ruby, rake, "yard"] if File.file?(rake)
1029
1029
  yard = File.join(@root, "bin", "yard")
1030
- commands << [yard] if File.executable?(yard)
1030
+ commands << [RbConfig.ruby, yard] if File.file?(yard)
1031
1031
  commands
1032
1032
  end
1033
1033
 
@@ -50,8 +50,8 @@ module Kettle
50
50
  end
51
51
  end
52
52
  end
53
- rescue Errno::EIO
54
- # PTY raises EIO when the child process exits after closing the slave.
53
+ rescue Errno::EIO, EOFError
54
+ # PTY platforms signal a closed child with EIO or EOFError.
55
55
  rescue Kettle::Dev::Error
56
56
  Process.kill("TERM", pid)
57
57
  raise
@@ -3,6 +3,7 @@
3
3
  # External stdlib
4
4
  require "digest"
5
5
  require "open3"
6
+ require "pathname"
6
7
  require "shellwords"
7
8
  require "time"
8
9
  require "fileutils"
@@ -707,8 +708,8 @@ module Kettle
707
708
  end
708
709
 
709
710
  def same_path?(left, right)
710
- File.realpath(left) == File.realpath(right)
711
- rescue Errno::ENOENT
711
+ File.identical?(left, right)
712
+ rescue SystemCallError
712
713
  false
713
714
  end
714
715
 
@@ -716,7 +717,7 @@ module Kettle
716
717
  value = ENV["RUBOCOP_LTS_LOCAL"].to_s.strip
717
718
  return nil if value.empty? || %w[false 0 no off].include?(value.downcase)
718
719
  return File.join(Dir.home, "src", "rubocop-lts") if %w[true 1 yes on].include?(value.downcase)
719
- return value if value.start_with?("/")
720
+ return value if Pathname.new(value).absolute?
720
721
 
721
722
  File.join(Dir.home, value)
722
723
  end
@@ -87,7 +87,18 @@ module Kettle
87
87
 
88
88
  def canonical_path(path)
89
89
  expanded = File.expand_path(path, @root)
90
- File.realpath(expanded)
90
+ candidate = expanded
91
+ suffix = []
92
+
93
+ until File.exist?(candidate) || File.symlink?(candidate)
94
+ parent = File.dirname(candidate)
95
+ return expanded if parent == candidate
96
+
97
+ suffix.unshift(File.basename(candidate))
98
+ candidate = parent
99
+ end
100
+
101
+ suffix.reduce(File.realpath(candidate)) { |base, component| File.join(base, component) }
91
102
  rescue Errno::ENOENT
92
103
  expanded
93
104
  end
@@ -5,7 +5,7 @@ module Kettle
5
5
  # Version namespace for this gem.
6
6
  module Version
7
7
  # Current gem version.
8
- VERSION = "3.1.1"
8
+ VERSION = "3.1.2"
9
9
  end
10
10
  # Current gem version exposed at the traditional constant location.
11
11
  VERSION = Version::VERSION # Traditional Constant Location
data.tar.gz.sig CHANGED
Binary file
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: kettle-dev
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.1.1
4
+ version: 3.1.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Peter H. Boling
@@ -60,7 +60,7 @@ dependencies:
60
60
  version: '0.3'
61
61
  - - ">="
62
62
  - !ruby/object:Gem::Version
63
- version: 0.3.15
63
+ version: 0.3.16
64
64
  type: :runtime
65
65
  prerelease: false
66
66
  version_requirements: !ruby/object:Gem::Requirement
@@ -70,7 +70,7 @@ dependencies:
70
70
  version: '0.3'
71
71
  - - ">="
72
72
  - !ruby/object:Gem::Version
73
- version: 0.3.15
73
+ version: 0.3.16
74
74
  - !ruby/object:Gem::Dependency
75
75
  name: kettle-ndjson
76
76
  requirement: !ruby/object:Gem::Requirement
@@ -80,7 +80,7 @@ dependencies:
80
80
  version: '0.1'
81
81
  - - ">="
82
82
  - !ruby/object:Gem::Version
83
- version: 0.1.16
83
+ version: 0.1.18
84
84
  type: :runtime
85
85
  prerelease: false
86
86
  version_requirements: !ruby/object:Gem::Requirement
@@ -90,7 +90,7 @@ dependencies:
90
90
  version: '0.1'
91
91
  - - ">="
92
92
  - !ruby/object:Gem::Version
93
- version: 0.1.16
93
+ version: 0.1.18
94
94
  - !ruby/object:Gem::Dependency
95
95
  name: kettle-rb
96
96
  requirement: !ruby/object:Gem::Requirement
@@ -100,7 +100,7 @@ dependencies:
100
100
  version: '0.1'
101
101
  - - ">="
102
102
  - !ruby/object:Gem::Version
103
- version: 0.1.13
103
+ version: 0.1.15
104
104
  type: :runtime
105
105
  prerelease: false
106
106
  version_requirements: !ruby/object:Gem::Requirement
@@ -110,7 +110,7 @@ dependencies:
110
110
  version: '0.1'
111
111
  - - ">="
112
112
  - !ruby/object:Gem::Version
113
- version: 0.1.13
113
+ version: 0.1.15
114
114
  - !ruby/object:Gem::Dependency
115
115
  name: kettle-test
116
116
  requirement: !ruby/object:Gem::Requirement
@@ -120,7 +120,7 @@ dependencies:
120
120
  version: '2.0'
121
121
  - - ">="
122
122
  - !ruby/object:Gem::Version
123
- version: 2.0.22
123
+ version: 2.0.23
124
124
  type: :runtime
125
125
  prerelease: false
126
126
  version_requirements: !ruby/object:Gem::Requirement
@@ -130,7 +130,7 @@ dependencies:
130
130
  version: '2.0'
131
131
  - - ">="
132
132
  - !ruby/object:Gem::Version
133
- version: 2.0.22
133
+ version: 2.0.23
134
134
  - !ruby/object:Gem::Dependency
135
135
  name: ruby-progressbar
136
136
  requirement: !ruby/object:Gem::Requirement
@@ -159,6 +159,26 @@ dependencies:
159
159
  - - "~>"
160
160
  - !ruby/object:Gem::Version
161
161
  version: '0.18'
162
+ - !ruby/object:Gem::Dependency
163
+ name: version_gem
164
+ requirement: !ruby/object:Gem::Requirement
165
+ requirements:
166
+ - - "~>"
167
+ - !ruby/object:Gem::Version
168
+ version: '1.1'
169
+ - - ">="
170
+ - !ruby/object:Gem::Version
171
+ version: 1.1.15
172
+ type: :runtime
173
+ prerelease: false
174
+ version_requirements: !ruby/object:Gem::Requirement
175
+ requirements:
176
+ - - "~>"
177
+ - !ruby/object:Gem::Version
178
+ version: '1.1'
179
+ - - ">="
180
+ - !ruby/object:Gem::Version
181
+ version: 1.1.15
162
182
  - !ruby/object:Gem::Dependency
163
183
  name: bundler-audit
164
184
  requirement: !ruby/object:Gem::Requirement
@@ -236,7 +256,7 @@ dependencies:
236
256
  version: '3.2'
237
257
  - - ">="
238
258
  - !ruby/object:Gem::Version
239
- version: 3.2.2
259
+ version: 3.2.4
240
260
  type: :development
241
261
  prerelease: false
242
262
  version_requirements: !ruby/object:Gem::Requirement
@@ -246,7 +266,7 @@ dependencies:
246
266
  version: '3.2'
247
267
  - - ">="
248
268
  - !ruby/object:Gem::Version
249
- version: 3.2.2
269
+ version: 3.2.4
250
270
  - !ruby/object:Gem::Dependency
251
271
  name: turbo_tests2
252
272
  requirement: !ruby/object:Gem::Requirement
@@ -256,7 +276,7 @@ dependencies:
256
276
  version: '3.2'
257
277
  - - ">="
258
278
  - !ruby/object:Gem::Version
259
- version: 3.2.6
279
+ version: 3.2.11
260
280
  type: :development
261
281
  prerelease: false
262
282
  version_requirements: !ruby/object:Gem::Requirement
@@ -266,7 +286,7 @@ dependencies:
266
286
  version: '3.2'
267
287
  - - ">="
268
288
  - !ruby/object:Gem::Version
269
- version: 3.2.6
289
+ version: 3.2.11
270
290
  - !ruby/object:Gem::Dependency
271
291
  name: stone_checksums
272
292
  requirement: !ruby/object:Gem::Requirement
@@ -276,7 +296,7 @@ dependencies:
276
296
  version: '1.0'
277
297
  - - ">="
278
298
  - !ruby/object:Gem::Version
279
- version: 1.0.8
299
+ version: 1.0.9
280
300
  type: :development
281
301
  prerelease: false
282
302
  version_requirements: !ruby/object:Gem::Requirement
@@ -286,7 +306,7 @@ dependencies:
286
306
  version: '1.0'
287
307
  - - ">="
288
308
  - !ruby/object:Gem::Version
289
- version: 1.0.8
309
+ version: 1.0.9
290
310
  - !ruby/object:Gem::Dependency
291
311
  name: gitmoji-regex
292
312
  requirement: !ruby/object:Gem::Requirement
@@ -296,7 +316,7 @@ dependencies:
296
316
  version: '2.0'
297
317
  - - ">="
298
318
  - !ruby/object:Gem::Version
299
- version: 2.0.12
319
+ version: 2.0.13
300
320
  type: :development
301
321
  prerelease: false
302
322
  version_requirements: !ruby/object:Gem::Requirement
@@ -306,7 +326,7 @@ dependencies:
306
326
  version: '2.0'
307
327
  - - ">="
308
328
  - !ruby/object:Gem::Version
309
- version: 2.0.12
329
+ version: 2.0.13
310
330
  description: "\U0001F372 Kettle::Dev is a meta tool from kettle-dev to streamline
311
331
  development and testing. Acts as a shim dependency, pulling in many other dependencies,
312
332
  to give you OOTB productivity with a RubyGem, or Ruby app project. Configures a
@@ -401,10 +421,10 @@ licenses:
401
421
  - AGPL-3.0-only
402
422
  metadata:
403
423
  homepage_uri: https://kettle-dev.galtzo.com
404
- source_code_uri: https://github.com/kettle-dev/kettle-dev/tree/v3.1.1
405
- changelog_uri: https://github.com/kettle-dev/kettle-dev/blob/v3.1.1/CHANGELOG.md
424
+ source_code_uri: https://github.com/kettle-dev/kettle-dev/tree/v3.1.2
425
+ changelog_uri: https://github.com/kettle-dev/kettle-dev/blob/v3.1.2/CHANGELOG.md
406
426
  bug_tracker_uri: https://github.com/kettle-dev/kettle-dev/issues
407
- documentation_uri: https://www.rubydoc.info/gems/kettle-dev/3.1.1
427
+ documentation_uri: https://www.rubydoc.info/gems/kettle-dev/3.1.2
408
428
  funding_uri: https://github.com/sponsors/pboling
409
429
  wiki_uri: https://github.com/kettle-dev/kettle-dev/wiki
410
430
  news_uri: https://www.railsbling.com/tags/kettle-dev
@@ -434,7 +454,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
434
454
  - !ruby/object:Gem::Version
435
455
  version: '0'
436
456
  requirements: []
437
- rubygems_version: 4.0.17
457
+ rubygems_version: 4.0.20
438
458
  specification_version: 4
439
459
  summary: "\U0001F372 A kettle-dev meta tool to streamline development and testing"
440
460
  test_files: []
metadata.gz.sig CHANGED
Binary file