gallery_server_client_s190js/sync-face-knn.sh

61 lines
1.2 KiB
Bash
Executable file

#!/usr/bin/env bash
set -Eeuo pipefail
cd "$(dirname "$0")"
SRC="docs/face-knn-source"
DEPLOY="$SRC/deploy"
DST="native/face-knn"
# Sorgente -> destinazione
declare -A FILES=(
["bin/face_knn"]="$SRC/bin/face_knn"
["kernels/knn_float4_topk.cl"]="$SRC/kernels/knn_float4_topk.cl"
["config.json"]="$DEPLOY/config.json"
["run-face-knn.sh"]="$DEPLOY/run-face-knn.sh"
["SHA256SUMS"]="$SRC/SHA256SUMS"
)
echo "=== Verifica dei file sorgente ==="
for dest in "${!FILES[@]}"; do
src="${FILES[$dest]}"
if [[ ! -f "$src" ]]; then
echo "ERRORE: file sorgente mancante: $src" >&2
exit 1
fi
done
echo "Tutti i file sorgente sono presenti."
echo
echo "=== Copia ==="
for dest in \
"bin/face_knn" \
"kernels/knn_float4_topk.cl" \
"config.json" \
"run-face-knn.sh" \
"SHA256SUMS"
do
src="${FILES[$dest]}"
mkdir -p "$DST/$(dirname "$dest")"
cp -p "$src" "$DST/$dest"
echo "Copiato: $src -> $DST/$dest"
done
echo
echo "=== Verifica SHA256SUMS ==="
if [[ -f "$DST/SHA256SUMS" ]]; then
(
cd "$DST"
sha256sum -c SHA256SUMS
)
fi
echo
echo "=== File presenti nella destinazione ==="
find "$DST" -type f -printf '%P\n' | sort
echo
echo "Copia completata."