kettle-family 0.1.13 → 0.1.14
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 +5 -0
- data/lib/kettle/family/cli.rb +52 -1
- data/lib/kettle/family/report.rb +6 -2
- data/lib/kettle/family/version.rb +1 -1
- data/lib/kettle/family/version_bump.rb +7 -4
- 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: 3b6e08799214b00e8f52b6860bc7b08d60388cf9d432d25570af4cfc4366b54c
|
|
4
|
+
data.tar.gz: 241f806e20a77c405ceb783b9a9e3e957d85d37d7d670e9e9528e91df69f09af
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: a6a8c0facd2448af40324cdf3f4ffe7c17dffb57187b8919dffdb3c078a1424d0d5cf36b3c34b2227af9ff24ca79a0941661ced826190fd6f1ba5340d9746973
|
|
7
|
+
data.tar.gz: 7b40ab91662c6f755e055ec54edc435a9617ed9569cb5de755300e77834e76c03e620aadf0dcfc7a4f6d59e83173e25847daaab650cc343082fdac2e4f826fcb
|
checksums.yaml.gz.sig
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
mwz�Fu,�j��b��hȓ�P��{�����=/�XDQ
|
|
2
|
+
�ML��H�تg�
|
data/CHANGELOG.md
CHANGED
|
@@ -35,6 +35,11 @@ Please file a bug if you notice a violation of semantic versioning.
|
|
|
35
35
|
- `kettle-family bump-version` now leaves non-exact family dependency
|
|
36
36
|
requirements unchanged instead of rejecting them as ambiguous, allowing
|
|
37
37
|
families with loose inter-gem constraints to use relative version bumps.
|
|
38
|
+
- `kettle-family bump-version --execute` now reports actual writes as
|
|
39
|
+
`updated`, includes each member's `current -> target` version change, commits
|
|
40
|
+
version bump edits, and uses member-local branch target stacks so branch
|
|
41
|
+
traversal can continue safely.
|
|
42
|
+
- Text reports now indent each line of multi-line command output consistently.
|
|
38
43
|
|
|
39
44
|
### Security
|
|
40
45
|
|
data/lib/kettle/family/cli.rb
CHANGED
|
@@ -186,6 +186,7 @@ module Kettle
|
|
|
186
186
|
|
|
187
187
|
def command_results(command:, config:, members:, options:)
|
|
188
188
|
return branch_target_command_results(command: command, config: config, members: members, options: options) if branch_target_command?(command, config)
|
|
189
|
+
return member_local_branch_target_command_results(command: command, config: config, members: members, options: options) if member_local_branch_target_command?(command, config, members)
|
|
189
190
|
|
|
190
191
|
command_results_for_current_branch(command: command, config: config, members: members, options: options)
|
|
191
192
|
end
|
|
@@ -224,6 +225,13 @@ module Kettle
|
|
|
224
225
|
!WORKFLOW_COMMANDS.include?(command)
|
|
225
226
|
end
|
|
226
227
|
|
|
228
|
+
def member_local_branch_target_command?(command, config, members)
|
|
229
|
+
return false if !config.release_target_branches.empty?
|
|
230
|
+
return false unless command == "bump-version"
|
|
231
|
+
|
|
232
|
+
members.any? { |member| member_local_release_config(member: member, config: config) }
|
|
233
|
+
end
|
|
234
|
+
|
|
227
235
|
def branch_target_command_results(command:, config:, members:, options:)
|
|
228
236
|
runner = CommandRunner.new(execute: options[:execute])
|
|
229
237
|
selected_names = members.map(&:name)
|
|
@@ -245,6 +253,33 @@ module Kettle
|
|
|
245
253
|
end
|
|
246
254
|
end
|
|
247
255
|
|
|
256
|
+
def member_local_branch_target_command_results(command:, config:, members:, options:)
|
|
257
|
+
runner = CommandRunner.new(execute: options[:execute])
|
|
258
|
+
members.each_with_object([]) do |member, memo|
|
|
259
|
+
member_config = member_local_release_config(member: member, config: config)
|
|
260
|
+
unless member_config
|
|
261
|
+
memo.concat(command_results_for_current_branch(command: command, config: config, members: [member], options: options))
|
|
262
|
+
break memo unless memo.last&.ok?
|
|
263
|
+
next
|
|
264
|
+
end
|
|
265
|
+
|
|
266
|
+
member_config.release_target_branches.each do |branch|
|
|
267
|
+
memo << runner.call(
|
|
268
|
+
member: member,
|
|
269
|
+
phase: "release_checkout",
|
|
270
|
+
command: ["git", "checkout", branch]
|
|
271
|
+
)
|
|
272
|
+
break unless memo.last.ok?
|
|
273
|
+
|
|
274
|
+
branch_members = rediscovered_selected_members(config: member_config, selected_names: [member.name], command: command)
|
|
275
|
+
branch_members = [member] if branch_members.empty?
|
|
276
|
+
memo.concat(command_results_for_current_branch(command: command, config: member_config, members: branch_members, options: options))
|
|
277
|
+
break unless memo.last&.ok?
|
|
278
|
+
end
|
|
279
|
+
break memo unless memo.last&.ok?
|
|
280
|
+
end
|
|
281
|
+
end
|
|
282
|
+
|
|
248
283
|
def rediscovered_selected_members(config:, selected_names:, command:)
|
|
249
284
|
discovered = Discovery.new(config: config).members
|
|
250
285
|
ordered = (command == "install") ? install_order(discovered, config) : Orderer.new(members: discovered, mode: config.order_mode, hints: config.order_hints).ordered
|
|
@@ -271,12 +306,28 @@ module Kettle
|
|
|
271
306
|
end
|
|
272
307
|
|
|
273
308
|
def bump_version_results(members:, options:)
|
|
274
|
-
VersionBump.new(
|
|
309
|
+
results = VersionBump.new(
|
|
275
310
|
members: members,
|
|
276
311
|
target_version: options[:target_version],
|
|
277
312
|
from_version: options[:from_version],
|
|
278
313
|
mode: bump_version_mode(options)
|
|
279
314
|
).results
|
|
315
|
+
return results if options[:check] || !options[:commit]
|
|
316
|
+
return results unless results.all?(&:ok?)
|
|
317
|
+
|
|
318
|
+
runner = CommandRunner.new(execute: options[:execute])
|
|
319
|
+
members.each_with_object(results) do |member, memo|
|
|
320
|
+
memo << runner.call(
|
|
321
|
+
member: member,
|
|
322
|
+
phase: "commit_version_bump",
|
|
323
|
+
command: [
|
|
324
|
+
"sh",
|
|
325
|
+
"-lc",
|
|
326
|
+
"if ! git diff --quiet -- '*.gemspec' 'lib/**/version.rb'; then git add -- '*.gemspec' 'lib/**/version.rb' && git commit -m '🔖 Bump gem version'; fi"
|
|
327
|
+
]
|
|
328
|
+
)
|
|
329
|
+
break memo unless memo.last.ok?
|
|
330
|
+
end
|
|
280
331
|
end
|
|
281
332
|
|
|
282
333
|
def add_changelog_results(members:, options:)
|
data/lib/kettle/family/report.rb
CHANGED
|
@@ -77,12 +77,16 @@ module Kettle
|
|
|
77
77
|
lines << "results:"
|
|
78
78
|
results.each do |result|
|
|
79
79
|
lines << " #{result_state(result)} #{result.member_name} #{result.phase} #{result.reason || ""}".rstrip
|
|
80
|
-
lines
|
|
81
|
-
lines
|
|
80
|
+
append_indented_output(lines, result.stdout) unless result.stdout.to_s.empty?
|
|
81
|
+
append_indented_output(lines, result.stderr) if !result.ok? && !result.stderr.to_s.empty?
|
|
82
82
|
lines << " resume: #{resume_hint_for(result)}" unless result.ok?
|
|
83
83
|
end
|
|
84
84
|
end
|
|
85
85
|
|
|
86
|
+
def append_indented_output(lines, output)
|
|
87
|
+
output.to_s.each_line(chomp: true) { |line| lines << " #{line}" }
|
|
88
|
+
end
|
|
89
|
+
|
|
86
90
|
def append_member_release_targets(lines)
|
|
87
91
|
return if member_release_target_branches.empty?
|
|
88
92
|
|
|
@@ -45,7 +45,7 @@ module Kettle
|
|
|
45
45
|
workdir: member.root,
|
|
46
46
|
status: check_failed?(edits) ? 1 : 0,
|
|
47
47
|
success: !check_failed?(edits),
|
|
48
|
-
stdout: edit_summary(edits),
|
|
48
|
+
stdout: edit_summary(member: member, target_version: member_target_version, edits: edits),
|
|
49
49
|
stderr: "",
|
|
50
50
|
elapsed_seconds: 0.0,
|
|
51
51
|
skipped: mode == :dry_run,
|
|
@@ -220,10 +220,13 @@ module Kettle
|
|
|
220
220
|
end
|
|
221
221
|
end
|
|
222
222
|
|
|
223
|
-
def edit_summary(edits)
|
|
224
|
-
|
|
223
|
+
def edit_summary(member:, target_version:, edits:)
|
|
224
|
+
lines = ["#{member.version} -> #{target_version}"]
|
|
225
|
+
return [*lines, "no version changes needed"].join("\n") if edits.empty?
|
|
225
226
|
|
|
226
|
-
|
|
227
|
+
verb = (mode == :execute) ? "updated" : "would update"
|
|
228
|
+
lines.concat(edits.map { |edit| "#{verb} #{edit.fetch(:path)}" }.uniq)
|
|
229
|
+
lines.join("\n")
|
|
227
230
|
end
|
|
228
231
|
end
|
|
229
232
|
end
|
data.tar.gz.sig
CHANGED
|
Binary file
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: kettle-family
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.1.
|
|
4
|
+
version: 0.1.14
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Peter H. Boling
|
|
@@ -309,10 +309,10 @@ licenses:
|
|
|
309
309
|
- AGPL-3.0-only
|
|
310
310
|
metadata:
|
|
311
311
|
homepage_uri: https://kettle-family.galtzo.com
|
|
312
|
-
source_code_uri: https://github.com/kettle-dev/kettle-family/tree/v0.1.
|
|
313
|
-
changelog_uri: https://github.com/kettle-dev/kettle-family/blob/v0.1.
|
|
312
|
+
source_code_uri: https://github.com/kettle-dev/kettle-family/tree/v0.1.14
|
|
313
|
+
changelog_uri: https://github.com/kettle-dev/kettle-family/blob/v0.1.14/CHANGELOG.md
|
|
314
314
|
bug_tracker_uri: https://github.com/kettle-dev/kettle-family/issues
|
|
315
|
-
documentation_uri: https://www.rubydoc.info/gems/kettle-family/0.1.
|
|
315
|
+
documentation_uri: https://www.rubydoc.info/gems/kettle-family/0.1.14
|
|
316
316
|
funding_uri: https://github.com/sponsors/pboling
|
|
317
317
|
wiki_uri: https://github.com/kettle-dev/kettle-family/wiki
|
|
318
318
|
news_uri: https://www.railsbling.com/tags/kettle-family
|
metadata.gz.sig
CHANGED
|
Binary file
|