Files

25 lines
1.0 KiB
Bash
Executable File

#!/usr/bin/env bash
set -euo pipefail
cd "$(dirname "$0")/.."
mvn -q -B compile
GUAVA_JAR="$(find "$HOME/.m2" -name 'guava-*.jar' ! -name '*sources*' | head -1)"
CP="target/classes:${GUAVA_JAR}"
java -cp "$CP" com.ankurm.immutable.NullHandlingDemo 2>&1 \
| grep -vE 'JAVA_TOOL_OPTIONS|^WARNING' > output/01-null-handling.txt
java -cp "$CP" com.ankurm.immutable.ViewsVsCopiesDemo 2>&1 \
| grep -vE 'JAVA_TOOL_OPTIONS|^WARNING' > output/02-views-vs-copies.txt
java -cp "$CP" com.ankurm.immutable.GuavaComparisonDemo 2>&1 \
| grep -vE 'JAVA_TOOL_OPTIONS|^WARNING' > output/03-guava-comparison.txt
java -cp "$CP" com.ankurm.immutable.DefensiveCopyRecordDemo 2>&1 \
| grep -vE 'JAVA_TOOL_OPTIONS|^WARNING' > output/04-defensive-copy-record.txt
mvn -q -B package -DskipTests
java -jar target/benchmarks.jar -rf text -rff output/05-jmh-raw.txt
mvn -q -B test
cp target/surefire-reports/com.ankurm.immutable.ImmutableCollectionsTest.txt output/06-tests.txt
echo "Regenerated output/01-06. Note: 05-jmh-raw.txt numbers are indicative - this sandbox is shared."