appydave-tools 0.18.5 → 0.20.0
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 +14 -0
- data/bin/dam +110 -0
- data/docs/dam/prd-git-integration.md +871 -0
- data/docs/dam/usage.md +138 -1
- data/lib/appydave/tools/configuration/models/brands_config.rb +4 -1
- data/lib/appydave/tools/dam/config.rb +38 -0
- data/lib/appydave/tools/dam/manifest_generator.rb +13 -0
- data/lib/appydave/tools/dam/repo_push.rb +131 -0
- data/lib/appydave/tools/dam/repo_status.rb +140 -0
- data/lib/appydave/tools/dam/repo_sync.rb +122 -0
- data/lib/appydave/tools/dam/status.rb +278 -0
- data/lib/appydave/tools/version.rb +1 -1
- data/lib/appydave/tools.rb +4 -0
- data/package.json +1 -1
- metadata +6 -1
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: fa0d28f2da43b19537700a122baaea2401ea5c7b545d687a1bff64150d1c7d88
|
|
4
|
+
data.tar.gz: 98b8575d8af3b09e0dbc025b076d9b221d0d5b28705ee714a2483f74022c73c6
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 2f3c69c161ac3b1ca8642db8d1f6a15317510956ffe396635d6bf2f49e1be6bc6b22c4b5b9e9694b9b40ffbb9214da8487979078740a68a0b2dcec7c07a42ba1
|
|
7
|
+
data.tar.gz: de05f01bba2420b7c287cd28ac499ca56af5b7277c88522d867280e27be99d821baf2cb9d389beefe0c3e6573b6eee6095c0eafdd1a2806f1e49ec782f0de54f
|
data/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,17 @@
|
|
|
1
|
+
# [0.19.0](https://github.com/appydave/appydave-tools/compare/v0.18.5...v0.19.0) (2025-11-10)
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
### Features
|
|
5
|
+
|
|
6
|
+
* Phase 1: add git_remote, S3 tracking, and hasStorylineJson to manifest ([4622271](https://github.com/appydave/appydave-tools/commit/4622271a9e1a01a7145981db4837ed9b69e8f721))
|
|
7
|
+
|
|
8
|
+
## [0.18.5](https://github.com/appydave/appydave-tools/compare/v0.18.4...v0.18.5) (2025-11-10)
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
### Bug Fixes
|
|
12
|
+
|
|
13
|
+
* update test plan to reflect all DAM commands completed (manifest, archive, sync-ssd) and clarify git repo scripts ([ac1436a](https://github.com/appydave/appydave-tools/commit/ac1436a09c4ae32009f1b98dc697da9a87f1c4ee))
|
|
14
|
+
|
|
1
15
|
## [0.18.4](https://github.com/appydave/appydave-tools/compare/v0.18.3...v0.18.4) (2025-11-10)
|
|
2
16
|
|
|
3
17
|
|
data/bin/dam
CHANGED
|
@@ -13,6 +13,7 @@ class VatCLI
|
|
|
13
13
|
@commands = {
|
|
14
14
|
'help' => method(:help_command),
|
|
15
15
|
'list' => method(:list_command),
|
|
16
|
+
'status' => method(:status_command),
|
|
16
17
|
's3-up' => method(:s3_up_command),
|
|
17
18
|
's3-down' => method(:s3_down_command),
|
|
18
19
|
's3-status' => method(:s3_status_command),
|
|
@@ -21,6 +22,9 @@ class VatCLI
|
|
|
21
22
|
'archive' => method(:archive_command),
|
|
22
23
|
'manifest' => method(:manifest_command),
|
|
23
24
|
'sync-ssd' => method(:sync_ssd_command),
|
|
25
|
+
'repo-status' => method(:repo_status_command),
|
|
26
|
+
'repo-sync' => method(:repo_sync_command),
|
|
27
|
+
'repo-push' => method(:repo_push_command),
|
|
24
28
|
# Deprecated aliases (for backward compatibility)
|
|
25
29
|
's3-cleanup' => method(:s3_cleanup_remote_command),
|
|
26
30
|
'cleanup-local' => method(:s3_cleanup_local_command)
|
|
@@ -262,6 +266,112 @@ class VatCLI
|
|
|
262
266
|
exit 1
|
|
263
267
|
end
|
|
264
268
|
|
|
269
|
+
# Show unified status (local/S3/SSD/git)
|
|
270
|
+
def status_command(args)
|
|
271
|
+
args = args.reject { |arg| arg.start_with?('--') }
|
|
272
|
+
brand_arg = args[0]
|
|
273
|
+
project_arg = args[1]
|
|
274
|
+
|
|
275
|
+
if brand_arg.nil?
|
|
276
|
+
# Auto-detect from PWD
|
|
277
|
+
brand, project_id = Appydave::Tools::Dam::ProjectResolver.detect_from_pwd
|
|
278
|
+
if brand.nil?
|
|
279
|
+
puts '❌ Could not auto-detect brand from current directory'
|
|
280
|
+
puts 'Usage: dam status <brand> [project]'
|
|
281
|
+
exit 1
|
|
282
|
+
end
|
|
283
|
+
brand_key = brand
|
|
284
|
+
else
|
|
285
|
+
brand_key = brand_arg
|
|
286
|
+
project_id = project_arg ? Appydave::Tools::Dam::ProjectResolver.resolve(brand_arg, project_arg) : nil
|
|
287
|
+
end
|
|
288
|
+
|
|
289
|
+
status = Appydave::Tools::Dam::Status.new(brand_key, project_id)
|
|
290
|
+
status.show
|
|
291
|
+
rescue StandardError => e
|
|
292
|
+
puts "❌ Error: #{e.message}"
|
|
293
|
+
exit 1
|
|
294
|
+
end
|
|
295
|
+
|
|
296
|
+
# Show git status for brand repositories
|
|
297
|
+
def repo_status_command(args)
|
|
298
|
+
all = args.include?('--all')
|
|
299
|
+
args = args.reject { |arg| arg.start_with?('--') }
|
|
300
|
+
brand_arg = args[0]
|
|
301
|
+
|
|
302
|
+
if all
|
|
303
|
+
# Show status for all brands
|
|
304
|
+
Appydave::Tools::Dam::RepoStatus.new.show_all
|
|
305
|
+
elsif brand_arg
|
|
306
|
+
# Show status for specific brand
|
|
307
|
+
Appydave::Tools::Dam::RepoStatus.new(brand_arg).show
|
|
308
|
+
else
|
|
309
|
+
puts 'Usage: dam repo-status <brand> [--all]'
|
|
310
|
+
puts ''
|
|
311
|
+
puts 'Check git status for brand repositories.'
|
|
312
|
+
puts ''
|
|
313
|
+
puts 'Examples:'
|
|
314
|
+
puts ' dam repo-status appydave # Show git status for AppyDave brand'
|
|
315
|
+
puts ' dam repo-status --all # Show git status for all brands'
|
|
316
|
+
exit 1
|
|
317
|
+
end
|
|
318
|
+
rescue StandardError => e
|
|
319
|
+
puts "❌ Error: #{e.message}"
|
|
320
|
+
exit 1
|
|
321
|
+
end
|
|
322
|
+
|
|
323
|
+
# Sync (pull) brand repositories
|
|
324
|
+
def repo_sync_command(args)
|
|
325
|
+
all = args.include?('--all')
|
|
326
|
+
args = args.reject { |arg| arg.start_with?('--') }
|
|
327
|
+
brand_arg = args[0]
|
|
328
|
+
|
|
329
|
+
if all
|
|
330
|
+
# Sync all brands
|
|
331
|
+
Appydave::Tools::Dam::RepoSync.new.sync_all
|
|
332
|
+
elsif brand_arg
|
|
333
|
+
# Sync specific brand
|
|
334
|
+
Appydave::Tools::Dam::RepoSync.new(brand_arg).sync
|
|
335
|
+
else
|
|
336
|
+
puts 'Usage: dam repo-sync <brand> [--all]'
|
|
337
|
+
puts ''
|
|
338
|
+
puts 'Pull updates for brand repositories.'
|
|
339
|
+
puts ''
|
|
340
|
+
puts 'Examples:'
|
|
341
|
+
puts ' dam repo-sync appydave # Pull updates for AppyDave brand'
|
|
342
|
+
puts ' dam repo-sync --all # Pull updates for all brands'
|
|
343
|
+
exit 1
|
|
344
|
+
end
|
|
345
|
+
rescue StandardError => e
|
|
346
|
+
puts "❌ Error: #{e.message}"
|
|
347
|
+
exit 1
|
|
348
|
+
end
|
|
349
|
+
|
|
350
|
+
# Push brand repository changes
|
|
351
|
+
def repo_push_command(args)
|
|
352
|
+
args = args.reject { |arg| arg.start_with?('--') }
|
|
353
|
+
brand_arg = args[0]
|
|
354
|
+
project_arg = args[1]
|
|
355
|
+
|
|
356
|
+
if brand_arg.nil?
|
|
357
|
+
puts 'Usage: dam repo-push <brand> [project]'
|
|
358
|
+
puts ''
|
|
359
|
+
puts 'Push changes for brand repository.'
|
|
360
|
+
puts ''
|
|
361
|
+
puts 'Examples:'
|
|
362
|
+
puts ' dam repo-push appydave # Push all changes for AppyDave brand'
|
|
363
|
+
puts ' dam repo-push appydave b65 # Validate project exists before push'
|
|
364
|
+
exit 1
|
|
365
|
+
end
|
|
366
|
+
|
|
367
|
+
project_id = project_arg ? Appydave::Tools::Dam::ProjectResolver.resolve(brand_arg, project_arg) : nil
|
|
368
|
+
|
|
369
|
+
Appydave::Tools::Dam::RepoPush.new(brand_arg, project_id).push
|
|
370
|
+
rescue StandardError => e
|
|
371
|
+
puts "❌ Error: #{e.message}"
|
|
372
|
+
exit 1
|
|
373
|
+
end
|
|
374
|
+
|
|
265
375
|
# Parse S3 command arguments
|
|
266
376
|
def parse_s3_args(args, command)
|
|
267
377
|
dry_run = args.include?('--dry-run')
|