https://github.com/genome/genome
Raw File
Tip revision: 1fb881650f385396be30a1e30732fa8ea7910267 authored by Jason Walker on 14 October 2014, 16:02:01 UTC
Add gold reports for CLE validation without ft-keep filter.
Tip revision: 1fb8816
genome-env
#!/usr/bin/env bash

# delegate to local version if it is found
if git rev-parse --is-inside-work-tree 1> /dev/null 2> /dev/null
then
    WORK_TREE="$(git rev-parse --show-toplevel)"
    BIN="$(basename "$0")"
    BIN="${WORK_TREE}/bin/${BIN}"
    if test "$0" != "$BIN" && test -x "$BIN"
    then
        exec "$BIN" "$@"
    fi
fi

set -o errexit
set -o pipefail

usage() {
echo "usage: $0 [command]

See --help for details."
}

man() {
echo "
NAME

    $0 - setup Genome environment

SYNOPSIS

    $0 [command]

DESCRIPTION

    Setup an environment for Genome that will checkout the correct version of
    the UR, Workflow, and configuration submodules as well as setup the shell
    environment to use them and the correct Perl and Prove executables.

EXAMPLES

    $0 test-tracker prove --lsf --git

    Wrap test-tracker to ensure the correct environment is used for running
    tests.

    $0

    Open a new shell with the correct environment so you can run builds
    manually.  Press <Ctrl>-D or type `logout` to return to original shell.
"
}

case $1 in
    "-h") usage; exit 0;;
    "--help") man; exit 0;;
esac

GIT_DIR=$(git rev-parse --show-toplevel 2> /dev/null || true)

if [ -z "${GIT_DIR}" ]; then
    echo "ERROR: Make sure you are in a git repo!"
    exit 128
fi

if [ ! -f "${GIT_DIR}/lib/perl/Genome.pm" ]; then
    echo "ERROR: Make sure you are in a Genome workspace!"
    exit 128
fi

export WORKSPACE="${GIT_DIR}"
ORIG_PWD="${PWD}"
cd "${WORKSPACE}"

if [ -z "$GENOMECI_BASEDIR" ]; then
    GENOMECI_BASEDIR=/gsc/scripts/opt/genome
fi
export GENOMECI_BASEDIR

set -o nounset

$GENOMECI_BASEDIR/bin/model-test-prep-multi '5.10'
source $GENOMECI_BASEDIR/bin/model-test-env.sh "${WORKSPACE}"

if [ -n "$BASH" -o -n "$ZSH_VERSION" ] ; then
    hash -r 2>/dev/null
fi

cd "$ORIG_PWD"

echo '' 1>&2
echo "Perl: $(perl -e 'printf(qq(%vd\n), $^V)')" 1>&2
echo "Prove: $(prove --version)" 1>&2
echo "UR: $(wtf UR | head -n 1)" 1>&2
echo "Workflow: $(wtf Workflow | head -n 1)" 1>&2
echo "Genome: $(wtf Genome | head -n 1)" 1>&2
echo '' 1>&2

if [ -z "$GENOME_ENV" ]; then
    GE_ENV_NAME="genome-env"
fi

unset PROMPT_COMMAND
export PS1="($GE_ENV_NAME) \w $ "

unset GE_ENV_NAME

if [ $# -gt 0 ]; then
    echo "$@"... 1>&2
    exec "$@"
else
    if [ -n "$BASH" ]; then
        echo 'Press <Ctrl>-D or type `logout` to return to normal environment.'
        echo ''
        exec bash --norc --noprofile
    else
        echo 'Only `bash` shells are supported at this time.'
        exit 128
    fi
fi
back to top