Files

30 lines
1.3 KiB
Bash
Executable File

#!/usr/bin/env bash
# Writes docs/output/17-dependencies.txt: which client and which JSON library actually arrive.
set -euo pipefail
cd "$(dirname "$0")/.."
OUT=docs/output/17-dependencies.txt
TREE=$(mktemp)
trap 'rm -f "$TREE"' EXIT
STARTER_POM=$(ls "$HOME"/.m2/repository/org/springframework/boot/spring-boot-starter-data-redis/*/spring-boot-starter-data-redis-*.pom | head -1)
mvn -B -q dependency:tree -DoutputFile="$TREE" \
-Dincludes='io.lettuce,redis.clients,tools.jackson.core,com.fasterxml.jackson.core,org.springframework.data,org.springframework:spring-messaging' >/dev/null
{
echo "# What the Redis starter brings, and what it does not"
echo
echo "--- The starter's own dependencies (from its pom) ---"
echo "\$ grep -E 'artifactId|scope' spring-boot-starter-data-redis-*.pom"
grep -E 'artifactId|scope' "$STARTER_POM" | sed 's/^[ \t]*//'
echo
echo "--- The client and JSON libraries in this module (mvn dependency:tree, filtered) ---"
echo "\$ mvn dependency:tree -Dincludes=io.lettuce,redis.clients,tools.jackson.core,com.fasterxml.jackson.core,org.springframework.data,org.springframework:spring-messaging"
cat "$TREE"
echo
echo "--- The server the tests start ---"
echo "\$ redis-server --version"
redis-server --version
} > "$OUT"
cat "$OUT"