#!/bin/bash

set -e # exit on error
set -x # echo commands

git fetch origin master

MINICONDA="Miniconda-$MINICONDA_VERSION-Linux-x86_64"
MINICONDA_URL="http://repo.continuum.io/miniconda/$MINICONDA.sh"

PINNED_PKGS=$(cat <<EOF
notebook ==4.2.3
matplotlib ==1.5.3
EOF
)

wget $MINICONDA_URL
bash $MINICONDA.sh -b -f -p $HOME/miniconda
rm -rf $MINICONDA.sh

python -V

echo -e "$PINNED_PKGS" > $HOME/miniconda/conda-meta/pinned

DEPS_TRAVIS="python=$TRAVIS_PYTHON_VERSION conda=4.3.11 conda-env=2.6.0 conda-build=2.1.4"
conda install --yes $DEPS_TRAVIS

conda config --set auto_update_conda off
conda config --append channels bokeh
conda config --append channels conda-forge
conda config --get channels

DEPS_BUILD=$(cat <<EOF | python -
from conda_build.metadata import MetaData
print(" ".join([s.replace(" ", "") for s in MetaData("conda.recipe").get_value("requirements/build")]))
EOF
)

conda install --yes $DEPS_BUILD

pushd bokehjs
npm install
popd

python setup.py --quiet install --build-js

pushd bokehjs
node_modules/.bin/gulp examples --no-build
popd

DEPS_RUN=$(cat <<EOF | python -
from conda_build.metadata import MetaData
print(" ".join([s.replace(" ", "") for s in MetaData("conda.recipe").get_value("requirements/run")]))
EOF
)

DEPS_TEST=$(cat <<EOF | python -
from conda_build.metadata import MetaData
print(" ".join([s.replace(" ", "") for s in MetaData("conda.recipe").get_value("test/requires")]))
EOF
)

conda install --yes $DEPS_RUN
conda install --yes $DEPS_TEST

echo "node version: $(node -v)"
echo "npm version: $(npm -v)"

MATPLOTLIB_RC=$(python -c "import matplotlib; print(matplotlib.matplotlib_fname())")
sed -i 's/^backend\s*:.*$/backend: agg/' $MATPLOTLIB_RC

python -c 'import bokeh; bokeh.sampledata.download(progress=False)'
