Sha256: f230ee4c4b89d458034c83db1dd93051041edabfadecee2c7d084082ee9b074d

Contents?: true

Size: 1.63 KB

Versions: 193

Compression:

Stored size: 1.63 KB

Contents

#!/bin/sh

if [ $# -eq 0 ]; then
    echo "usage: $0 /path/to/exercise"
    exit 1
fi

exercisedir=$(cd "$1" && pwd)
exercisename=$(basename "$exercisedir")
examplename="stub"
xhaskell=$(cd "$(dirname "$0")/.." && pwd)

# We would ideally use a tmpdir here,
# but stack will invalidate its cache if the path changes,
# so the best alternative seems to be to put it in xhaskell.
buildfolder="${xhaskell}/build/${exercisename}/${examplename}"
mkdir -p "${buildfolder}"
cleanup() {
    rm -r "${xhaskell}/build"
}
trap cleanup EXIT INT TERM

cp -R -L                        \
    ${exercisedir}/stack.yaml   \
    ${exercisedir}/package.yaml \
    ${exercisedir}/src          \
    ${exercisedir}/test         \
    "${buildfolder}"

if [ -d ${exercisedir}/bench ]; then
    cp -R -L ${exercisedir}/bench "${buildfolder}"
fi

cd $buildfolder

if [ -n "$TRAVIS" ]; then
    cachedir="$HOME"
else
    cachedir="$xhaskell"
fi
examplecache="${cachedir}/.foldercache/${exercisename}/${examplename}/.stack-work"
mkdir -p "$examplecache"
ln -f -s "$examplecache"

# SET_RESOLVER passed by .travis.yml - sets --resolver if not current.
if [ -f "${exercisedir}/.meta/DONT-TEST-STUB" ]; then
    echo "only building stub"
    stack build ${SET_RESOLVER} --install-ghc --no-terminal
else
    echo "building stub with everything else"
    stack build ${SET_RESOLVER} --install-ghc --no-terminal \
                --test  --no-run-tests                      \
              # --bench --no-run-benchmarks
              #
              # We are temporarily disabling the benchmarks
              # to speed up Travis-CI and try to stay below
              # the 50 minutes limit.
fi

Version data entries

193 entries across 193 versions & 1 rubygems

Version Path
trackler-2.2.1.180 tracks/haskell/bin/test-stub
trackler-2.2.1.179 tracks/haskell/bin/test-stub
trackler-2.2.1.178 tracks/haskell/bin/test-stub
trackler-2.2.1.177 tracks/haskell/bin/test-stub
trackler-2.2.1.176 tracks/haskell/bin/test-stub
trackler-2.2.1.175 tracks/haskell/bin/test-stub
trackler-2.2.1.174 tracks/haskell/bin/test-stub
trackler-2.2.1.173 tracks/haskell/bin/test-stub
trackler-2.2.1.172 tracks/haskell/bin/test-stub
trackler-2.2.1.171 tracks/haskell/bin/test-stub
trackler-2.2.1.170 tracks/haskell/bin/test-stub
trackler-2.2.1.169 tracks/haskell/bin/test-stub
trackler-2.2.1.167 tracks/haskell/bin/test-stub
trackler-2.2.1.166 tracks/haskell/bin/test-stub
trackler-2.2.1.165 tracks/haskell/bin/test-stub
trackler-2.2.1.164 tracks/haskell/bin/test-stub
trackler-2.2.1.163 tracks/haskell/bin/test-stub
trackler-2.2.1.162 tracks/haskell/bin/test-stub
trackler-2.2.1.161 tracks/haskell/bin/test-stub
trackler-2.2.1.160 tracks/haskell/bin/test-stub