installAll.sh 2.77 KB
#!/bin/bash
set -eo pipefail

################### Ask for sudo password #####################
read -s -p "Enter sudo password: " SUDOPASS
echo $SUDOPASS | sudo -S -p "" echo "Thanks!" 

export ROOT=`pwd`

#################### various prerequisites ####################
./download_models.sh

cd ../third_party
./install_morfeusz.sh $SUDOPASS
./install_pantera.sh $SUDOPASS
./install_spejd.sh $SUDOPASS
./install_maca.sh $SUDOPASS
./install_concraft.sh $SUDOPASS
./install_wcrft_deps.sh $SUDOPASS
./install_wmbt_deps.sh $SUDOPASS
./install_thrift.sh $SUDOPASS
cd ../scripts
./generateThrift.sh
cd "$ROOT"

echo $SUDOPASS | sudo -S -p "" apt-get -y install maven ghc cabal-install python-pip python-lxml
echo $SUDOPASS | sudo -S -p "" apt-get -y install libots-dev

#################### Java #####################
for projectDir in ../core/JavaUtils ../core/RequestManager ../core/WebService ../subservices/java/*
do
  echo
  echo $"==== building $projectDir ===="
  echo
  cd $projectDir
  mvn package install -DskipTests=true
  cd "$ROOT"
done

echo $SUDOPASS | sudo -S -p "" apt-get -y install tomcat7
cd ../core/WebService/target
echo $SUDOPASS | sudo -S -p "" cp WebService-*.war /var/lib/tomcat7/webapps
cd "$ROOT"


#################### C++ #####################
for cppDir in ../core/CppUtils ../subservices/cpp/*
do
  echo
  echo $"==== building $cppDir ===="
  echo
  cd $cppDir
  ./configure
  make
  echo $SUDOPASS | sudo -S -p "" make install
  echo $SUDOPASS | sudo -S -p "" ldconfig
  cd "$ROOT"
done


#################### Python #####################
for pyDir in ../core/PyUtils ../subservices/python/*
do
  echo
  echo $"==== building $pyDir ===="
  echo
  cd $pyDir
  echo $SUDOPASS | sudo -S -p "" python setup.py install
  cd "$ROOT"
done

# MultiserviceDemo
echo $SUDOPASS | sudo -S -p "" apt-get -y install apache2 libapache2-mod-fastcgi python-pip
echo $SUDOPASS | sudo -S -p "" pip install django flup jsonpickle thrift
echo $SUDOPASS | sudo -S -p "" mkdir /var/www/fcgi
echo $SUDOPASS | sudo -S -p "" touch /var/www/fcgi/multiservice.fcgi
echo $SUDOPASS | sudo -S -p "" chown -R www-data:www-data /var/www/fcgi
echo $SUDOPASS | sudo -S -p "" chmod 750 /var/www/fcgi/multiservice.fcgi

echo $SUDOPASS | sudo -S -p "" cp -r ../core/MultiserviceDemo/MultiserviceDemo/static /var/www/
echo $SUDOPASS | sudo -S -p "" chown -R www-data:www-data /var/www/static
echo $SUDOPASS | sudo -S -p "" cp ../core/MultiserviceDemo/conf/000-default.conf /etc/apache2/sites-available/

echo $SUDOPASS | sudo -S -p "" a2enmod rewrite
echo $SUDOPASS | sudo -S -p "" service apache2 restart


#################### Haskell #####################
for haskellDir in ../subservices/haskell/*
do
  echo
  echo $"==== building $haskellDir ===="
  echo
  cd $haskellDir
  echo $SUDOPASS | sudo -S -p "" cabal install --global
  cd "$ROOT"
done