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