#!/usr/bin/env bash # Writes docs/output/13-dependencies.txt: which artifact brings what, straight from Maven. set -euo pipefail cd "$(dirname "$0")/.." mkdir -p docs/output target mvn -B dependency:tree -DoutputFile=target/tree.txt >/dev/null OUT=docs/output/13-dependencies.txt { echo "# Dependency tree, filtered" echo echo "## Spring Boot and Spring AI versions" echo "spring-boot-starter-parent $(grep -A2 'spring-boot-starter-parent' pom.xml | grep -m1 -o '[^<]*' | sed 's/.*>//')" echo "spring-ai-bom $(grep -m1 -o '[^<]*' pom.xml | sed 's/.*>//')" echo echo "## where spring-jdbc comes from (it is not under any Spring AI artifact)" grep -n -E 'spring-jdbc|spring-boot-starter-jdbc|spring-boot-jdbc|HikariCP' target/tree.txt echo echo "## what the pgvector starter brings" grep -A8 'spring-ai-starter-vector-store-pgvector' target/tree.txt | sed -n 1,8p echo echo "## every Spring AI artifact on the classpath" grep -o 'org.springframework.ai:[a-z0-9-]*:jar:[0-9.]*' target/tree.txt | sort -u } > "$OUT" echo "wrote $OUT"