#!/bin/bash
#   Copyright 2016 RIFT.IO Inc
#
#   Licensed under the Apache License, Version 2.0 (the "License");
#   you may not use this file except in compliance with the License.
#   You may obtain a copy of the License at
#
#       http://www.apache.org/licenses/LICENSE-2.0
#
#   Unless required by applicable law or agreed to in writing, software
#   distributed under the License is distributed on an "AS IS" BASIS,
#   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
#   See the License for the specific language governing permissions and
#   limitations under the License.
# 
# TEMPLATE script to start a build. This is run inside a container
#
# 6 July 2016 -- Jeremy.Mordkoff@riftio.com -- adapted from the riftware version
# 

HERE=$(realpath $(dirname $0))
OSM_JENKINS=$(dirname $HERE)
. $OSM_JENKINS/common/all_funcs

# SET YOU MDG repository name here
export OSM_MDG=UI
OSM_load_config

#OSM_git_checkout "$@"

#trap 'WARNING "INTERRUPT"; exit 1' INT

#./BUILD.sh -u

INFO "starting install $MDG"

#Release ONE
curl https://osm-download.etsi.org/repository/osm/debian/ReleaseONE/OSM%20ETSI%20Release%20Key.gpg |apt-key add -
add-apt-repository -y "deb https://osm-download.etsi.org/repository/osm/debian/ReleaseONE unstable SO UI RO openvim"
#add-apt-repository -y "deb https://osm-download.etsi.org/repository/osm/debian/ReleaseONE stable SO UI RO openvim"

#Release TWO
#curl https://osm-download.etsi.org/repository/osm/debian/ReleaseTWO/OSM%20ETSI%20Release%20Key.gpg |apt-key add -
#add-apt-repository -y "deb https://osm-download.etsi.org/repository/osm/debian/ReleaseTWO stable SO UI RO openvim"

apt-get update
apt-get install -y \
    rw.ui-about \
    rw.ui-logging \
    rw.ui-skyquake \
    rw.ui-accounts \
    rw.ui-composer \
    rw.ui-launchpad \
    rw.ui-debug \
    rw.ui-config \
    rw.ui-dummy_component

RC=$?

INFO "done, RC=$RC"
exit $RC

