sbt/scripts/ci.sh

62 lines
1.6 KiB
Bash
Executable File

#!/usr/bin/env bash
set -euvx
# Force the use of coursier JNI stuff on Windows, which ought to work fine.
# JNI stuff is used to compute the default cache location on Windows (to get the AppData local
# dir, or something like this, via native Windows APIs).
# Without this, if ever coursier fails to load its JNI library on Windows, it falls back
# to using some powershell scripts (via dirs-dev/directories-jvm), which are often a problem,
# see sbt/sbt#5206.
# Enable this once sbt uses the upcoming lm-coursier-shaded version (> 2.0.10-1)
# export COURSIER_JNI="force"
if [ "$(expr substr $(uname -s) 1 5 2>/dev/null)" == "Linux" ]; then
SBT="sbt"
elif [ "$(uname)" == "Darwin" ]; then
SBT="sbt"
else
SBT="sbt.bat"
fi
lmCoursier() {
[ "${PLUGIN:-""}" = "sbt-lm-coursier" ]
}
runLmCoursierTests() {
if [ "$TEST_GROUP" = 1 ]; then
SCRIPTED_EXTRA="sbt-lm-coursier/*"
elif [ "$TEST_GROUP" = 2 ]; then
SCRIPTED_EXTRA="scala-211/*"
else
SCRIPTED_EXTRA=""
fi
# publishing locally to ensure shading runs fine
./metadata/scripts/with-test-repo.sh $SBT \
+lm-coursier-shaded/publishLocal \
+lm-coursier/test \
"sbt-lm-coursier/scripted shared-$TEST_GROUP/* $SCRIPTED_EXTRA"
}
runSbtCoursierTests() {
if [ "$TEST_GROUP" = 1 ]; then
SCRIPTED_EXTRA="sbt-coursier/*"
elif [ "$TEST_GROUP" = 2 ]; then
SCRIPTED_EXTRA="scala-211/*"
else
SCRIPTED_EXTRA=""
fi
./metadata/scripts/with-test-repo.sh $SBT \
sbt-coursier-shared/test \
"sbt-coursier/scripted shared-$TEST_GROUP/* $SCRIPTED_EXTRA"
}
if lmCoursier; then
runLmCoursierTests
else
runSbtCoursierTests
fi