#!/bin/sh
set -eu

CURRENT_LINK_PATH="${TTM_CURRENT_LINK_PATH:-}"
RELEASE_PATH="${TTM_RELEASE_PATH:-}"
RELATIVE_TARGET="${TTM_RELATIVE_TARGET:-}"

[ -n "$CURRENT_LINK_PATH" ] || { echo "Chemin current introuvable." >&2; exit 1; }
[ -n "$RELEASE_PATH" ] || { echo "Chemin du release introuvable." >&2; exit 1; }
[ -n "$RELATIVE_TARGET" ] || { echo "Cible relative du release introuvable." >&2; exit 1; }
[ -d "$RELEASE_PATH" ] || { echo "Le release ciblé est introuvable: $RELEASE_PATH" >&2; exit 1; }

mkdir -p "$(dirname "$CURRENT_LINK_PATH")"
ln -sfn "$RELATIVE_TARGET" "$CURRENT_LINK_PATH"

RESOLVED_CURRENT_PATH=""
if command -v readlink >/dev/null 2>&1; then
  RESOLVED_CURRENT_PATH="$(readlink -f "$CURRENT_LINK_PATH" 2>/dev/null || true)"
fi

if [ -z "$RESOLVED_CURRENT_PATH" ]; then
  RESOLVED_CURRENT_PATH="$RELEASE_PATH"
fi

printf 'status=ok\nreleasePath=%s\nrelativeTarget=%s\ncurrentLinkPath=%s\nresolvedCurrentPath=%s\n' \
  "$RELEASE_PATH" \
  "$RELATIVE_TARGET" \
  "$CURRENT_LINK_PATH" \
  "$RESOLVED_CURRENT_PATH"
