kettle-dev 3.1.0 → 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 +4 -4
- checksums.yaml.gz.sig +2 -2
- data/CHANGELOG.md +50 -1
- data/README.md +1 -1
- data/lib/kettle/dev/changelog_cli.rb +5 -5
- data/lib/kettle/dev/interactive_release_command.rb +2 -2
- data/lib/kettle/dev/release_cli.rb +55 -8
- data/lib/kettle/dev/release_graph_contract.rb +12 -1
- data/lib/kettle/dev/version.rb +1 -1
- data.tar.gz.sig +0 -0
- metadata +41 -21
- metadata.gz.sig +0 -0
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 43b362327936ebb689b258932474b16cc41f0654877ea6a41633ee1621e6a078
|
|
4
|
+
data.tar.gz: ee64106fa90db9443483eab9433fbecd3690e61c61a8afc436e6224cbe4d607f
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 61aaf3cde5f12a6b2fc57144efd7dcee5c5a9d9f56d42c5b1715768816e64f393d8c3492b76cc85e0dd1f712fe25e7c32cce46cae0bd97748b34485d58b02759
|
|
7
|
+
data.tar.gz: 6f68bc9631eb4a2fddc50e7831464227d7526bcf8d073f986c3d533e1fcefa41bed0273bb6894e6b48a1cdb0e4fdc9a0970cf7d3bda831a402fb7448599d4161
|
checksums.yaml.gz.sig
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
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,51 @@ 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
|
+
|
|
67
|
+
## [3.1.1] - 2026-09-14
|
|
68
|
+
|
|
69
|
+
- TAG: [v3.1.1][3.1.1t]
|
|
70
|
+
- COVERAGE: 91.54% -- 6138/6705 lines in 48 files
|
|
71
|
+
- BRANCH COVERAGE: 76.08% -- 2344/3081 branches in 48 files
|
|
72
|
+
- 51.02% documented
|
|
73
|
+
|
|
74
|
+
### Fixed
|
|
75
|
+
|
|
76
|
+
- Close release-created branch-stack validation PRs after successful publication instead of leaving obsolete conflicted PRs open.
|
|
77
|
+
|
|
33
78
|
## [3.1.0] - 2026-09-10
|
|
34
79
|
|
|
35
80
|
- TAG: [v3.1.0][3.1.0t]
|
|
@@ -3860,7 +3905,11 @@ Please file a bug if you notice a violation of semantic versioning.
|
|
|
3860
3905
|
- Selecting will run the selected workflow via `act`
|
|
3861
3906
|
- This may move to its own gem in the future.
|
|
3862
3907
|
|
|
3863
|
-
[Unreleased]: https://github.com/kettle-dev/kettle-dev/compare/v3.1.
|
|
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
|
|
3911
|
+
[3.1.1]: https://github.com/kettle-dev/kettle-dev/compare/v3.1.0...v3.1.1
|
|
3912
|
+
[3.1.1t]: https://github.com/kettle-dev/kettle-dev/releases/tag/v3.1.1
|
|
3864
3913
|
[3.1.0]: https://github.com/kettle-dev/kettle-dev/compare/v3.0.34...v3.1.0
|
|
3865
3914
|
[3.1.0t]: https://github.com/kettle-dev/kettle-dev/releases/tag/v3.1.0
|
|
3866
3915
|
[3.0.34]: https://github.com/kettle-dev/kettle-dev/compare/v3.0.33...v3.0.34
|
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.
|
|
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
|
|
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.
|
|
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.
|
|
1028
|
+
commands << [RbConfig.ruby, rake, "yard"] if File.file?(rake)
|
|
1029
1029
|
yard = File.join(@root, "bin", "yard")
|
|
1030
|
-
commands << [yard] if File.
|
|
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
|
|
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"
|
|
@@ -214,6 +215,7 @@ module Kettle
|
|
|
214
215
|
@version_override = Kettle::Dev::Versioning.normalize_explicit_version(version)
|
|
215
216
|
@appraisal_task = normalize_appraisal_task(appraisal_task || ENV["KETTLE_RELEASE_APPRAISAL_TASK"])
|
|
216
217
|
@release_candidate = nil
|
|
218
|
+
@release_ci_pull_request = nil
|
|
217
219
|
@event_stream = options[:event_stream]
|
|
218
220
|
@event_recorder = Kettle::Ndjson.event_recorder(@event_stream, phase_timings: [])
|
|
219
221
|
@secrets_provider = options[:secrets_provider] || Kettle::Dev::ReleaseSecrets::Factory.build(provider_name: secrets_provider_name)
|
|
@@ -555,6 +557,11 @@ module Kettle
|
|
|
555
557
|
# 19. push tags to remotes (final step)
|
|
556
558
|
push_tags! if run_step?(19) && !local_ci?
|
|
557
559
|
|
|
560
|
+
# Branch-stack PRs exist only to trigger pull-request-only CI. They are
|
|
561
|
+
# deliberately not merged into trunk, so close the release-created PR
|
|
562
|
+
# after the publication has completed successfully.
|
|
563
|
+
close_generated_branch_stack_pull_request!
|
|
564
|
+
|
|
558
565
|
# Final success message
|
|
559
566
|
begin
|
|
560
567
|
version ||= detect_version
|
|
@@ -701,8 +708,8 @@ module Kettle
|
|
|
701
708
|
end
|
|
702
709
|
|
|
703
710
|
def same_path?(left, right)
|
|
704
|
-
File.
|
|
705
|
-
rescue
|
|
711
|
+
File.identical?(left, right)
|
|
712
|
+
rescue SystemCallError
|
|
706
713
|
false
|
|
707
714
|
end
|
|
708
715
|
|
|
@@ -710,7 +717,7 @@ module Kettle
|
|
|
710
717
|
value = ENV["RUBOCOP_LTS_LOCAL"].to_s.strip
|
|
711
718
|
return nil if value.empty? || %w[false 0 no off].include?(value.downcase)
|
|
712
719
|
return File.join(Dir.home, "src", "rubocop-lts") if %w[true 1 yes on].include?(value.downcase)
|
|
713
|
-
return value if value.
|
|
720
|
+
return value if Pathname.new(value).absolute?
|
|
714
721
|
|
|
715
722
|
File.join(Dir.home, value)
|
|
716
723
|
end
|
|
@@ -1460,11 +1467,24 @@ module Kettle
|
|
|
1460
1467
|
|
|
1461
1468
|
pull_request = github_pull_request_for_branch(owner: owner, repo: repo, branch: branch, base: trunk)
|
|
1462
1469
|
if pull_request
|
|
1463
|
-
|
|
1470
|
+
body = pull_request["body"]
|
|
1471
|
+
@release_ci_pull_request = {
|
|
1472
|
+
owner: owner,
|
|
1473
|
+
repo: repo,
|
|
1474
|
+
number: pull_request["number"],
|
|
1475
|
+
cleanup: body.is_a?(String) && body.index("Automated release validation PR for") == 0
|
|
1476
|
+
}
|
|
1477
|
+
puts "GitHub pull request ##{pull_request["number"]} already open for #{branch} -> #{trunk}: #{pull_request["url"]}"
|
|
1464
1478
|
return
|
|
1465
1479
|
end
|
|
1466
1480
|
|
|
1467
|
-
create_github_pull_request!(owner: owner, repo: repo, branch: branch, base: trunk)
|
|
1481
|
+
number = create_github_pull_request!(owner: owner, repo: repo, branch: branch, base: trunk)
|
|
1482
|
+
@release_ci_pull_request = {
|
|
1483
|
+
owner: owner,
|
|
1484
|
+
repo: repo,
|
|
1485
|
+
number: number,
|
|
1486
|
+
cleanup: true
|
|
1487
|
+
}
|
|
1468
1488
|
end
|
|
1469
1489
|
|
|
1470
1490
|
def github_pull_request_for_branch(owner:, repo:, branch:, base:)
|
|
@@ -1480,7 +1500,7 @@ module Kettle
|
|
|
1480
1500
|
"--state",
|
|
1481
1501
|
"open",
|
|
1482
1502
|
"--json",
|
|
1483
|
-
"number,url",
|
|
1503
|
+
"number,url,body",
|
|
1484
1504
|
"--limit",
|
|
1485
1505
|
"1"
|
|
1486
1506
|
)
|
|
@@ -1503,9 +1523,36 @@ module Kettle
|
|
|
1503
1523
|
"--title",
|
|
1504
1524
|
"Release #{branch}",
|
|
1505
1525
|
"--body",
|
|
1506
|
-
|
|
1526
|
+
release_validation_pull_request_body(branch)
|
|
1507
1527
|
)
|
|
1508
1528
|
puts "Created GitHub pull request for #{branch} -> #{base}: #{output.strip}"
|
|
1529
|
+
output[/\/pull\/(\d+)/, 1]
|
|
1530
|
+
end
|
|
1531
|
+
|
|
1532
|
+
def release_validation_pull_request_body(branch)
|
|
1533
|
+
"Automated release validation PR for `#{branch}`.\n\nThis PR exists only to run pull-request-only GitHub Actions before publishing the branch-stack release. Branch-stack releases are not merged into trunk."
|
|
1534
|
+
end
|
|
1535
|
+
|
|
1536
|
+
def close_generated_branch_stack_pull_request!
|
|
1537
|
+
pull_request = @release_ci_pull_request
|
|
1538
|
+
return unless pull_request && pull_request[:cleanup]
|
|
1539
|
+
|
|
1540
|
+
branch = current_branch
|
|
1541
|
+
trunk = detect_trunk_branch
|
|
1542
|
+
return unless branch_stack_release_branch?(branch, trunk)
|
|
1543
|
+
|
|
1544
|
+
args = [
|
|
1545
|
+
"pr", "close", pull_request[:number].to_s,
|
|
1546
|
+
"--repo", "#{pull_request[:owner]}/#{pull_request[:repo]}",
|
|
1547
|
+
"--comment", "Release completed successfully; closing the CI-only validation PR."
|
|
1548
|
+
]
|
|
1549
|
+
stdout, stderr, status = Open3.capture3(self.class.send(:command_env), "gh", *args)
|
|
1550
|
+
if status.success?
|
|
1551
|
+
puts "Closed release validation PR ##{pull_request[:number]} for #{branch}."
|
|
1552
|
+
else
|
|
1553
|
+
detail = stderr.strip.empty? ? stdout.strip : stderr.strip
|
|
1554
|
+
warn "Could not close release validation PR ##{pull_request[:number]}: #{detail}"
|
|
1555
|
+
end
|
|
1509
1556
|
end
|
|
1510
1557
|
|
|
1511
1558
|
def gh_output!(*args)
|
|
@@ -1748,7 +1795,7 @@ module Kettle
|
|
|
1748
1795
|
def git_output(args)
|
|
1749
1796
|
# Route all git interactions through the GitAdapter so tests can safely mock them
|
|
1750
1797
|
out, ok = @git.capture(args)
|
|
1751
|
-
[out.
|
|
1798
|
+
[out ? out.strip : "", !!ok]
|
|
1752
1799
|
end
|
|
1753
1800
|
|
|
1754
1801
|
def ensure_git_user!
|
|
@@ -87,7 +87,18 @@ module Kettle
|
|
|
87
87
|
|
|
88
88
|
def canonical_path(path)
|
|
89
89
|
expanded = File.expand_path(path, @root)
|
|
90
|
-
|
|
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
|
data/lib/kettle/dev/version.rb
CHANGED
|
@@ -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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
405
|
-
changelog_uri: https://github.com/kettle-dev/kettle-dev/blob/v3.1.
|
|
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.
|
|
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.
|
|
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
|