#!/usr/bin/env bash
# Build an attestable wheel whose ZIP metadata does not depend on wall-clock or source-copy mtimes.
set -euo pipefail

if [[ $# -ne 2 ]]; then
    echo "usage: $0 SOURCE_DIR OUTPUT_DIR" >&2
    exit 2
fi

readonly SOURCE_DIR=$1
readonly OUTPUT_DIR=$2
# 2000-01-01T00:00:00Z is representable by ZIP and independent of live source metadata.
readonly WHEEL_SOURCE_DATE_EPOCH=946684800

mkdir -p "$OUTPUT_DIR"
SOURCE_DATE_EPOCH=$WHEEL_SOURCE_DATE_EPOCH \
TZ=UTC \
UV_OFFLINE=1 \
exec uv build --wheel --offline --out-dir "$OUTPUT_DIR" "$SOURCE_DIR"
