blob: 79b3dd65a9eccb9ce634620e37bdc4a80e0258e6 [file] [log] [blame]
#! /bin/sh
# 'strict' mode
set -euo pipefail
SCRIPT_DIR=$(dirname "$(readlink -f "${BASH_SOURCE[0]}")")
METALAVA_DIR="$SCRIPT_DIR/.."
OUT_DIR="${METALAVA_DIR}/../../out"
METALAVA_OUT_DIR="$OUT_DIR/metalava"
# Delete all the existing baseline files apart from the test one in
# `metalava-model-testsuite`.
echo "Deleting baseline files"
find -name model-test-suite-baseline.txt | \
(grep -v "metalava-model-testsuite" || true) | \
xargs rm -f
# Delete all existing test report files.
echo "Deleting test report files"
find $METALAVA_OUT_DIR -name TEST-*.xml | (grep "/build/test-results/test/" || true) | xargs rm -f
cd $METALAVA_DIR
# Find provider projects
PROVIDER_PROJECTS=$(find metalava-model-* -name build.gradle.kts | xargs grep -l "id(\"metalava-model-provider-plugin\")" | sed "s|/build.gradle.kts||")
for PROJECT in $PROVIDER_PROJECTS
do
# Run tests in project, ignoring errors.
echo "Running all tests in $PROJECT"
./gradlew :$PROJECT:test --continue || true
echo "Updating baseline file"
./gradlew :$PROJECT:updateModelSuiteBaseline
done