f7f5f21e46
The amended script is now able to handle new dependency in the opam file. It also abloe to handle `test` attributes.
61 lines
1.3 KiB
Bash
Executable File
61 lines
1.3 KiB
Bash
Executable File
#! /bin/sh
|
|
|
|
|
|
OCAML_VERSION=4.03.0
|
|
if [ "$(ocaml -vnum)" != "${OCAML_VERSION}" ]; then
|
|
echo ;
|
|
echo " Unexpected compiler version ($(ocaml -vnum))";
|
|
echo " You should use ocaml-${OCAML_VERSION}.";
|
|
echo ;
|
|
exit 1;
|
|
fi
|
|
|
|
cmd=$1
|
|
if [ -z "$cmd" ] ; then cmd=all ; fi
|
|
|
|
case $cmd in
|
|
pin)
|
|
pin=yes
|
|
;;
|
|
depext)
|
|
depext=yes
|
|
;;
|
|
install)
|
|
install=yes
|
|
;;
|
|
all)
|
|
pin=yes
|
|
depext=yes
|
|
install=yes
|
|
;;
|
|
*)
|
|
echo "Unknown command '$cmd'."
|
|
echo "Usage: $0 [pin|depext|install|all]"
|
|
exit 1
|
|
esac
|
|
|
|
set -e
|
|
set -x
|
|
|
|
if [ ! -z "$pin" ] ; then
|
|
opam pin --yes remove --no-action --dev-repo ocplib-resto || true
|
|
opam pin --yes add --no-action --dev-repo sodium
|
|
opam pin --yes add --no-action --dev-repo ocp-ocamlres
|
|
opam pin --yes add --no-action --dev-repo ocplib-json-typed
|
|
opam pin --yes add --no-action --dev-repo ocplib-resto
|
|
## Force opam to take account of the new `tezos-deps.opam`
|
|
opam pin --yes remove tezos-deps
|
|
opam pin --yes add --no-action tezos-deps src
|
|
fi
|
|
|
|
if [ ! -z "$depext" ] ; then
|
|
## In our CI, this rule is executed as user 'root'
|
|
## The other rules are executed as user 'opam'.
|
|
opam list --installed depext || opam install depext
|
|
opam depext ${DEPEXTOPT} tezos-deps
|
|
fi
|
|
|
|
if [ ! -z "$install" ] ; then
|
|
opam install --build-test tezos-deps
|
|
fi
|