| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122 | # generated from colcon_bash/shell/template/prefix.bash.em# This script extends the environment with all packages contained in this# prefix path.# a bash script is able to determine its own path if necessaryif [ -z "$COLCON_CURRENT_PREFIX" ]; then  _colcon_prefix_bash_COLCON_CURRENT_PREFIX="$(builtin cd "`dirname "${BASH_SOURCE[0]}"`" > /dev/null && pwd)"else  _colcon_prefix_bash_COLCON_CURRENT_PREFIX="$COLCON_CURRENT_PREFIX"fi# function to prepend a value to a variable# which uses colons as separators# duplicates as well as trailing separators are avoided# first argument: the name of the result variable# second argument: the value to be prepended_colcon_prefix_bash_prepend_unique_value() {  # arguments  _listname="$1"  _value="$2"  # get values from variable  eval _values=\"\$$_listname\"  # backup the field separator  _colcon_prefix_bash_prepend_unique_value_IFS="$IFS"  IFS=":"  # start with the new value  _all_values="$_value"  _contained_value=""  # iterate over existing values in the variable  for _item in $_values; do    # ignore empty strings    if [ -z "$_item" ]; then      continue    fi    # ignore duplicates of _value    if [ "$_item" = "$_value" ]; then      _contained_value=1      continue    fi    # keep non-duplicate values    _all_values="$_all_values:$_item"  done  unset _item  if [ -z "$_contained_value" ]; then    if [ -n "$COLCON_TRACE" ]; then      if [ "$_all_values" = "$_value" ]; then        echo "export $_listname=$_value"      else        echo "export $_listname=$_value:\$$_listname"      fi    fi  fi  unset _contained_value  # restore the field separator  IFS="$_colcon_prefix_bash_prepend_unique_value_IFS"  unset _colcon_prefix_bash_prepend_unique_value_IFS  # export the updated variable  eval export $_listname=\"$_all_values\"  unset _all_values  unset _values  unset _value  unset _listname}# add this prefix to the COLCON_PREFIX_PATH_colcon_prefix_bash_prepend_unique_value COLCON_PREFIX_PATH "$_colcon_prefix_bash_COLCON_CURRENT_PREFIX"unset _colcon_prefix_bash_prepend_unique_value# check environment variable for custom Python executableif [ -n "$COLCON_PYTHON_EXECUTABLE" ]; then  if [ ! -f "$COLCON_PYTHON_EXECUTABLE" ]; then    echo "error: COLCON_PYTHON_EXECUTABLE '$COLCON_PYTHON_EXECUTABLE' doesn't exist"    return 1  fi  _colcon_python_executable="$COLCON_PYTHON_EXECUTABLE"else  # try the Python executable known at configure time  _colcon_python_executable="/usr/bin/python3"  # if it doesn't exist try a fall back  if [ ! -f "$_colcon_python_executable" ]; then    if ! /usr/bin/env python3 --version > /dev/null 2> /dev/null; then      echo "error: unable to find python3 executable"      return 1    fi    _colcon_python_executable=`/usr/bin/env python3 -c "import sys; print(sys.executable)"`  fifi# function to source another script with conditional trace output# first argument: the path of the script_colcon_prefix_sh_source_script() {  if [ -f "$1" ]; then    if [ -n "$COLCON_TRACE" ]; then      echo "# . \"$1\""    fi    . "$1"  else    echo "not found: \"$1\"" 1>&2  fi}# get all commands in topological order_colcon_ordered_commands="$($_colcon_python_executable "$_colcon_prefix_bash_COLCON_CURRENT_PREFIX/_local_setup_util_sh.py" sh bash)"unset _colcon_python_executableif [ -n "$COLCON_TRACE" ]; then  echo "$(declare -f _colcon_prefix_sh_source_script)"  echo "# Execute generated script:"  echo "# <<<"  echo "${_colcon_ordered_commands}"  echo "# >>>"  echo "unset _colcon_prefix_sh_source_script"fieval "${_colcon_ordered_commands}"unset _colcon_ordered_commandsunset _colcon_prefix_sh_source_scriptunset _colcon_prefix_bash_COLCON_CURRENT_PREFIX
 |