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>
This commit is contained in:
+30
@@ -0,0 +1,30 @@
|
||||
#!/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" "$@"
|
||||
Reference in New Issue
Block a user