kettle-dev 3.0.4 → 3.0.5
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 +0 -0
- data/CHANGELOG.md +14 -1
- data/README.md +1 -1
- data/lib/kettle/dev/lockfile_reset.rb +22 -7
- data/lib/kettle/dev/version.rb +1 -1
- data.tar.gz.sig +0 -0
- metadata +4 -4
- 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: 667298e18f32020c0774fe6499e6425de5ae71b44c40330ba9fc7e806620de66
|
|
4
|
+
data.tar.gz: d992bc999468d8fe27608d0ea470747d0497f98ca9cfbc02c8d82b79a5e0c773
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: a9690ba90e3745560e5fee1ab148dd541955fe9aec0a0c15126009da514d46ac1492f73943205a99efe5264dce1f8f07dcb9c87714f2868c23eee277354fc629
|
|
7
|
+
data.tar.gz: 90760f66a27b7ac2d6e4524976f2e0756906b7ea4d96b4c98d29862006d06ac4931b04e724a419e3559a955f025d91a59e85b7d8ab1cf2ce95037d449fb760f7
|
checksums.yaml.gz.sig
CHANGED
|
Binary file
|
data/CHANGELOG.md
CHANGED
|
@@ -30,6 +30,17 @@ Please file a bug if you notice a violation of semantic versioning.
|
|
|
30
30
|
|
|
31
31
|
### Security
|
|
32
32
|
|
|
33
|
+
## [3.0.5] - 2026-08-10
|
|
34
|
+
|
|
35
|
+
- TAG: [v3.0.5][3.0.5t]
|
|
36
|
+
- COVERAGE: 91.65% -- 5663/6179 lines in 47 files
|
|
37
|
+
- BRANCH COVERAGE: 76.30% -- 2157/2827 branches in 47 files
|
|
38
|
+
- 50.74% documented
|
|
39
|
+
|
|
40
|
+
### Fixed
|
|
41
|
+
|
|
42
|
+
- Keep release lockfile platforms stable across repeated normalization passes.
|
|
43
|
+
|
|
33
44
|
## [3.0.4] - 2026-08-10
|
|
34
45
|
|
|
35
46
|
- TAG: [v3.0.4][3.0.4t]
|
|
@@ -3453,7 +3464,9 @@ Please file a bug if you notice a violation of semantic versioning.
|
|
|
3453
3464
|
- Selecting will run the selected workflow via `act`
|
|
3454
3465
|
- This may move to its own gem in the future.
|
|
3455
3466
|
|
|
3456
|
-
[Unreleased]: https://github.com/kettle-dev/kettle-dev/compare/v3.0.
|
|
3467
|
+
[Unreleased]: https://github.com/kettle-dev/kettle-dev/compare/v3.0.5...HEAD
|
|
3468
|
+
[3.0.5]: https://github.com/kettle-dev/kettle-dev/compare/v3.0.4...v3.0.5
|
|
3469
|
+
[3.0.5t]: https://github.com/kettle-dev/kettle-dev/releases/tag/v3.0.5
|
|
3457
3470
|
[3.0.4]: https://github.com/kettle-dev/kettle-dev/compare/v3.0.3...v3.0.4
|
|
3458
3471
|
[3.0.4t]: https://github.com/kettle-dev/kettle-dev/releases/tag/v3.0.4
|
|
3459
3472
|
[3.0.3]: https://github.com/kettle-dev/kettle-dev/compare/v3.0.2...v3.0.3
|
data/README.md
CHANGED
|
@@ -1007,7 +1007,7 @@ Thanks for RTFM. ☺️
|
|
|
1007
1007
|
[📌gitmoji]: https://gitmoji.dev
|
|
1008
1008
|
[📌gitmoji-img]: https://img.shields.io/badge/gitmoji_commits-%20%F0%9F%98%9C%20%F0%9F%98%8D-34495e.svg?style=flat-square
|
|
1009
1009
|
[🧮kloc]: https://www.youtube.com/watch?v=dQw4w9WgXcQ
|
|
1010
|
-
[🧮kloc-img]: https://img.shields.io/badge/KLOC-6.
|
|
1010
|
+
[🧮kloc-img]: https://img.shields.io/badge/KLOC-6.179-FFDD67.svg?style=for-the-badge&logo=YouTube&logoColor=blue
|
|
1011
1011
|
[🔐security]: https://github.com/kettle-dev/kettle-dev/blob/main/SECURITY.md
|
|
1012
1012
|
[🔐security-img]: https://img.shields.io/badge/security-policy-259D6C.svg?style=flat
|
|
1013
1013
|
[📄copyright-notice-explainer]: https://opensource.stackexchange.com/questions/5778/why-do-licenses-such-as-the-mit-license-specify-a-single-year
|
|
@@ -30,19 +30,21 @@ module Kettle
|
|
|
30
30
|
def initialize(root:, command_runner:)
|
|
31
31
|
@root = root
|
|
32
32
|
@command_runner = command_runner
|
|
33
|
+
@release_platforms = {}
|
|
33
34
|
end
|
|
34
35
|
|
|
35
36
|
def reset(target)
|
|
36
37
|
BundlerEnvGuard.warn_unexpected_env!
|
|
37
38
|
paths = lockfile_paths_for(target)
|
|
38
39
|
force_full_update = release_lockfiles_target?(target)
|
|
40
|
+
platforms = release_platforms_for(paths) if force_full_update
|
|
39
41
|
uninstall_unreleased_local_gems(paths) if force_full_update
|
|
40
42
|
paths.each do |path|
|
|
41
|
-
reset_lockfile!(path, full_update: force_full_update) if force_full_update || normalization_needed?(path)
|
|
43
|
+
reset_lockfile!(path, full_update: force_full_update, platforms: platforms&.fetch(path)) if force_full_update || normalization_needed?(path)
|
|
42
44
|
end
|
|
43
45
|
if force_full_update && uninstall_unreleased_local_gems(paths)
|
|
44
46
|
paths.each do |path|
|
|
45
|
-
reset_lockfile!(path, full_update: true)
|
|
47
|
+
reset_lockfile!(path, full_update: true, platforms: platforms.fetch(path))
|
|
46
48
|
end
|
|
47
49
|
end
|
|
48
50
|
diagnostics = paths.flat_map { |path| diagnostics(path) }
|
|
@@ -51,14 +53,14 @@ module Kettle
|
|
|
51
53
|
paths
|
|
52
54
|
end
|
|
53
55
|
|
|
54
|
-
def reset_lockfile!(path, full_update: false)
|
|
56
|
+
def reset_lockfile!(path, full_update: false, platforms: nil)
|
|
55
57
|
gemfile = gemfile_for_lockfile(path)
|
|
56
58
|
unless gemfile && File.file?(gemfile)
|
|
57
59
|
warn("Cannot reset #{display_path(path)} because its Gemfile was not found.")
|
|
58
60
|
return
|
|
59
61
|
end
|
|
60
62
|
|
|
61
|
-
command = reset_command(path: path, gemfile: gemfile, full_update: full_update)
|
|
63
|
+
command = reset_command(path: path, gemfile: gemfile, full_update: full_update, platforms: platforms)
|
|
62
64
|
if full_update || has_local_path_remote?(path)
|
|
63
65
|
rebuild_lockfile(path) { command_runner.call(command) }
|
|
64
66
|
else
|
|
@@ -66,8 +68,10 @@ module Kettle
|
|
|
66
68
|
end
|
|
67
69
|
end
|
|
68
70
|
|
|
69
|
-
def reset_command(path:, gemfile:, full_update: false)
|
|
71
|
+
def reset_command(path:, gemfile:, full_update: false, platforms: nil)
|
|
70
72
|
update_gems = (full_update || has_local_path_remote?(path)) ? [] : reset_update_gems(path)
|
|
73
|
+
platforms ||= reset_platforms(path)
|
|
74
|
+
removed_platforms = full_update ? [] : lockfile_platforms(path) - platforms
|
|
71
75
|
env = normalization_env.merge(
|
|
72
76
|
"BUNDLE_GEMFILE" => gemfile,
|
|
73
77
|
"BUNDLE_LOCKFILE" => path
|
|
@@ -80,7 +84,10 @@ module Kettle
|
|
|
80
84
|
command << " #{key}=#{Shellwords.escape(value)}"
|
|
81
85
|
end
|
|
82
86
|
command << " bundle lock"
|
|
83
|
-
|
|
87
|
+
removed_platforms.sort.each do |platform|
|
|
88
|
+
command << " --remove-platform=#{Shellwords.escape(platform)}"
|
|
89
|
+
end
|
|
90
|
+
platforms.each do |platform|
|
|
84
91
|
command << " --add-platform=#{Shellwords.escape(platform)}"
|
|
85
92
|
end
|
|
86
93
|
command << " --update"
|
|
@@ -90,7 +97,15 @@ module Kettle
|
|
|
90
97
|
end
|
|
91
98
|
|
|
92
99
|
def reset_platforms(path)
|
|
93
|
-
|
|
100
|
+
platforms = lockfile_platforms(path)
|
|
101
|
+
platforms = [Gem::Platform.local.to_s] if platforms.empty?
|
|
102
|
+
platforms.reject(&:empty?).sort
|
|
103
|
+
end
|
|
104
|
+
|
|
105
|
+
def release_platforms_for(paths)
|
|
106
|
+
paths.each_with_object({}) do |path, platforms|
|
|
107
|
+
platforms[path] = (@release_platforms[path] ||= reset_platforms(path))
|
|
108
|
+
end
|
|
94
109
|
end
|
|
95
110
|
|
|
96
111
|
def lockfile_platforms(path)
|
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.0.
|
|
8
|
+
VERSION = "3.0.5"
|
|
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.0.
|
|
4
|
+
version: 3.0.5
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Peter H. Boling
|
|
@@ -400,10 +400,10 @@ licenses:
|
|
|
400
400
|
- AGPL-3.0-only
|
|
401
401
|
metadata:
|
|
402
402
|
homepage_uri: https://kettle-dev.galtzo.com
|
|
403
|
-
source_code_uri: https://github.com/kettle-dev/kettle-dev/tree/v3.0.
|
|
404
|
-
changelog_uri: https://github.com/kettle-dev/kettle-dev/blob/v3.0.
|
|
403
|
+
source_code_uri: https://github.com/kettle-dev/kettle-dev/tree/v3.0.5
|
|
404
|
+
changelog_uri: https://github.com/kettle-dev/kettle-dev/blob/v3.0.5/CHANGELOG.md
|
|
405
405
|
bug_tracker_uri: https://github.com/kettle-dev/kettle-dev/issues
|
|
406
|
-
documentation_uri: https://www.rubydoc.info/gems/kettle-dev/3.0.
|
|
406
|
+
documentation_uri: https://www.rubydoc.info/gems/kettle-dev/3.0.5
|
|
407
407
|
funding_uri: https://github.com/sponsors/pboling
|
|
408
408
|
wiki_uri: https://github.com/kettle-dev/kettle-dev/wiki
|
|
409
409
|
news_uri: https://www.railsbling.com/tags/kettle-dev
|
metadata.gz.sig
CHANGED
|
Binary file
|