legionio 1.6.43 → 1.6.44
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
- data/CHANGELOG.md +5 -0
- data/lib/legion/cli/setup_command.rb +29 -1
- data/lib/legion/version.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 1d5e89a840a146657264710fe44bb2e60a3be0b7b44aece296a8fa1b7abe51df
|
|
4
|
+
data.tar.gz: e49ca0b195a65c40647960f4c1c7e734b939106200c72d65e992210298a900c7
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 0aacaf7a1d32a6c32bb0862ce0d2b569f1e528fcb31b77f4aa00e78ecbb021a0448ae1591ccff3251cfe61b41b9392a7415da6d40fcf56518b99f2305ddc422b
|
|
7
|
+
data.tar.gz: a1aa3f9cacd5a88f4351a3014fc9c2a67b3fd225b594937585d64239eb4e349296896151b828d8ef5646994e08897b10378f070a42e4fbc0d186668c6011bd30
|
data/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,11 @@
|
|
|
2
2
|
|
|
3
3
|
## [Unreleased]
|
|
4
4
|
|
|
5
|
+
## [1.6.44] - 2026-03-31
|
|
6
|
+
|
|
7
|
+
### Added
|
|
8
|
+
- `legionio setup <pack>` now writes `~/.legionio/.packs/<name>` marker file and `~/.legionio/settings/packs.json` on successful install, enabling automatic pack reinstall after `brew upgrade` (companion to homebrew-tap#19)
|
|
9
|
+
|
|
5
10
|
## [1.6.43] - 2026-03-31
|
|
6
11
|
|
|
7
12
|
### Added
|
|
@@ -211,7 +211,10 @@ module Legion
|
|
|
211
211
|
pack = PACKS[pack_name]
|
|
212
212
|
installed, missing = partition_gems(pack[:gems])
|
|
213
213
|
|
|
214
|
-
|
|
214
|
+
if missing.empty?
|
|
215
|
+
write_pack_marker(pack_name)
|
|
216
|
+
return report_already_installed(pack_name, installed)
|
|
217
|
+
end
|
|
215
218
|
return report_dry_run(pack_name, installed, missing) if options[:dry_run]
|
|
216
219
|
|
|
217
220
|
execute_pack_install(pack_name, installed, missing)
|
|
@@ -255,6 +258,7 @@ module Legion
|
|
|
255
258
|
else
|
|
256
259
|
out.spacer
|
|
257
260
|
if failures.empty?
|
|
261
|
+
write_pack_marker(pack_name)
|
|
258
262
|
out.success("#{pack_name} pack installed (#{successes.size} gem(s))")
|
|
259
263
|
suggest_next_steps(out, pack_name)
|
|
260
264
|
else
|
|
@@ -294,6 +298,30 @@ module Legion
|
|
|
294
298
|
end
|
|
295
299
|
end
|
|
296
300
|
|
|
301
|
+
def write_pack_marker(pack_name)
|
|
302
|
+
marker_dir = File.expand_path('~/.legionio/.packs')
|
|
303
|
+
FileUtils.mkdir_p(marker_dir)
|
|
304
|
+
FileUtils.touch(File.join(marker_dir, pack_name.to_s))
|
|
305
|
+
update_packs_setting(pack_name)
|
|
306
|
+
end
|
|
307
|
+
|
|
308
|
+
def update_packs_setting(pack_name)
|
|
309
|
+
settings_file = File.expand_path('~/.legionio/settings/packs.json')
|
|
310
|
+
data = if File.exist?(settings_file)
|
|
311
|
+
::JSON.parse(File.read(settings_file))
|
|
312
|
+
else
|
|
313
|
+
{}
|
|
314
|
+
end
|
|
315
|
+
packs = Array(data['packs'])
|
|
316
|
+
packs << pack_name.to_s unless packs.include?(pack_name.to_s)
|
|
317
|
+
data['packs'] = packs.sort
|
|
318
|
+
FileUtils.mkdir_p(File.dirname(settings_file))
|
|
319
|
+
File.write(settings_file, ::JSON.pretty_generate(data))
|
|
320
|
+
rescue ::JSON::ParserError
|
|
321
|
+
data = { 'packs' => [pack_name.to_s] }
|
|
322
|
+
File.write(settings_file, ::JSON.pretty_generate(data))
|
|
323
|
+
end
|
|
324
|
+
|
|
297
325
|
def suggest_next_steps(out, pack_name)
|
|
298
326
|
out.spacer
|
|
299
327
|
case pack_name
|
data/lib/legion/version.rb
CHANGED