Files
qavion-time-tracker-assessment/backend/mvnw
T
achim cc00c6c6ae scaffold: React 19 + Spring Boot 3.4 + PostgreSQL project
Sets up toolchain pinning, format/lint (Biome + Spotless), lefthook
pre-commit hooks, Docker Compose for Postgres, and trivial passing
tests for both stacks.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-16 00:52:57 +02:00

31 lines
1.1 KiB
Bash
Executable File

#!/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" "$@"