sbt/scripts/with-test-repo.sh

46 lines
1.1 KiB
Bash
Raw Normal View History

#!/usr/bin/env bash
set -e
cd "$(dirname "$0")/.."
SERVER_PID=""
cleanup() {
if [ ! -z "$SERVER_PID" ]; then
echo "Terminating background HTTP server"
kill -15 "$SERVER_PID"
while kill -0 "$SERVER_PID" >/dev/null 2>&1; do
echo "Server still running"
sleep 1
kill -15 "$SERVER_PID" >/dev/null 2>&1 || true
done
echo "Server terminated"
fi
}
trap cleanup EXIT INT TERM
export TEST_REPOSITORY_HOST="localhost"
export TEST_REPOSITORY_PORT="8080"
export TEST_REPOSITORY_USER="user"
export TEST_REPOSITORY_PASSWORD="pass"
export TEST_REPOSITORY="http://$TEST_REPOSITORY_HOST:$TEST_REPOSITORY_PORT"
# see https://unix.stackexchange.com/questions/90244/bash-run-command-in-background-and-capture-pid
runServerBg() {
java -jar ./coursier launch \
"io.get-coursier:http-server_2.12:1.0.0" \
-- \
-d tests/jvm/src/test/resources/test-repo/http/abc.com \
-u "$TEST_REPOSITORY_USER" -P "$TEST_REPOSITORY_PASSWORD" -r realm \
-v \
--host "$TEST_REPOSITORY_HOST" \
--port "$TEST_REPOSITORY_PORT" &
SERVER_PID="$!"
}
runServerBg
"$@"