#!/bin/bash

# Helper for running things in a temporary directory; used for docs
# building, unittests, etc.

set -e

tmpdir=$(mktemp -d -t gntbuild.XXXXXXXX)
trap "rm -rf $tmpdir" EXIT

# fully copy items
cp -r autotools daemons scripts lib tools qa $tmpdir

if [[ -z "$COPY_DOC" ]]; then
  mkdir $tmpdir/doc
  ln -s $PWD/doc/examples $tmpdir/doc
else
  # Building documentation requires all files
  cp -r doc $tmpdir
fi

mkdir $tmpdir/test/
cp -r test/py $tmpdir/test/py
ln -s $PWD/test/data $tmpdir/test
ln -s $PWD/test/hs $tmpdir/test

mv $tmpdir/lib $tmpdir/ganeti
ln -T -s $tmpdir/ganeti $tmpdir/lib

mkdir -p $tmpdir/src $tmpdir/test/hs
for hfile in htools ganeti-confd mon-collector; do
  if [ -e src/$hfile ]; then
    ln -s $PWD/src/$hfile $tmpdir/src/
  fi
done

cd $tmpdir && GANETI_TEMP_DIR="$tmpdir" "$@"