41 lines
1.1 KiB
Bash
41 lines
1.1 KiB
Bash
#!/bin/bash
|
|
set -euo pipefail
|
|
|
|
ROOT="$(cd "$(dirname "$0")" && pwd)"
|
|
TS="$(date +"%Y%m%d-%H%M%S")"
|
|
OUTDIR="${ROOT}/../_release_out_archicratie"
|
|
STAGE="${OUTDIR}/archicratie-web-${TS}"
|
|
ARCHIVE="${OUTDIR}/archicratie-web-${TS}.tar.gz"
|
|
|
|
rm -rf "${OUTDIR}"
|
|
mkdir -p "${STAGE}"
|
|
|
|
# Copie "propre" via rsync (évite ._* et .DS_Store et gros répertoires inutiles)
|
|
rsync -a --delete \
|
|
--exclude 'node_modules' \
|
|
--exclude 'dist' \
|
|
--exclude '.DS_Store' \
|
|
--exclude '._*' \
|
|
--exclude 'PaxHeader' \
|
|
--exclude '.git' \
|
|
--exclude '.vscode' \
|
|
--exclude '*.log' \
|
|
--exclude '_release_out' \
|
|
"${ROOT}/" "${STAGE}/"
|
|
|
|
# Sécurité supplémentaire : purge des scories Apple si jamais elles ont fuité
|
|
find "${STAGE}" -name '.DS_Store' -delete || true
|
|
find "${STAGE}" -name '._*' -delete || true
|
|
find "${STAGE}" -type d -name 'PaxHeader' -prune -exec rm -rf {} + 2>/dev/null || true
|
|
|
|
# Pack tar.gz SANS metadata Apple (COPYFILE_DISABLE)
|
|
cd "${OUTDIR}"
|
|
COPYFILE_DISABLE=1 tar -czf "${ARCHIVE}" "$(basename "${STAGE}")"
|
|
|
|
# Empreinte
|
|
shasum -a 256 "${ARCHIVE}" | tee "${ARCHIVE}.sha256"
|
|
|
|
echo
|
|
echo "✅ Archive prête : ${ARCHIVE}"
|
|
echo "✅ SHA256 : ${ARCHIVE}.sha256"
|