#!/bin/sh

# Build Sakai from source - SakaiLocalName production build
# 
# Version 0.5
# Warwick Chapman - warwick@thusa.net
#
# Credit to UCT Sakai Team for sharing their process, from which this script is a simplification
#
# Version History:
#
# 0.5 // 20102307 // Added myworkspace_info.html and server_info.html and welcome images
# 0.4 // 20100807 // Added copy of favicon.ico
# 0.3 // 20100807 // Added versioning to sakai.properties
# 0.2 // 20100707 // Added deployment of Tomcat after build
# 0.1 // 20100707 // Initial version, builds Sakai
#
# UCT Build script: http://source.cet.uct.ac.za/svn/sakai/build/trunk/sakai-build.sh
# UCT Install script: http://source.cet.uct.ac.za/svn/sakai/build/trunk/sakai-install.sh

# Set the version of Sakai which will be built
SAKAI=2.7.0

# Set Tomcat version - only needs to change if version of Tomcat will be changed
TOMCAT=5.5.28

# Set paths which will be used below
MYPATH=`pwd`
DISTFILES=$MYPATH/distfiles
LOCALCONFIG=$MYPATH/config
DEST=$MYPATH/apache-tomcat-$TOMCAT
SAKAISRC=$MYPATH/src/sakai-$SAKAI

# TODO - Check if $DEST exists and exit if it does

echo Extracting Tomcat...
tar zxf $DISTFILES/apache-tomcat-$TOMCAT.tar.gz

echo Building trunk SakaiLocalName from source directory $SAKAISRC...

# Build Sakai with Maven, maven is in /opt/maven2
cd $SAKAISRC/master/
mvn clean install
cd ..
mvn -Dmaven.tomcat.home=$DEST clean install sakai:deploy

echo Copying SakaiLocalName configuration...

# sakai.properties
cp -Rv $LOCALCONFIG/sakai $DEST/

# webapps/ROOT/index.html and favicon.ico
cp -v $LOCALCONFIG/index.html $DEST/webapps/ROOT/
cp -v $LOCALCONFIG/favicon.ico $DEST/webapps/ROOT/

# mysql connector
cp -v $DISTFILES/mysql-connector-java-5.1.12-bin.jar $DEST/common/lib/

echo Sakai $SAKAI built and deployed into Tomcat $TOMCAT at $DEST

# Record version
BUILDTIME=`date +%Y%m%d-%H%M`
echo $BUILDTIME:$SAKAI >> sakai-build-history
echo $BUILDTIME:$SAKAI >> $MYPATH/sakai-build-history

# Set version in sakai.properties
echo version.service = $BUILDTIME >> $DEST/sakai/sakai.properties
echo version.sakai = $SAKAI >> $DEST/sakai/sakai.properties

echo Replacing /opt/tomcat and starting SakaiLocalName
sh /opt/tomcat/bin/shutdown.sh
sleep 10
mv /opt/tomcat /opt/tomcat.$BUILDTIME
mv $DEST /opt/tomcat
sh /opt/tomcat/bin/startup.sh

echo Waiting for Tomcat to deploy SakaiLocalName
sleep 60

echo Copying SakaiLocalName skin and templates...

# DA Sakai skin
mv /opt/tomcat/webapps/library/skin/default /opt/tomcat/webapps/library/skin/default.sakai
cp -av $LOCALCONFIG/sakai-da-skin /opt/tomcat/webapps/library/skin/default

# copy templates
cp -v $LOCALCONFIG/myworkspace_info.html /opt/tomcat/webapps/library/content/myworkspace_info.html
cp -v $LOCALCONFIG/server_info.html /opt/tomcat/webapps/library/content/server_info.html
cp -v $LOCALCONFIG/welcome_01.jpg /opt/tomcat/webapps/library/content/welcome_01.jpg


