#!/bin/bash

FIRST=1
RELEASE=""

if [[ $1 = "--release" ]]; then
    RELEASE="-DCMAKE_BUILD_TYPE=Release"
    shift 1
fi

while [[ FIRST -eq 1 || $1 != "" ]]; do

    FIRST=0
    OS=$1 

    if [[ $OS = "" ]]; then

        ./sshall.py --build "bash -c \"date \\\"$(date "+%m%d%H%M%Y.%S")\\\"\""

        ./sshall.py --build 'bash -c "cd /srcML; git checkout master; git pull"'

        ./sshall.py --build "bash -c \"cd /srcML/; git clean -fdx; cmake $RELEASE .; make -j2; cpack\""

    else

        ./sshall.py --build --$OS "bash -c \"date \\\"$(date "+%m%d%H%M%Y.%S")\\\"\""

        ./sshall.py --build --$OS 'bash -c "cd /srcML; git checkout master; git pull"'

        ./sshall.py --build --$OS "bash -c \"cd /srcML/; git clean -fdx; cmake $RELEASE .; make -j2; cpack\""

    fi

    if [[ $OS = "fedora" || $OS = "" ]]; then
        ./sshall.py --fedora --build 'bash -c "cd /srcML/; cpack -G RPM"'
    fi

    if [[ $OS = "suse" || $OS = "" ]]; then
        ./sshall.py --suse --build 'bash -c "cd /srcML/; cpack -G RPM"'
    fi

    if [[ $OS = "ubuntu" || $OS = "" ]]; then
        ./sshall.py --ubuntu --build 'bash -c "cd /srcML/; cpack -G DEB"'
    fi

    if [[ $OS = "mint" || $OS = "" ]]; then
        ./sshall.py --mint --build 'bash -c "cd /srcML/; cpack -G DEB"'
    fi

    if [[ $OS = "mac" || $OS = "" ]]; then
        ./sshall.py --mac --build 'bash -c "cd /srcML/; cpack -G PackageMaker"'
    fi

    if [[ $OS = "" ]]; then
        ./sshall.py --build 'bash -c "chown -R srcml:srcml /srcML"'
    else
        ./sshall.py --build --$OS 'bash -c "chown -R srcml:srcml /srcML"'
    fi

    if [[ $OS = "fedora" || $OS = "" ]]; then
        scp fedora20build:/srcML/dist/srcML*.tar.gz ~/Dropbox/srcML/Unix/Fedora20
        scp fedora20build:/srcML/dist/srcML*.rpm ~/Dropbox/srcML/Unix/Fedora20
        scp fedora20build64:/srcML/dist/srcML*.tar.gz ~/Dropbox/srcML/Unix/Fedora20-64
        scp fedora20build64:/srcML/dist/srcML*.rpm ~/Dropbox/srcML/Unix/Fedora20-64
        scp fedora21build:/srcML/dist/srcML*.tar.gz ~/Dropbox/srcML/Unix/Fedora21
        scp fedora21build:/srcML/dist/srcML*.rpm ~/Dropbox/srcML/Unix/Fedora21
        scp fedora21build64:/srcML/dist/srcML*.tar.gz ~/Dropbox/srcML/Unix/Fedora21-64
        scp fedora21build64:/srcML/dist/srcML*.rpm ~/Dropbox/srcML/Unix/Fedora21-64
    fi

    if [[ $OS = "suse" || $OS = "" ]]; then
        scp suse13build:/srcML/dist/srcML*.tar.gz ~/Dropbox/srcML/Unix/openSUSE13.1
        scp suse13build:/srcML/dist/srcML*.rpm ~/Dropbox/srcML/Unix/openSUSE13.1
        scp suse13build64:/srcML/dist/srcML*.tar.gz ~/Dropbox/srcML/Unix/openSUSE13.1-64
        scp suse13build64:/srcML/dist/srcML*.rpm ~/Dropbox/srcML/Unix/openSUSE13.1-64
        scp suse132build:/srcML/dist/srcML*.tar.gz ~/Dropbox/srcML/Unix/openSUSE13.2
        scp suse132build:/srcML/dist/srcML*.rpm ~/Dropbox/srcML/Unix/openSUSE13.2
        scp suse132build64:/srcML/dist/srcML*.tar.gz ~/Dropbox/srcML/Unix/openSUSE13.2-64
        scp suse132build64:/srcML/dist/srcML*.rpm ~/Dropbox/srcML/Unix/openSUSE13.2-64
    fi

    if [[ $OS = "ubuntu" || $OS = "" ]]; then
        scp ubuntu12build:/srcML/dist/srcML*.tar.gz ~/Dropbox/srcML/Unix/Ubuntu12.04
        scp ubuntu12build:/srcML/dist/srcML*.deb ~/Dropbox/srcML/Unix/Ubuntu12.04
        scp ubuntu12build64:/srcML/dist/srcML*.tar.gz ~/Dropbox/srcML/Unix/Ubuntu12.04-64
        scp ubuntu12build64:/srcML/dist/srcML*.deb ~/Dropbox/srcML/Unix/Ubuntu12.04-64
        scp ubuntu14build:/srcML/dist/srcML*.tar.gz ~/Dropbox/srcML/Unix/Ubuntu14.04
        scp ubuntu14build:/srcML/dist/srcML*.deb ~/Dropbox/srcML/Unix/Ubuntu14.04
        scp ubuntu14build64:/srcML/dist/srcML*.tar.gz ~/Dropbox/srcML/Unix/Ubuntu14.04-64
        scp ubuntu14build64:/srcML/dist/srcML*.deb ~/Dropbox/srcML/Unix/Ubuntu14.04-64
    fi

    if [[ $OS = "mac" || $OS = "" ]]; then
        scp macmavericksbuild:/srcML/dist/srcML*.tar.gz ~/Dropbox/srcML/Unix/MacMavericks/
        scp macmavericksbuild:/srcML/dist/srcML*.dmg ~/Dropbox/srcML/Unix/MacMavericks/
    fi

    if [[ $OS = "mint" || $OS = "" ]]; then
        scp mint13build:/srcML/dist/srcML*.tar.gz ~/Dropbox/srcML/Unix/Mint13
        scp mint13build:/srcML/dist/srcML*.deb ~/Dropbox/srcML/Unix/Mint13
        scp mint13build64:/srcML/dist/srcML*.tar.gz ~/Dropbox/srcML/Unix/Mint13-64
        scp mint13build64:/srcML/dist/srcML*.deb ~/Dropbox/srcML/Unix/Mint13-64
        scp mint17build:/srcML/dist/srcML*.tar.gz ~/Dropbox/srcML/Unix/Mint17
        scp mint17build:/srcML/dist/srcML*.deb ~/Dropbox/srcML/Unix/Mint17
        scp mint17build64:/srcML/dist/srcML*.tar.gz ~/Dropbox/srcML/Unix/Mint17-64
        scp mint17build64:/srcML/dist/srcML*.deb ~/Dropbox/srcML/Unix/Mint17-64
        scp mint171build:/srcML/dist/srcML*.tar.gz ~/Dropbox/srcML/Unix/Mint17.1
        scp mint171build:/srcML/dist/srcML*.deb ~/Dropbox/srcML/Unix/Mint17.1
        scp mint171build64:/srcML/dist/srcML*.tar.gz ~/Dropbox/srcML/Unix/Mint17.1-64
        scp mint171build64:/srcML/dist/srcML*.deb ~/Dropbox/srcML/Unix/Mint17.1-64
    fi

    shift 1

done
