Files
vyatsu-schedule/prepare_keystore_secret.sh
T

33 lines
953 B
Bash
Raw Normal View History

2026-09-03 00:39:40 +03:00
#!/usr/bin/env bash
# Готовит содержимое keystore (.jks) для вставки в секрет ANDROID_KEYSTORE
# Кодирует файл в base64 одной длинной строкой (без переносов) и сохраняет в файл .keystore.b64 рядом со скриптом.
set -euo pipefail
if [ "$#" -ne 1 ]; then
echo "Usage: <path>" >&2
exit 1
fi
KEYSTORE="$1"
if [ ! -f "$KEYSTORE" ]; then
echo "File not found: $KEYSTORE" >&2
exit 1
fi
# base64 -w0: без переносов строк. (на macOS base64 не имеет -w)
if base64 --help 2>/dev/null | grep -q '\-w'; then
ENCODED=$(base64 -w0 "$KEYSTORE")
else
ENCODED=$(base64 <"$KEYSTORE" | tr -d '\n')
fi
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
OUTFILE="$SCRIPT_DIR/.keystore.b64"
printf '%s\n' "$ENCODED" >"$OUTFILE"
echo "Keystore: $KEYSTORE"
echo "Output: $OUTFILE"
echo "Size: ${#ENCODED} chars"