#!/bin/bash 

# Copyright (C) 2011 by Mike Gabriel <mike.gabriel@das-netzwerkteam.de>
#
# Python X2go is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 3 of the License, or
# (at your option) any later version.
#
# Python X2go is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the
# Free Software Foundation, Inc.,
# 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA.

LIB_PACKAGES_HEULER="\
x2go-keyring heuler master\n
nx-libs heuler master\n
python-x2go heuler master\n
"
LIB_PACKAGES_MAIN="\
x2go-keyring main master\n
nxcomp main build-main\n
nxcompext main build-main\n
nxcompshad main build-main\n
python-x2go main build-main\n
"

APP_PACKAGES_HEULER="\
x2goserver heuler master\n
x2goagent heuler master\n
x2goclient heuler master\n
nxproxy heuler master\n
cups-x2go heuler master\n
x2godesktopsharing heuler master\n
x2goadmincenter heuler master\n
x2gognomebindings heuler master\n
x2golxdebindings heuler master\n
x2goplasmabindings heuler master\n
x2gotrinitybindings heuler master\n
pyhoca-gui heuler master\n
pyhoca-cli heuler master\n
x2gothinclient heuler master
"
APP_PACKAGES_MAIN="\
x2goserver main build-main\n
x2goagent main build-main\n
x2goclient main build-main\n
nxproxy main build-main\n
cups-x2go main build-main\n
x2godesktopsharing main build-main\n
x2gognomebindings main build-main\n
x2goplasmabindings main master\n
x2gotrinitybindings main master\n
pyhoca-gui main build-main\n
pyhoca-cli main build-main\n
x2gothinclient main build-main
"

COMPONENT=${1:-""}

# build the newest code... (nightly-builds)
[ "x$COMPONENT" = "xheuler" ] || [ -z $COMPONENT ] && {
    echo -e $LIB_PACKAGES_HEULER $APP_PACKAGES_HEULER | while read pkg comp checkout; do
	if [ "x$(basename $0)" = "xx2go-build-all-packages" ]; then
		x2go-build-package $pkg $comp $checkout
	elif [ "x$(basename $0)" = "xx2go-upload-all-packages" ]; then
		x2go-upload-package $pkg $comp $checkout
	elif [ "x$(basename $0)" = "xx2go-build+upload-all-packages" ]; then
		x2go-build-package $pkg $comp $checkout && x2go-upload-package $pkg $comp $checkout
	fi
    done
}

# build all packages tagged as build-main
[ "x$COMPONENT" = "xmain" ] || [ -z $COMPONENT ] && {
    echo -e $LIB_PACKAGES_MAIN $APP_PACKAGES_MAIN | while read pkg comp checkout; do
	if [ "x$(basename $0)" = "xx2go-build-all-packages" ]; then
		x2go-build-package $pkg $comp $checkout
	elif [ "x$(basename $0)" = "xx2go-upload-all-packages" ]; then
		x2go-upload-package $pkg $comp $checkout
	elif [ "x$(basename $0)" = "xx2go-build+upload-all-packages" ]; then
		x2go-build-package $pkg $comp $checkout && x2go-upload-package $pkg $comp $checkout
	fi
    done
}
