#!/bin/bash
#
# lib/oslo
#
# Functions to install **Oslo** libraries from git
#
# We need this to handle the fact that projects would like to use
# pre-released versions of oslo libraries.

# Dependencies:
#
# - ``functions`` file

# ``stack.sh`` calls the entry points in this order:
#
# - install_oslo

# Save trace setting
XTRACE=$(set +o | grep xtrace)
set +o xtrace


# Defaults
# --------
GITDIR["automaton"]=$DEST/automaton
GITDIR["cliff"]=$DEST/cliff
GITDIR["debtcollector"]=$DEST/debtcollector
GITDIR["futurist"]=$DEST/futurist
GITDIR["oslo.cache"]=$DEST/oslo.cache
GITDIR["oslo.concurrency"]=$DEST/oslo.concurrency
GITDIR["oslo.config"]=$DEST/oslo.config
GITDIR["oslo.context"]=$DEST/oslo.context
GITDIR["oslo.db"]=$DEST/oslo.db
GITDIR["oslo.i18n"]=$DEST/oslo.i18n
GITDIR["oslo.log"]=$DEST/oslo.log
GITDIR["oslo.messaging"]=$DEST/oslo.messaging
GITDIR["oslo.middleware"]=$DEST/oslo.middleware
GITDIR["oslo.policy"]=$DEST/oslo.policy
GITDIR["oslo.reports"]=$DEST/oslo.reports
GITDIR["oslo.rootwrap"]=$DEST/oslo.rootwrap
GITDIR["oslo.serialization"]=$DEST/oslo.serialization
GITDIR["oslo.service"]=$DEST/oslo.service
GITDIR["oslo.utils"]=$DEST/oslo.utils
GITDIR["oslo.versionedobjects"]=$DEST/oslo.versionedobjects
GITDIR["oslo.vmware"]=$DEST/oslo.vmware
GITDIR["pycadf"]=$DEST/pycadf
GITDIR["stevedore"]=$DEST/stevedore
GITDIR["taskflow"]=$DEST/taskflow
GITDIR["tooz"]=$DEST/tooz

# Support entry points installation of console scripts
OSLO_BIN_DIR=$(get_python_exec_prefix)


# Functions
# ---------

function _do_install_oslo_lib {
    local name=$1
    if use_library_from_git "$name"; then
        git_clone_by_name "$name"
        setup_dev_lib "$name"
    fi
}

# install_oslo() - Collect source and prepare
function install_oslo {
    _do_install_oslo_lib "automaton"
    _do_install_oslo_lib "cliff"
    _do_install_oslo_lib "debtcollector"
    _do_install_oslo_lib "futurist"
    _do_install_oslo_lib "oslo.cache"
    _do_install_oslo_lib "oslo.concurrency"
    _do_install_oslo_lib "oslo.config"
    _do_install_oslo_lib "oslo.context"
    _do_install_oslo_lib "oslo.db"
    _do_install_oslo_lib "oslo.i18n"
    _do_install_oslo_lib "oslo.log"
    _do_install_oslo_lib "oslo.messaging"
    _do_install_oslo_lib "oslo.middleware"
    _do_install_oslo_lib "oslo.policy"
    _do_install_oslo_lib "oslo.reports"
    _do_install_oslo_lib "oslo.rootwrap"
    _do_install_oslo_lib "oslo.serialization"
    _do_install_oslo_lib "oslo.service"
    _do_install_oslo_lib "oslo.utils"
    _do_install_oslo_lib "oslo.versionedobjects"
    _do_install_oslo_lib "oslo.vmware"
    _do_install_oslo_lib "pycadf"
    _do_install_oslo_lib "stevedore"
    _do_install_oslo_lib "taskflow"
    _do_install_oslo_lib "tooz"
}

# Restore xtrace
$XTRACE

# Tell emacs to use shell-script-mode
## Local variables:
## mode: shell-script
## End: