#!/bin/sh
# install sharness.sh
#
# Copyright (c) 2014 Juan Batiz-Benet
# MIT Licensed; see the LICENSE file in this repository.
#

# settings
version=5eee9b51b5621cec95a64018f0cc779963b230d2
urlprefix=https://github.com/mlafeldt/sharness.git
if test ! -n "$clonedir" ; then
	clonedir=lib
fi
sharnessdir=sharness

if test -f "$clonedir/$sharnessdir/SHARNESS_VERSION_$version"
then
    # There is the right version file. Great, we are done!
    exit 0
fi

die() {
    echo >&2 "$@"
    exit 1
}

checkout_version() {
    git checkout "$version" || die "Could not checkout '$version'"
    rm -f SHARNESS_VERSION_* || die "Could not remove 'SHARNESS_VERSION_*'"
    touch "SHARNESS_VERSION_$version" || die "Could not create 'SHARNESS_VERSION_$version'"
    echo "Sharness version $version is checked out!"
}

if test -d "$clonedir/$sharnessdir/.git"
then
    # We need to update sharness!
    cd "$clonedir/$sharnessdir" || die "Could not cd into '$clonedir/$sharnessdir' directory"
    git fetch || die "Could not fetch to update sharness"
    checkout_version
else
    # We need to clone sharness!
    mkdir -p "$clonedir" || die "Could not create '$clonedir' directory"
    cd "$clonedir" || die "Could not cd into '$clonedir' directory"

    git clone "$urlprefix" || die "Could not clone '$urlprefix'"
    cd "$sharnessdir" || die "Could not cd into '$sharnessdir' directory"
    checkout_version
fi
exit 0
