diff --git a/.travis.yml b/.travis.yml index 0a6529e46e598954d54f73ca6bd6c33bdd3fc6dd..65ba4990ee63eb7879a28a0b8e4269e513c679a5 100644 --- a/.travis.yml +++ b/.travis.yml @@ -2,15 +2,13 @@ language: java jdk: - openjdk7 sudo: false +cache: + directories: + - "build" before_install: - "export DISPLAY=:99.0" - "sh -e /etc/init.d/xvfb start" - - "mkdir dependencies && cd dependencies" - - "wget ftp://emboss.open-bio.org/pub/EMBOSS/EMBOSS-6.6.0.tar.gz && tar xzfv EMBOSS-6.6.0.tar.gz" - - "cd EMBOSS-6.6.0 && mkdir build && ./configure --prefix $(pwd)/build" - - "make" - - "make install" - - "export EMBOSS_ROOT=$(pwd)/build && cd ../.." + - "source install_dependencies.sh" install: - "make" - "cd test" diff --git a/install_dependencies.sh b/install_dependencies.sh new file mode 100644 index 0000000000000000000000000000000000000000..d2600866bafc1fefdaa3fe484dea6d0850cc47e0 --- /dev/null +++ b/install_dependencies.sh @@ -0,0 +1,57 @@ +#!/bin/bash + +set -x +set -e + +start_dir=$(pwd) + +EMBOSS_VERSION="6.6.0" + +EMBOSS_DOWNLOAD_URL="ftp://emboss.open-bio.org/pub/EMBOSS/EMBOSS-${EMBOSS_VERSION}.tar.gz" + +# Make an install location +if [ ! -d 'build' ]; then + mkdir build +fi +cd build +build_dir=$(pwd) + +# DOWNLOAD ALL THE THINGS +download () { + url=$1 + download_location=$2 + + if [ -e $download_location ]; then + echo "Skipping download of $url, $download_location already exists" + else + echo "Downloading $url to $download_location" + wget $url -O $download_location + fi +} + +download $EMBOSS_DOWNLOAD_URL "emboss-${EMBOSS_VERSION}.tgz" + +# Build all the things +cd $build_dir + +## Emboss +emboss_dir=$(pwd)/EMBOSS-${EMBOSS_VERSION} +if [ ! -d $emboss_dir ]; then + tar xzf emboss-${EMBOSS_VERSION}.tgz +fi +cd $emboss_dir +if [ -e "${emboss_dir}/build/bin/restrict" ]; then + echo "Already built Emboss; skipping build" +else + mkdir build + ./configure --prefix ${emboss_dir}/build + make + make install +fi + +export EMBOSS_ROOT=${emboss_dir}/build + +cd $start_dir + +set +x +set +e