diff options
| author | Paul Buetow <paul@buetow.org> | 2026-06-27 10:52:37 +0300 |
|---|---|---|
| committer | Paul Buetow <paul@buetow.org> | 2026-06-27 10:52:37 +0300 |
| commit | 1d6a00fd71cb8ea093da2f217f1724f4d5df1c85 (patch) | |
| tree | 08afaa1a82801d46f3b510f156f2e5726015cbeb /src/lib/stats-render.source.sh | |
| parent | bde6e6d0f5910477c2d47f1bc3a28b39b6c7f3da (diff) | |
Fix src/shuriken.sh lib source list missing 5 modules
Running `bash src/shuriken.sh --generate ...` directly from a source
checkout printed "command not found" for camera_label_from_make_model,
photo_exif_values_to and cached_photo_identify_output for every photo,
silently emptying EXIF tooltips/details and, with STATS_PAGE=yes,
omitting the whole stats/ tree. The hand-maintained source list inside
the SHURIKEN_LIB_SOURCES_BEGIN/END marker block had drifted from the
authoritative Justfile LIB_SOURCES, missing metadata-label,
metadata-cache, stats-aggregate, stats-render and stats-filter-album.
`just build` replaces the marker block with LIB_SOURCES when generating
bin/shuriken, so the installed binary and the bin-based test suite never
noticed; only direct src execution was affected.
- Add the 5 missing `source` lines to the marker block in the same order
as Justfile LIB_SOURCES, so the two lists now match exactly.
- Add tests/cli.sh case test_lib_sources_match_justfile_lib_sources that
extracts the marker-block module names and asserts they equal the
Justfile LIB_SOURCES (same set and order) to prevent future drift.
- shellcheck --check-sourced now follows the 5 newly-sourced libs;
suppress the cross-module nameref false positives (SC2178/SC2128/
SC2154) with explained directives and genuinely fix SC2004
(counts_ref[$key] -> [key]) and quote the TITLE default (${TITLE:-}).
bin/shuriken changes only by these propagated lib edits; the marker-block
source list it generates is unchanged.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Diffstat (limited to 'src/lib/stats-render.source.sh')
| -rw-r--r-- | src/lib/stats-render.source.sh | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/src/lib/stats-render.source.sh b/src/lib/stats-render.source.sh index b9bc067..1050ef2 100644 --- a/src/lib/stats-render.source.sh +++ b/src/lib/stats-render.source.sh @@ -27,7 +27,7 @@ _stats_max_count() { local -i max=0 for key in "${!counts_ref[@]}"; do - if (( counts_ref[$key] > max )); then + if (( counts_ref[key] > max )); then max=${counts_ref[$key]} fi done @@ -336,10 +336,15 @@ _stats_random_background() { # namespace is unchanged so selection is identical to the former inline code. _stats_pick_background() { local -r context="$1"; shift + # photos is a newline-joined string of photo paths, not an array. Other + # modules reuse the name "photos" as an array, so --check-sourced nameref + # aliasing misreports SC2178/SC2128; both are false positives here. + # shellcheck disable=SC2178 local -r photos="$1"; shift local -a list=() local photo + # shellcheck disable=SC2128 while IFS= read -r photo; do [ -n "$photo" ] && list+=("$photo") done <<< "$photos" |
