#! /bin/sh

: ${YEAR_FILE:=$1}
: ${DEFAULT_YEAR:=$2}
LC_TIME=C; export LC_TIME

year=

[ -n "${YEAR_FILE}" ] || {
	echo >&2 "$0 $(dirname "$0")/.year [DEFAULT_YEAR]"
	exit 1
}

[ -f "${YEAR_FILE}" ] && year="$(cat "${YEAR_FILE}")"

[ -n "${year}" ] ||
	year="$(date -u +%Y -d "$(git show --format=format:%cD --no-patch)")"

[ -n "${year}" ] ||
	year="${DEFAULT_YEAR}"

[ -n "${year}" ] ||
	[ -z "${SOURCE_DATE_EPOCH-}" ] ||
	year="$(date -u +%Y -d "@${SOURCE_DATE_EPOCH}")"

[ -n "${year}" ] ||
	year="$(date -u +%Y)"

[ -n "${year}" ] || {
	echo >&2 'Undefined year.'
	exit 1
}

printf "%s" "${year}"