#!/bin/sh
set -eu

MVNW_VERSION="3.9.16"
MVNW_URL="https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/${MVNW_VERSION}/apache-maven-${MVNW_VERSION}-bin.zip"
MVNW_BASE="${MAVEN_USER_HOME:-${HOME}/.m2}/wrapper/dists/kintavor-maven-${MVNW_VERSION}"
MVNW_MAVEN_HOME="${MVNW_BASE}/apache-maven-${MVNW_VERSION}"

if [ ! -x "${MVNW_MAVEN_HOME}/bin/mvn" ]; then
  MVNW_TMP="${TMPDIR:-/tmp}/kintavor-maven-${MVNW_VERSION}-$$"
  mkdir -p "${MVNW_TMP}" "${MVNW_BASE}"
  trap 'rm -rf "${MVNW_TMP}"' EXIT HUP INT TERM
  if command -v curl >/dev/null 2>&1; then
    curl --fail --location --silent --show-error "${MVNW_URL}" --output "${MVNW_TMP}/maven.zip"
  elif command -v wget >/dev/null 2>&1; then
    wget -q "${MVNW_URL}" -O "${MVNW_TMP}/maven.zip"
  else
    echo "Se necesita curl o wget para descargar Maven ${MVNW_VERSION}." >&2
    exit 1
  fi
  if ! command -v unzip >/dev/null 2>&1; then
    echo "Se necesita unzip para extraer Maven." >&2
    exit 1
  fi
  unzip -q "${MVNW_TMP}/maven.zip" -d "${MVNW_TMP}"
  rm -rf "${MVNW_MAVEN_HOME}"
  mv "${MVNW_TMP}/apache-maven-${MVNW_VERSION}" "${MVNW_MAVEN_HOME}"
fi

exec "${MVNW_MAVEN_HOME}/bin/mvn" "$@"

