#!/bin/sh # Minimal Maven Wrapper — downloads Apache Maven on first run and caches it. set -e MAVEN_VERSION="3.9.9" MAVEN_CACHE="${HOME}/.m2/wrapper/dists/apache-maven-${MAVEN_VERSION}" MAVEN_URL="https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/${MAVEN_VERSION}/apache-maven-${MAVEN_VERSION}-bin.tar.gz" if [ ! -f "${MAVEN_CACHE}/bin/mvn" ]; then MAVEN_TMP="${MAVEN_CACHE}.tmp.$$" if mkdir "${MAVEN_CACHE}.lock" 2>/dev/null; then echo "Downloading Apache Maven ${MAVEN_VERSION}..." >&2 mkdir -p "${MAVEN_TMP}" if command -v curl > /dev/null 2>&1; then curl -fsSL "${MAVEN_URL}" | tar -xz --strip-components=1 -C "${MAVEN_TMP}" elif command -v wget > /dev/null 2>&1; then wget -qO- "${MAVEN_URL}" | tar -xz --strip-components=1 -C "${MAVEN_TMP}" else rm -rf "${MAVEN_TMP}" "${MAVEN_CACHE}.lock" echo "ERROR: curl or wget is required to download Maven" >&2 exit 1 fi mv "${MAVEN_TMP}" "${MAVEN_CACHE}" rm -rf "${MAVEN_CACHE}.lock" else while [ -d "${MAVEN_CACHE}.lock" ]; do sleep 0.2; done fi fi exec "${MAVEN_CACHE}/bin/mvn" "$@"