https://gitlab.com/tezos/tezos
Raw File
Tip revision: a5a4302dd68c1256635959d2d5e6b79f9d0f86ac authored by François Thiré on 29 April 2022, 17:26:53 UTC
Plugin/DAS: Implement RPCs
Tip revision: a5a4302
opam-test-all.sh
#!/bin/sh

set -e

script_dir="$(cd "$(dirname "$0")" && echo "$(pwd -P)/")"
src_dir="$(dirname "$script_dir")"
cd "$src_dir"

cleanup () {
    set +e
    if [ -f LOG ]; then
        echo "failed."
        echo
        cat LOG
        rm LOG
        echo
        exit 1
    fi
}
trap cleanup EXIT INT

silent () {
    "$@" > LOG 2>&1
    rm LOG
}

requested_packages="$*"

export OPAMYES=yes

printf "Cleanup state and pin packages..."
silent ./scripts/opam-unpin.sh
silent . ./scripts/opam-pin.sh
echo " OK."

if [ -n "$requested_packages" ]; then
    packages="$requested_packages"
fi

okfile="$0.DONE"
touch "$okfile"
ok=$(cat "$okfile")

ignore() {
    for i in $ok; do
        if [ "$i" = "$1" ]; then return 0; fi
    done
    return 1
}

for package in $packages; do

    if ignore "$package"; then
        echo "Ignoring: $package."
        continue
    fi

    printf "Installing: %s..." "$package"
    silent opam install "$package"
    echo " OK."

    printf "Removing: %s..." "$package"
    silent opam remove -a "$package"
    echo " OK."

    echo "$package" >> "$okfile"
done

echo
echo "Successfully installed the following packages: "
echo
sed 's/^/- /' < "$okfile"
rm "$okfile"
back to top