#!/bin/bash
# --------------------------------------------------------
# Creates a tempdir for release and checks out the code
# --------------------------------------------------------

set -e
set -x

GERRIT_USER=${GERRIT_USER:-$USER}
BRANCH=${2:-master}
COMMAND=${3:--i}

export ONOS_VERSION=${1:-$ONOS_VERSION}
if [ -z "$ONOS_VERSION" ]; then
  echo "USAGE: onos-prepare-release <version number>"
  echo "       Alternatively, ONOS_VERSION must be set"
  exit -1
fi

DIR=$(mktemp -d /tmp/onos-release.XXXXX) &&
  echo "Created tempdir for release: $DIR" ||
  { echo "Failed to create temp file"; exit 1; }

cd $DIR
git init
git remote add origin ssh://$GERRIT_USER@gerrit.onosproject.org:29418/onos.git
git fetch origin
git checkout $BRANCH

# Check existance of version
git tag -l | grep -q "$ONOS_VERSION\$" &&
  { echo "ERROR: Version already exists"; exit -1; }

cp -R $ONOS_ROOT/tools/build/* $DIR/tools/build/
cp $ONOS_ROOT/tools/test/bin/onos-archetypes-test $DIR/tools/test/bin/

export ONOS_ROOT=$DIR
# This is a hack to remove symlinks from the ONOS_ROOT path. To be removed when
# the protobuf buck rules can handle symlinks
ONOS_ROOT=$(pushd $ONOS_ROOT >/dev/null && pwd -P && popd >/dev/null)
. $ONOS_ROOT/tools/build/envDefaults

echo "stay away!" >buck-out

exec bash $COMMAND


