#!/usr/bin/env bash # bin/chats - sync, import, index, facts, apply for Telegram/WhatsApp/LinkedIn. # Builds the chats binary on first run / when source changes, then execs it. set -euo pipefail ROOT="$(cd "$(dirname "$0")/.." && pwd)" BIN="$ROOT/var/bin/chats" SRC="$ROOT/bin/chats" mkdir -p "$ROOT/var/bin" need_build=0 if [ ! -x "$BIN" ]; then need_build=1 else while IFS= read -r -d '' f; do if [ "$f" -nt "$BIN" ]; then need_build=1 break fi done < <(find "$SRC" -name '*.go' -print0 2>/dev/null) fi if [ "$need_build" -eq 1 ]; then echo "Building chats..." >&2 (cd "$SRC" && go build -o "$BIN" .) || exit 1 fi exec "$BIN" "$@"