# Rock-specific shell functions # # The bundle support requires the base/scripts package to be installed function rock-bundle-sel() {

if ! test -f $AUTOPROJ_CURRENT_ROOT/.bundle_env.sh; then
    echo "something's wrong: the $AUTOPROJ_CURRENT_ROOT/.env_bundle.sh does not exist."
    echo "have you successfully installed autoproj the base/scripts package ?"
    return 1
fi

name=$1
bundle_path=$(rock-bundle-find $name)
if test "x$?" != "x0"; then
    echo "cannot find bundle $name, run bundle-info to get the list of available bundles"
    return 1
elif test -z "$name" || test -d "$name"; then
    bundle_path=$(echo $bundle_path | tail -n1)
    export ROCK_BUNDLE=$bundle_path
    rock-bundle-info
    return 0
else
    export ROCK_BUNDLE=$name
    rock-bundle-info
    return 0
fi

} function rock-bundle-default() {

if ! test -f $AUTOPROJ_CURRENT_ROOT/.bundle_env.sh; then
    echo "something's wrong: the $AUTOPROJ_CURRENT_ROOT/.env_bundle.sh does not exist."
    echo "have you successfully installed autoproj the base/scripts package ?"
    return 1
fi

if test -z "$1"; then
    echo "# File generated by the bundle-default command" > $AUTOPROJ_CURRENT_ROOT/.bundle_env.sh
    echo "# Do not change ! Your changes would be overriden !" >> $AUTOPROJ_CURRENT_ROOT/.bundle_env.sh
    echo "unset ROCK_BUNDLE" >> $AUTOPROJ_CURRENT_ROOT/.bundle_env.sh
elif rock-bundle-sel $1; then
    echo "# File generated by the bundle-default command" > $AUTOPROJ_CURRENT_ROOT/.bundle_env.sh
    echo "# Do not change ! Your changes would be overriden !" >> $AUTOPROJ_CURRENT_ROOT/.bundle_env.sh
    echo "export ROCK_BUNDLE=$ROCK_BUNDLE" >> $AUTOPROJ_CURRENT_ROOT/.bundle_env.sh
    return 0
fi

} function rock-bundle-unsel() {

unset ROCK_BUNDLE

}

function rock-log-level() {

if test "x$#" != "x1" || test "$1" = "--help" || test "$1" = "-h"; then
    echo "usage: $0 <log-level>"
    echo "Allows setting of logging level for Orocos and Rock in parallel."
    echo ""
    echo "Available general logging levels:"
    echo "    DEBUG, INFO, WARN, ERROR, FATAL"
    echo "Applied to Orocos only"
    echo "    REALTIME, CRITICAL"
    echo ""
    echo "Current setting of environmental variables:"
    echo "    BASE_LOG_LEVEL=$BASE_LOG_LEVEL"
    echo "    ORO_LOGLEVEL=$ORO_LOGLEVEL"
    return
fi

if test "$1" = "REALTIME"; then
    export ORO_LOGLEVEL=7
    return
elif test "$1" = "CRITICAL"; then
    export ORO_LOGLEVEL=2
    return
fi

if test "$1" = "DEBUG"; then
    export ORO_LOGLEVEL=6
elif test "$1" = "INFO"; then
    export ORO_LOGLEVEL=5
elif test "$1" = "WARN" || test "$1" = "WARNING"; then
    export ORO_LOGLEVEL=4
elif test "$1" = "ERROR"; then
    export ORO_LOGLEVEL=3
elif test "$1" = "FATAL"; then
    export ORO_LOGLEVEL=1
else
    echo "Unknown logging level: $1"
    return
fi

export BASE_LOG_LEVEL=$1

}

alias bundle-sel=rock-bundle-sel alias bundle-unsel=rock-bundle-unsel alias bundle-default=rock-bundle-default alias bundle-find=rock-bundle-find alias bundle-info=rock-bundle-info