#!/bin/bash
# -----------------------------------------------------------------------------
# Runs the custom version of Buck required by ONOS.
# -----------------------------------------------------------------------------

set -e

BUCK_URL="http://onlab.vicci.org/onos/third-party/buck-v2016.12.02.01.zip"
BUCK_SHA="c7b1b46f998c08a175adec37f210c14092f84216"
REQUIRED_VERSION="buck version c4e714c9c0c774cbb674c2fde0a4419824f0cfdb"

[  "-U" = "$1" ] && shift && FORCE_UPDATE=True

ROOT_DIR=${ONOS_ROOT:-"$( cd "$( dirname "${BASH_SOURCE[0]}" )/../.." && pwd )"}

mkdir -p $ROOT_DIR/bin
pushd $ROOT_DIR/bin > /dev/null

if [ -n "$FORCE_UPDATE" ] || [ ! -f "buck" ] || [ "$REQUIRED_VERSION" != "$(cat .buck_version)" ]; then
    echo "Updating Buck..."
    rm -fr .buck_version buck plugins
    mkdir -p cache
    BUCK_FILE=$(basename $BUCK_URL)
    # Check the local cache; download to cache if required
    [ -f "cache/$BUCK_FILE" ] || curl -o cache/$BUCK_FILE -L $BUCK_URL
    if [ -n "$(which shasum)" ]; then
        SHA=$(shasum cache/$BUCK_FILE | cut -d' ' -f1)
        [ "$SHA" != "$BUCK_SHA" ] &&
           echo "ERROR: Downloaded SHA ($SHA) does not match expected SHA ($BUCK_SHA)" &&
           rm -f cache/$BUCK_FILE && exit 1
    else
        echo "SHA cannot be verified"
    fi
    unzip cache/$BUCK_FILE
    # Kill buckd
    ps -ef | egrep buckd | grep -v egrep | cut -c7-11 | xargs kill 2>/dev/null || :
    rm -rf $ROOT_DIR/buck-out
    printf "Successfully updated Buck in $ROOT_DIR/bin/buck to $BUCK_FILE\n\n"
fi
popd > /dev/null

BUCK=$ROOT_DIR/bin/buck

# Finally, run the Buck command...
NO_BUCKD=1 $BUCK "$@"
