initial commit
This commit is contained in:
parent
7511eded10
commit
378cae14db
5
.gitignore
vendored
5
.gitignore
vendored
@ -1,2 +1,5 @@
|
|||||||
/venv/
|
/venv/
|
||||||
.idea
|
.idea
|
||||||
|
/build/
|
||||||
|
/install/
|
||||||
|
/log/
|
||||||
|
@ -1 +0,0 @@
|
|||||||
colcon
|
|
@ -1,10 +0,0 @@
|
|||||||
Metadata-Version: 1.2
|
|
||||||
Name: active-bo-ros
|
|
||||||
Version: 0.0.0
|
|
||||||
Summary: TODO: Package description
|
|
||||||
Home-page: UNKNOWN
|
|
||||||
Maintainer: cpsfeith
|
|
||||||
Maintainer-email: nikolaus.feith@unileoben.ac.at
|
|
||||||
License: TODO: License declaration
|
|
||||||
Description: UNKNOWN
|
|
||||||
Platform: UNKNOWN
|
|
@ -1,15 +0,0 @@
|
|||||||
package.xml
|
|
||||||
setup.cfg
|
|
||||||
setup.py
|
|
||||||
../build/active_bo_ros/active_bo_ros.egg-info/PKG-INFO
|
|
||||||
../build/active_bo_ros/active_bo_ros.egg-info/SOURCES.txt
|
|
||||||
../build/active_bo_ros/active_bo_ros.egg-info/dependency_links.txt
|
|
||||||
../build/active_bo_ros/active_bo_ros.egg-info/entry_points.txt
|
|
||||||
../build/active_bo_ros/active_bo_ros.egg-info/requires.txt
|
|
||||||
../build/active_bo_ros/active_bo_ros.egg-info/top_level.txt
|
|
||||||
../build/active_bo_ros/active_bo_ros.egg-info/zip-safe
|
|
||||||
active_bo_ros/__init__.py
|
|
||||||
resource/active_bo_ros
|
|
||||||
test/test_copyright.py
|
|
||||||
test/test_flake8.py
|
|
||||||
test/test_pep257.py
|
|
@ -1,3 +0,0 @@
|
|||||||
[console_scripts]
|
|
||||||
|
|
||||||
|
|
@ -1 +0,0 @@
|
|||||||
setuptools
|
|
@ -1 +0,0 @@
|
|||||||
active_bo_ros
|
|
@ -1 +0,0 @@
|
|||||||
|
|
@ -1 +0,0 @@
|
|||||||
0
|
|
@ -1 +0,0 @@
|
|||||||
# generated from colcon_core/shell/template/command_prefix.sh.em
|
|
@ -1,83 +0,0 @@
|
|||||||
AMENT_PREFIX_PATH=/opt/ros/foxy
|
|
||||||
BAMF_DESKTOP_FILE_HINT=/var/lib/snapd/desktop/applications/pycharm-professional_pycharm-professional.desktop
|
|
||||||
CMAKE_PREFIX_PATH=/opt/openrobots:
|
|
||||||
COLCON=1
|
|
||||||
COPPELIASIM_ROOT_DIR=/home/cpsfeith/Schreibtisch/CoppeliaSim_Edu_V4_4_0_rev0_Ubuntu20_04/
|
|
||||||
DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/1001/bus
|
|
||||||
DESKTOP_SESSION=ubuntu
|
|
||||||
DESKTOP_STARTUP_ID=gnome-shell/PyCharm Professional Edition/2333-2-cpsWkstn10_TIME1054803
|
|
||||||
DISPLAY=:1
|
|
||||||
GDMSESSION=ubuntu
|
|
||||||
GIO_LAUNCHED_DESKTOP_FILE=/var/lib/snapd/desktop/applications/pycharm-professional_pycharm-professional.desktop
|
|
||||||
GIO_LAUNCHED_DESKTOP_FILE_PID=4830
|
|
||||||
GJS_DEBUG_OUTPUT=stderr
|
|
||||||
GJS_DEBUG_TOPICS=JS ERROR;JS LOG
|
|
||||||
GNOME_DESKTOP_SESSION_ID=this-is-deprecated
|
|
||||||
GNOME_SHELL_SESSION_MODE=ubuntu
|
|
||||||
GPG_AGENT_INFO=/run/user/1001/gnupg/S.gpg-agent:0:1
|
|
||||||
GTK_MODULES=gail:atk-bridge
|
|
||||||
HOME=/home/cpsfeith
|
|
||||||
IM_CONFIG_PHASE=1
|
|
||||||
INVOCATION_ID=1d92ff3c2b4d4ba8a6f8ac324349b3e6
|
|
||||||
JOURNAL_STREAM=8:58744
|
|
||||||
LANG=de_AT.UTF-8
|
|
||||||
LANGUAGE=de_AT:de
|
|
||||||
LD_LIBRARY_PATH=/opt/openrobots/lib:/opt/ros/foxy/opt/yaml_cpp_vendor/lib:/opt/ros/foxy/opt/rviz_ogre_vendor/lib:/opt/ros/foxy/lib/x86_64-linux-gnu:/opt/ros/foxy/lib
|
|
||||||
LESSCLOSE=/usr/bin/lesspipe %s %s
|
|
||||||
LESSOPEN=| /usr/bin/lesspipe %s
|
|
||||||
LOGNAME=cpsfeith
|
|
||||||
LS_COLORS=rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:mi=00:su=37;41:sg=30;43:ca=30;41:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arc=01;31:*.arj=01;31:*.taz=01;31:*.lha=01;31:*.lz4=01;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=01;31:*.tzo=01;31:*.t7z=01;31:*.zip=01;31:*.z=01;31:*.dz=01;31:*.gz=01;31:*.lrz=01;31:*.lz=01;31:*.lzo=01;31:*.xz=01;31:*.zst=01;31:*.tzst=01;31:*.bz2=01;31:*.bz=01;31:*.tbz=01;31:*.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.war=01;31:*.ear=01;31:*.sar=01;31:*.rar=01;31:*.alz=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.cab=01;31:*.wim=01;31:*.swm=01;31:*.dwm=01;31:*.esd=01;31:*.jpg=01;35:*.jpeg=01;35:*.mjpg=01;35:*.mjpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.webm=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.ogv=01;35:*.ogx=01;35:*.aac=00;36:*.au=00;36:*.flac=00;36:*.m4a=00;36:*.mid=00;36:*.midi=00;36:*.mka=00;36:*.mp3=00;36:*.mpc=00;36:*.ogg=00;36:*.ra=00;36:*.wav=00;36:*.oga=00;36:*.opus=00;36:*.spx=00;36:*.xspf=00;36:
|
|
||||||
MANAGERPID=2105
|
|
||||||
NVM_BIN=/home/cpsfeith/.nvm/versions/node/v19.1.0/bin
|
|
||||||
NVM_CD_FLAGS=
|
|
||||||
NVM_DIR=/home/cpsfeith/.nvm
|
|
||||||
NVM_INC=/home/cpsfeith/.nvm/versions/node/v19.1.0/include/node
|
|
||||||
OLDPWD=/home/cpsfeith/PycharmProjects/ActiveBOROS
|
|
||||||
PATH=/home/cpsfeith/.nvm/versions/node/v19.1.0/bin:/opt/openrobots/bin:/opt/ros/foxy/bin:/home/cpsfeith/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin
|
|
||||||
PKG_CONFIG_PATH=/opt/openrobots/lib/pkgconfig:
|
|
||||||
PWD=/home/cpsfeith/PycharmProjects/ActiveBOROS/src/build/active_bo_ros
|
|
||||||
PYTHONPATH=/opt/openrobots/lib/python3.8/site-packages:/usr/lib/python3/dist-packages:/usr/lib/python3.8/dist-packages:/opt/ros/foxy/lib/python3.8/site-packages
|
|
||||||
QT_ACCESSIBILITY=1
|
|
||||||
QT_IM_MODULE=ibus
|
|
||||||
ROS_DISTRO=foxy
|
|
||||||
ROS_LOCALHOST_ONLY=0
|
|
||||||
ROS_PYTHON_VERSION=3
|
|
||||||
ROS_VERSION=2
|
|
||||||
SESSION_MANAGER=local/cpsWkstn10:@/tmp/.ICE-unix/2318,unix/cpsWkstn10:/tmp/.ICE-unix/2318
|
|
||||||
SHELL=/bin/bash
|
|
||||||
SHLVL=1
|
|
||||||
SNAP=/snap/pycharm-professional/319
|
|
||||||
SNAP_ARCH=amd64
|
|
||||||
SNAP_COMMON=/var/snap/pycharm-professional/common
|
|
||||||
SNAP_CONTEXT=Q2g52UPl3Hj8KmlqXZRVxDQ93Y9UUvpLef7Ew7psMHUUAvF_MkT-
|
|
||||||
SNAP_COOKIE=Q2g52UPl3Hj8KmlqXZRVxDQ93Y9UUvpLef7Ew7psMHUUAvF_MkT-
|
|
||||||
SNAP_DATA=/var/snap/pycharm-professional/319
|
|
||||||
SNAP_INSTANCE_KEY=
|
|
||||||
SNAP_INSTANCE_NAME=pycharm-professional
|
|
||||||
SNAP_LIBRARY_PATH=/var/lib/snapd/lib/gl:/var/lib/snapd/lib/gl32:/var/lib/snapd/void
|
|
||||||
SNAP_NAME=pycharm-professional
|
|
||||||
SNAP_REAL_HOME=/home/cpsfeith
|
|
||||||
SNAP_REEXEC=
|
|
||||||
SNAP_REVISION=319
|
|
||||||
SNAP_USER_COMMON=/home/cpsfeith/snap/pycharm-professional/common
|
|
||||||
SNAP_USER_DATA=/home/cpsfeith/snap/pycharm-professional/319
|
|
||||||
SNAP_VERSION=2022.3.2
|
|
||||||
SSH_AGENT_PID=2283
|
|
||||||
SSH_AUTH_SOCK=/run/user/1001/keyring/ssh
|
|
||||||
TERM=xterm-256color
|
|
||||||
TERMINAL_EMULATOR=JetBrains-JediTerm
|
|
||||||
TERM_SESSION_ID=c8328109-9fec-4a9e-af32-375cb2d43e8a
|
|
||||||
USER=cpsfeith
|
|
||||||
USERNAME=cpsfeith
|
|
||||||
WINDOWPATH=2
|
|
||||||
XAUTHORITY=/run/user/1001/gdm/Xauthority
|
|
||||||
XDG_CONFIG_DIRS=/etc/xdg/xdg-ubuntu:/etc/xdg
|
|
||||||
XDG_CURRENT_DESKTOP=ubuntu:GNOME
|
|
||||||
XDG_DATA_DIRS=/usr/share/ubuntu:/usr/local/share/:/usr/share/:/var/lib/snapd/desktop
|
|
||||||
XDG_MENU_PREFIX=gnome-
|
|
||||||
XDG_RUNTIME_DIR=/run/user/1001
|
|
||||||
XDG_SESSION_CLASS=user
|
|
||||||
XDG_SESSION_DESKTOP=ubuntu
|
|
||||||
XDG_SESSION_TYPE=x11
|
|
||||||
XMODIFIERS=@im=ibus
|
|
||||||
_=/usr/bin/colcon
|
|
@ -1,11 +0,0 @@
|
|||||||
/home/cpsfeith/PycharmProjects/ActiveBOROS/src/install/active_bo_ros/lib/python3.8/site-packages/active_bo_ros/__init__.py
|
|
||||||
/home/cpsfeith/PycharmProjects/ActiveBOROS/src/install/active_bo_ros/lib/python3.8/site-packages/active_bo_ros/__pycache__/__init__.cpython-38.pyc
|
|
||||||
/home/cpsfeith/PycharmProjects/ActiveBOROS/src/install/active_bo_ros/share/ament_index/resource_index/packages/active_bo_ros
|
|
||||||
/home/cpsfeith/PycharmProjects/ActiveBOROS/src/install/active_bo_ros/share/active_bo_ros/package.xml
|
|
||||||
/home/cpsfeith/PycharmProjects/ActiveBOROS/src/install/active_bo_ros/lib/python3.8/site-packages/active_bo_ros-0.0.0-py3.8.egg-info/SOURCES.txt
|
|
||||||
/home/cpsfeith/PycharmProjects/ActiveBOROS/src/install/active_bo_ros/lib/python3.8/site-packages/active_bo_ros-0.0.0-py3.8.egg-info/PKG-INFO
|
|
||||||
/home/cpsfeith/PycharmProjects/ActiveBOROS/src/install/active_bo_ros/lib/python3.8/site-packages/active_bo_ros-0.0.0-py3.8.egg-info/entry_points.txt
|
|
||||||
/home/cpsfeith/PycharmProjects/ActiveBOROS/src/install/active_bo_ros/lib/python3.8/site-packages/active_bo_ros-0.0.0-py3.8.egg-info/dependency_links.txt
|
|
||||||
/home/cpsfeith/PycharmProjects/ActiveBOROS/src/install/active_bo_ros/lib/python3.8/site-packages/active_bo_ros-0.0.0-py3.8.egg-info/requires.txt
|
|
||||||
/home/cpsfeith/PycharmProjects/ActiveBOROS/src/install/active_bo_ros/lib/python3.8/site-packages/active_bo_ros-0.0.0-py3.8.egg-info/zip-safe
|
|
||||||
/home/cpsfeith/PycharmProjects/ActiveBOROS/src/install/active_bo_ros/lib/python3.8/site-packages/active_bo_ros-0.0.0-py3.8.egg-info/top_level.txt
|
|
@ -1,3 +0,0 @@
|
|||||||
import sys
|
|
||||||
sys.real_prefix = sys.prefix
|
|
||||||
sys.prefix = sys.exec_prefix = '/home/cpsfeith/PycharmProjects/ActiveBOROS/src/install/active_bo_ros'
|
|
@ -1 +0,0 @@
|
|||||||
isolated
|
|
@ -1,404 +0,0 @@
|
|||||||
# Copyright 2016-2019 Dirk Thomas
|
|
||||||
# Licensed under the Apache License, Version 2.0
|
|
||||||
|
|
||||||
import argparse
|
|
||||||
from collections import OrderedDict
|
|
||||||
import os
|
|
||||||
from pathlib import Path
|
|
||||||
import sys
|
|
||||||
|
|
||||||
|
|
||||||
FORMAT_STR_COMMENT_LINE = '# {comment}'
|
|
||||||
FORMAT_STR_SET_ENV_VAR = 'Set-Item -Path "Env:{name}" -Value "{value}"'
|
|
||||||
FORMAT_STR_USE_ENV_VAR = '$env:{name}'
|
|
||||||
FORMAT_STR_INVOKE_SCRIPT = '_colcon_prefix_powershell_source_script "{script_path}"'
|
|
||||||
FORMAT_STR_REMOVE_LEADING_SEPARATOR = ''
|
|
||||||
FORMAT_STR_REMOVE_TRAILING_SEPARATOR = ''
|
|
||||||
|
|
||||||
DSV_TYPE_APPEND_NON_DUPLICATE = 'append-non-duplicate'
|
|
||||||
DSV_TYPE_PREPEND_NON_DUPLICATE = 'prepend-non-duplicate'
|
|
||||||
DSV_TYPE_PREPEND_NON_DUPLICATE_IF_EXISTS = 'prepend-non-duplicate-if-exists'
|
|
||||||
DSV_TYPE_SET = 'set'
|
|
||||||
DSV_TYPE_SET_IF_UNSET = 'set-if-unset'
|
|
||||||
DSV_TYPE_SOURCE = 'source'
|
|
||||||
|
|
||||||
|
|
||||||
def main(argv=sys.argv[1:]): # noqa: D103
|
|
||||||
parser = argparse.ArgumentParser(
|
|
||||||
description='Output shell commands for the packages in topological '
|
|
||||||
'order')
|
|
||||||
parser.add_argument(
|
|
||||||
'primary_extension',
|
|
||||||
help='The file extension of the primary shell')
|
|
||||||
parser.add_argument(
|
|
||||||
'additional_extension', nargs='?',
|
|
||||||
help='The additional file extension to be considered')
|
|
||||||
parser.add_argument(
|
|
||||||
'--merged-install', action='store_true',
|
|
||||||
help='All install prefixes are merged into a single location')
|
|
||||||
args = parser.parse_args(argv)
|
|
||||||
|
|
||||||
packages = get_packages(Path(__file__).parent, args.merged_install)
|
|
||||||
|
|
||||||
ordered_packages = order_packages(packages)
|
|
||||||
for pkg_name in ordered_packages:
|
|
||||||
if _include_comments():
|
|
||||||
print(
|
|
||||||
FORMAT_STR_COMMENT_LINE.format_map(
|
|
||||||
{'comment': 'Package: ' + pkg_name}))
|
|
||||||
prefix = os.path.abspath(os.path.dirname(__file__))
|
|
||||||
if not args.merged_install:
|
|
||||||
prefix = os.path.join(prefix, pkg_name)
|
|
||||||
for line in get_commands(
|
|
||||||
pkg_name, prefix, args.primary_extension,
|
|
||||||
args.additional_extension
|
|
||||||
):
|
|
||||||
print(line)
|
|
||||||
|
|
||||||
for line in _remove_ending_separators():
|
|
||||||
print(line)
|
|
||||||
|
|
||||||
|
|
||||||
def get_packages(prefix_path, merged_install):
|
|
||||||
"""
|
|
||||||
Find packages based on colcon-specific files created during installation.
|
|
||||||
|
|
||||||
:param Path prefix_path: The install prefix path of all packages
|
|
||||||
:param bool merged_install: The flag if the packages are all installed
|
|
||||||
directly in the prefix or if each package is installed in a subdirectory
|
|
||||||
named after the package
|
|
||||||
:returns: A mapping from the package name to the set of runtime
|
|
||||||
dependencies
|
|
||||||
:rtype: dict
|
|
||||||
"""
|
|
||||||
packages = {}
|
|
||||||
# since importing colcon_core isn't feasible here the following constant
|
|
||||||
# must match colcon_core.location.get_relative_package_index_path()
|
|
||||||
subdirectory = 'share/colcon-core/packages'
|
|
||||||
if merged_install:
|
|
||||||
# return if workspace is empty
|
|
||||||
if not (prefix_path / subdirectory).is_dir():
|
|
||||||
return packages
|
|
||||||
# find all files in the subdirectory
|
|
||||||
for p in (prefix_path / subdirectory).iterdir():
|
|
||||||
if not p.is_file():
|
|
||||||
continue
|
|
||||||
if p.name.startswith('.'):
|
|
||||||
continue
|
|
||||||
add_package_runtime_dependencies(p, packages)
|
|
||||||
else:
|
|
||||||
# for each subdirectory look for the package specific file
|
|
||||||
for p in prefix_path.iterdir():
|
|
||||||
if not p.is_dir():
|
|
||||||
continue
|
|
||||||
if p.name.startswith('.'):
|
|
||||||
continue
|
|
||||||
p = p / subdirectory / p.name
|
|
||||||
if p.is_file():
|
|
||||||
add_package_runtime_dependencies(p, packages)
|
|
||||||
|
|
||||||
# remove unknown dependencies
|
|
||||||
pkg_names = set(packages.keys())
|
|
||||||
for k in packages.keys():
|
|
||||||
packages[k] = {d for d in packages[k] if d in pkg_names}
|
|
||||||
|
|
||||||
return packages
|
|
||||||
|
|
||||||
|
|
||||||
def add_package_runtime_dependencies(path, packages):
|
|
||||||
"""
|
|
||||||
Check the path and if it exists extract the packages runtime dependencies.
|
|
||||||
|
|
||||||
:param Path path: The resource file containing the runtime dependencies
|
|
||||||
:param dict packages: A mapping from package names to the sets of runtime
|
|
||||||
dependencies to add to
|
|
||||||
"""
|
|
||||||
content = path.read_text()
|
|
||||||
dependencies = set(content.split(os.pathsep) if content else [])
|
|
||||||
packages[path.name] = dependencies
|
|
||||||
|
|
||||||
|
|
||||||
def order_packages(packages):
|
|
||||||
"""
|
|
||||||
Order packages topologically.
|
|
||||||
|
|
||||||
:param dict packages: A mapping from package name to the set of runtime
|
|
||||||
dependencies
|
|
||||||
:returns: The package names
|
|
||||||
:rtype: list
|
|
||||||
"""
|
|
||||||
# select packages with no dependencies in alphabetical order
|
|
||||||
to_be_ordered = list(packages.keys())
|
|
||||||
ordered = []
|
|
||||||
while to_be_ordered:
|
|
||||||
pkg_names_without_deps = [
|
|
||||||
name for name in to_be_ordered if not packages[name]]
|
|
||||||
if not pkg_names_without_deps:
|
|
||||||
reduce_cycle_set(packages)
|
|
||||||
raise RuntimeError(
|
|
||||||
'Circular dependency between: ' + ', '.join(sorted(packages)))
|
|
||||||
pkg_names_without_deps.sort()
|
|
||||||
pkg_name = pkg_names_without_deps[0]
|
|
||||||
to_be_ordered.remove(pkg_name)
|
|
||||||
ordered.append(pkg_name)
|
|
||||||
# remove item from dependency lists
|
|
||||||
for k in list(packages.keys()):
|
|
||||||
if pkg_name in packages[k]:
|
|
||||||
packages[k].remove(pkg_name)
|
|
||||||
return ordered
|
|
||||||
|
|
||||||
|
|
||||||
def reduce_cycle_set(packages):
|
|
||||||
"""
|
|
||||||
Reduce the set of packages to the ones part of the circular dependency.
|
|
||||||
|
|
||||||
:param dict packages: A mapping from package name to the set of runtime
|
|
||||||
dependencies which is modified in place
|
|
||||||
"""
|
|
||||||
last_depended = None
|
|
||||||
while len(packages) > 0:
|
|
||||||
# get all remaining dependencies
|
|
||||||
depended = set()
|
|
||||||
for pkg_name, dependencies in packages.items():
|
|
||||||
depended = depended.union(dependencies)
|
|
||||||
# remove all packages which are not dependent on
|
|
||||||
for name in list(packages.keys()):
|
|
||||||
if name not in depended:
|
|
||||||
del packages[name]
|
|
||||||
if last_depended:
|
|
||||||
# if remaining packages haven't changed return them
|
|
||||||
if last_depended == depended:
|
|
||||||
return packages.keys()
|
|
||||||
# otherwise reduce again
|
|
||||||
last_depended = depended
|
|
||||||
|
|
||||||
|
|
||||||
def _include_comments():
|
|
||||||
# skipping comment lines when COLCON_TRACE is not set speeds up the
|
|
||||||
# processing especially on Windows
|
|
||||||
return bool(os.environ.get('COLCON_TRACE'))
|
|
||||||
|
|
||||||
|
|
||||||
def get_commands(pkg_name, prefix, primary_extension, additional_extension):
|
|
||||||
commands = []
|
|
||||||
package_dsv_path = os.path.join(prefix, 'share', pkg_name, 'package.dsv')
|
|
||||||
if os.path.exists(package_dsv_path):
|
|
||||||
commands += process_dsv_file(
|
|
||||||
package_dsv_path, prefix, primary_extension, additional_extension)
|
|
||||||
return commands
|
|
||||||
|
|
||||||
|
|
||||||
def process_dsv_file(
|
|
||||||
dsv_path, prefix, primary_extension=None, additional_extension=None
|
|
||||||
):
|
|
||||||
commands = []
|
|
||||||
if _include_comments():
|
|
||||||
commands.append(FORMAT_STR_COMMENT_LINE.format_map({'comment': dsv_path}))
|
|
||||||
with open(dsv_path, 'r') as h:
|
|
||||||
content = h.read()
|
|
||||||
lines = content.splitlines()
|
|
||||||
|
|
||||||
basenames = OrderedDict()
|
|
||||||
for i, line in enumerate(lines):
|
|
||||||
# skip over empty or whitespace-only lines
|
|
||||||
if not line.strip():
|
|
||||||
continue
|
|
||||||
try:
|
|
||||||
type_, remainder = line.split(';', 1)
|
|
||||||
except ValueError:
|
|
||||||
raise RuntimeError(
|
|
||||||
"Line %d in '%s' doesn't contain a semicolon separating the "
|
|
||||||
'type from the arguments' % (i + 1, dsv_path))
|
|
||||||
if type_ != DSV_TYPE_SOURCE:
|
|
||||||
# handle non-source lines
|
|
||||||
try:
|
|
||||||
commands += handle_dsv_types_except_source(
|
|
||||||
type_, remainder, prefix)
|
|
||||||
except RuntimeError as e:
|
|
||||||
raise RuntimeError(
|
|
||||||
"Line %d in '%s' %s" % (i + 1, dsv_path, e)) from e
|
|
||||||
else:
|
|
||||||
# group remaining source lines by basename
|
|
||||||
path_without_ext, ext = os.path.splitext(remainder)
|
|
||||||
if path_without_ext not in basenames:
|
|
||||||
basenames[path_without_ext] = set()
|
|
||||||
assert ext.startswith('.')
|
|
||||||
ext = ext[1:]
|
|
||||||
if ext in (primary_extension, additional_extension):
|
|
||||||
basenames[path_without_ext].add(ext)
|
|
||||||
|
|
||||||
# add the dsv extension to each basename if the file exists
|
|
||||||
for basename, extensions in basenames.items():
|
|
||||||
if not os.path.isabs(basename):
|
|
||||||
basename = os.path.join(prefix, basename)
|
|
||||||
if os.path.exists(basename + '.dsv'):
|
|
||||||
extensions.add('dsv')
|
|
||||||
|
|
||||||
for basename, extensions in basenames.items():
|
|
||||||
if not os.path.isabs(basename):
|
|
||||||
basename = os.path.join(prefix, basename)
|
|
||||||
if 'dsv' in extensions:
|
|
||||||
# process dsv files recursively
|
|
||||||
commands += process_dsv_file(
|
|
||||||
basename + '.dsv', prefix, primary_extension=primary_extension,
|
|
||||||
additional_extension=additional_extension)
|
|
||||||
elif primary_extension in extensions and len(extensions) == 1:
|
|
||||||
# source primary-only files
|
|
||||||
commands += [
|
|
||||||
FORMAT_STR_INVOKE_SCRIPT.format_map({
|
|
||||||
'prefix': prefix,
|
|
||||||
'script_path': basename + '.' + primary_extension})]
|
|
||||||
elif additional_extension in extensions:
|
|
||||||
# source non-primary files
|
|
||||||
commands += [
|
|
||||||
FORMAT_STR_INVOKE_SCRIPT.format_map({
|
|
||||||
'prefix': prefix,
|
|
||||||
'script_path': basename + '.' + additional_extension})]
|
|
||||||
|
|
||||||
return commands
|
|
||||||
|
|
||||||
|
|
||||||
def handle_dsv_types_except_source(type_, remainder, prefix):
|
|
||||||
commands = []
|
|
||||||
if type_ in (DSV_TYPE_SET, DSV_TYPE_SET_IF_UNSET):
|
|
||||||
try:
|
|
||||||
env_name, value = remainder.split(';', 1)
|
|
||||||
except ValueError:
|
|
||||||
raise RuntimeError(
|
|
||||||
"doesn't contain a semicolon separating the environment name "
|
|
||||||
'from the value')
|
|
||||||
try_prefixed_value = os.path.join(prefix, value) if value else prefix
|
|
||||||
if os.path.exists(try_prefixed_value):
|
|
||||||
value = try_prefixed_value
|
|
||||||
if type_ == DSV_TYPE_SET:
|
|
||||||
commands += _set(env_name, value)
|
|
||||||
elif type_ == DSV_TYPE_SET_IF_UNSET:
|
|
||||||
commands += _set_if_unset(env_name, value)
|
|
||||||
else:
|
|
||||||
assert False
|
|
||||||
elif type_ in (
|
|
||||||
DSV_TYPE_APPEND_NON_DUPLICATE,
|
|
||||||
DSV_TYPE_PREPEND_NON_DUPLICATE,
|
|
||||||
DSV_TYPE_PREPEND_NON_DUPLICATE_IF_EXISTS
|
|
||||||
):
|
|
||||||
try:
|
|
||||||
env_name_and_values = remainder.split(';')
|
|
||||||
except ValueError:
|
|
||||||
raise RuntimeError(
|
|
||||||
"doesn't contain a semicolon separating the environment name "
|
|
||||||
'from the values')
|
|
||||||
env_name = env_name_and_values[0]
|
|
||||||
values = env_name_and_values[1:]
|
|
||||||
for value in values:
|
|
||||||
if not value:
|
|
||||||
value = prefix
|
|
||||||
elif not os.path.isabs(value):
|
|
||||||
value = os.path.join(prefix, value)
|
|
||||||
if (
|
|
||||||
type_ == DSV_TYPE_PREPEND_NON_DUPLICATE_IF_EXISTS and
|
|
||||||
not os.path.exists(value)
|
|
||||||
):
|
|
||||||
comment = f'skip extending {env_name} with not existing ' \
|
|
||||||
f'path: {value}'
|
|
||||||
if _include_comments():
|
|
||||||
commands.append(
|
|
||||||
FORMAT_STR_COMMENT_LINE.format_map({'comment': comment}))
|
|
||||||
elif type_ == DSV_TYPE_APPEND_NON_DUPLICATE:
|
|
||||||
commands += _append_unique_value(env_name, value)
|
|
||||||
else:
|
|
||||||
commands += _prepend_unique_value(env_name, value)
|
|
||||||
else:
|
|
||||||
raise RuntimeError(
|
|
||||||
'contains an unknown environment hook type: ' + type_)
|
|
||||||
return commands
|
|
||||||
|
|
||||||
|
|
||||||
env_state = {}
|
|
||||||
|
|
||||||
|
|
||||||
def _append_unique_value(name, value):
|
|
||||||
global env_state
|
|
||||||
if name not in env_state:
|
|
||||||
if os.environ.get(name):
|
|
||||||
env_state[name] = set(os.environ[name].split(os.pathsep))
|
|
||||||
else:
|
|
||||||
env_state[name] = set()
|
|
||||||
# append even if the variable has not been set yet, in case a shell script sets the
|
|
||||||
# same variable without the knowledge of this Python script.
|
|
||||||
# later _remove_ending_separators() will cleanup any unintentional leading separator
|
|
||||||
extend = FORMAT_STR_USE_ENV_VAR.format_map({'name': name}) + os.pathsep
|
|
||||||
line = FORMAT_STR_SET_ENV_VAR.format_map(
|
|
||||||
{'name': name, 'value': extend + value})
|
|
||||||
if value not in env_state[name]:
|
|
||||||
env_state[name].add(value)
|
|
||||||
else:
|
|
||||||
if not _include_comments():
|
|
||||||
return []
|
|
||||||
line = FORMAT_STR_COMMENT_LINE.format_map({'comment': line})
|
|
||||||
return [line]
|
|
||||||
|
|
||||||
|
|
||||||
def _prepend_unique_value(name, value):
|
|
||||||
global env_state
|
|
||||||
if name not in env_state:
|
|
||||||
if os.environ.get(name):
|
|
||||||
env_state[name] = set(os.environ[name].split(os.pathsep))
|
|
||||||
else:
|
|
||||||
env_state[name] = set()
|
|
||||||
# prepend even if the variable has not been set yet, in case a shell script sets the
|
|
||||||
# same variable without the knowledge of this Python script.
|
|
||||||
# later _remove_ending_separators() will cleanup any unintentional trailing separator
|
|
||||||
extend = os.pathsep + FORMAT_STR_USE_ENV_VAR.format_map({'name': name})
|
|
||||||
line = FORMAT_STR_SET_ENV_VAR.format_map(
|
|
||||||
{'name': name, 'value': value + extend})
|
|
||||||
if value not in env_state[name]:
|
|
||||||
env_state[name].add(value)
|
|
||||||
else:
|
|
||||||
if not _include_comments():
|
|
||||||
return []
|
|
||||||
line = FORMAT_STR_COMMENT_LINE.format_map({'comment': line})
|
|
||||||
return [line]
|
|
||||||
|
|
||||||
|
|
||||||
# generate commands for removing prepended underscores
|
|
||||||
def _remove_ending_separators():
|
|
||||||
# do nothing if the shell extension does not implement the logic
|
|
||||||
if FORMAT_STR_REMOVE_TRAILING_SEPARATOR is None:
|
|
||||||
return []
|
|
||||||
|
|
||||||
global env_state
|
|
||||||
commands = []
|
|
||||||
for name in env_state:
|
|
||||||
# skip variables that already had values before this script started prepending
|
|
||||||
if name in os.environ:
|
|
||||||
continue
|
|
||||||
commands += [
|
|
||||||
FORMAT_STR_REMOVE_LEADING_SEPARATOR.format_map({'name': name}),
|
|
||||||
FORMAT_STR_REMOVE_TRAILING_SEPARATOR.format_map({'name': name})]
|
|
||||||
return commands
|
|
||||||
|
|
||||||
|
|
||||||
def _set(name, value):
|
|
||||||
global env_state
|
|
||||||
env_state[name] = value
|
|
||||||
line = FORMAT_STR_SET_ENV_VAR.format_map(
|
|
||||||
{'name': name, 'value': value})
|
|
||||||
return [line]
|
|
||||||
|
|
||||||
|
|
||||||
def _set_if_unset(name, value):
|
|
||||||
global env_state
|
|
||||||
line = FORMAT_STR_SET_ENV_VAR.format_map(
|
|
||||||
{'name': name, 'value': value})
|
|
||||||
if env_state.get(name, os.environ.get(name)):
|
|
||||||
line = FORMAT_STR_COMMENT_LINE.format_map({'comment': line})
|
|
||||||
return [line]
|
|
||||||
|
|
||||||
|
|
||||||
if __name__ == '__main__': # pragma: no cover
|
|
||||||
try:
|
|
||||||
rc = main()
|
|
||||||
except RuntimeError as e:
|
|
||||||
print(str(e), file=sys.stderr)
|
|
||||||
rc = 1
|
|
||||||
sys.exit(rc)
|
|
@ -1,404 +0,0 @@
|
|||||||
# Copyright 2016-2019 Dirk Thomas
|
|
||||||
# Licensed under the Apache License, Version 2.0
|
|
||||||
|
|
||||||
import argparse
|
|
||||||
from collections import OrderedDict
|
|
||||||
import os
|
|
||||||
from pathlib import Path
|
|
||||||
import sys
|
|
||||||
|
|
||||||
|
|
||||||
FORMAT_STR_COMMENT_LINE = '# {comment}'
|
|
||||||
FORMAT_STR_SET_ENV_VAR = 'export {name}="{value}"'
|
|
||||||
FORMAT_STR_USE_ENV_VAR = '${name}'
|
|
||||||
FORMAT_STR_INVOKE_SCRIPT = 'COLCON_CURRENT_PREFIX="{prefix}" _colcon_prefix_sh_source_script "{script_path}"'
|
|
||||||
FORMAT_STR_REMOVE_LEADING_SEPARATOR = 'if [ "$(echo -n ${name} | head -c 1)" = ":" ]; then export {name}=${{{name}#?}} ; fi'
|
|
||||||
FORMAT_STR_REMOVE_TRAILING_SEPARATOR = 'if [ "$(echo -n ${name} | tail -c 1)" = ":" ]; then export {name}=${{{name}%?}} ; fi'
|
|
||||||
|
|
||||||
DSV_TYPE_APPEND_NON_DUPLICATE = 'append-non-duplicate'
|
|
||||||
DSV_TYPE_PREPEND_NON_DUPLICATE = 'prepend-non-duplicate'
|
|
||||||
DSV_TYPE_PREPEND_NON_DUPLICATE_IF_EXISTS = 'prepend-non-duplicate-if-exists'
|
|
||||||
DSV_TYPE_SET = 'set'
|
|
||||||
DSV_TYPE_SET_IF_UNSET = 'set-if-unset'
|
|
||||||
DSV_TYPE_SOURCE = 'source'
|
|
||||||
|
|
||||||
|
|
||||||
def main(argv=sys.argv[1:]): # noqa: D103
|
|
||||||
parser = argparse.ArgumentParser(
|
|
||||||
description='Output shell commands for the packages in topological '
|
|
||||||
'order')
|
|
||||||
parser.add_argument(
|
|
||||||
'primary_extension',
|
|
||||||
help='The file extension of the primary shell')
|
|
||||||
parser.add_argument(
|
|
||||||
'additional_extension', nargs='?',
|
|
||||||
help='The additional file extension to be considered')
|
|
||||||
parser.add_argument(
|
|
||||||
'--merged-install', action='store_true',
|
|
||||||
help='All install prefixes are merged into a single location')
|
|
||||||
args = parser.parse_args(argv)
|
|
||||||
|
|
||||||
packages = get_packages(Path(__file__).parent, args.merged_install)
|
|
||||||
|
|
||||||
ordered_packages = order_packages(packages)
|
|
||||||
for pkg_name in ordered_packages:
|
|
||||||
if _include_comments():
|
|
||||||
print(
|
|
||||||
FORMAT_STR_COMMENT_LINE.format_map(
|
|
||||||
{'comment': 'Package: ' + pkg_name}))
|
|
||||||
prefix = os.path.abspath(os.path.dirname(__file__))
|
|
||||||
if not args.merged_install:
|
|
||||||
prefix = os.path.join(prefix, pkg_name)
|
|
||||||
for line in get_commands(
|
|
||||||
pkg_name, prefix, args.primary_extension,
|
|
||||||
args.additional_extension
|
|
||||||
):
|
|
||||||
print(line)
|
|
||||||
|
|
||||||
for line in _remove_ending_separators():
|
|
||||||
print(line)
|
|
||||||
|
|
||||||
|
|
||||||
def get_packages(prefix_path, merged_install):
|
|
||||||
"""
|
|
||||||
Find packages based on colcon-specific files created during installation.
|
|
||||||
|
|
||||||
:param Path prefix_path: The install prefix path of all packages
|
|
||||||
:param bool merged_install: The flag if the packages are all installed
|
|
||||||
directly in the prefix or if each package is installed in a subdirectory
|
|
||||||
named after the package
|
|
||||||
:returns: A mapping from the package name to the set of runtime
|
|
||||||
dependencies
|
|
||||||
:rtype: dict
|
|
||||||
"""
|
|
||||||
packages = {}
|
|
||||||
# since importing colcon_core isn't feasible here the following constant
|
|
||||||
# must match colcon_core.location.get_relative_package_index_path()
|
|
||||||
subdirectory = 'share/colcon-core/packages'
|
|
||||||
if merged_install:
|
|
||||||
# return if workspace is empty
|
|
||||||
if not (prefix_path / subdirectory).is_dir():
|
|
||||||
return packages
|
|
||||||
# find all files in the subdirectory
|
|
||||||
for p in (prefix_path / subdirectory).iterdir():
|
|
||||||
if not p.is_file():
|
|
||||||
continue
|
|
||||||
if p.name.startswith('.'):
|
|
||||||
continue
|
|
||||||
add_package_runtime_dependencies(p, packages)
|
|
||||||
else:
|
|
||||||
# for each subdirectory look for the package specific file
|
|
||||||
for p in prefix_path.iterdir():
|
|
||||||
if not p.is_dir():
|
|
||||||
continue
|
|
||||||
if p.name.startswith('.'):
|
|
||||||
continue
|
|
||||||
p = p / subdirectory / p.name
|
|
||||||
if p.is_file():
|
|
||||||
add_package_runtime_dependencies(p, packages)
|
|
||||||
|
|
||||||
# remove unknown dependencies
|
|
||||||
pkg_names = set(packages.keys())
|
|
||||||
for k in packages.keys():
|
|
||||||
packages[k] = {d for d in packages[k] if d in pkg_names}
|
|
||||||
|
|
||||||
return packages
|
|
||||||
|
|
||||||
|
|
||||||
def add_package_runtime_dependencies(path, packages):
|
|
||||||
"""
|
|
||||||
Check the path and if it exists extract the packages runtime dependencies.
|
|
||||||
|
|
||||||
:param Path path: The resource file containing the runtime dependencies
|
|
||||||
:param dict packages: A mapping from package names to the sets of runtime
|
|
||||||
dependencies to add to
|
|
||||||
"""
|
|
||||||
content = path.read_text()
|
|
||||||
dependencies = set(content.split(os.pathsep) if content else [])
|
|
||||||
packages[path.name] = dependencies
|
|
||||||
|
|
||||||
|
|
||||||
def order_packages(packages):
|
|
||||||
"""
|
|
||||||
Order packages topologically.
|
|
||||||
|
|
||||||
:param dict packages: A mapping from package name to the set of runtime
|
|
||||||
dependencies
|
|
||||||
:returns: The package names
|
|
||||||
:rtype: list
|
|
||||||
"""
|
|
||||||
# select packages with no dependencies in alphabetical order
|
|
||||||
to_be_ordered = list(packages.keys())
|
|
||||||
ordered = []
|
|
||||||
while to_be_ordered:
|
|
||||||
pkg_names_without_deps = [
|
|
||||||
name for name in to_be_ordered if not packages[name]]
|
|
||||||
if not pkg_names_without_deps:
|
|
||||||
reduce_cycle_set(packages)
|
|
||||||
raise RuntimeError(
|
|
||||||
'Circular dependency between: ' + ', '.join(sorted(packages)))
|
|
||||||
pkg_names_without_deps.sort()
|
|
||||||
pkg_name = pkg_names_without_deps[0]
|
|
||||||
to_be_ordered.remove(pkg_name)
|
|
||||||
ordered.append(pkg_name)
|
|
||||||
# remove item from dependency lists
|
|
||||||
for k in list(packages.keys()):
|
|
||||||
if pkg_name in packages[k]:
|
|
||||||
packages[k].remove(pkg_name)
|
|
||||||
return ordered
|
|
||||||
|
|
||||||
|
|
||||||
def reduce_cycle_set(packages):
|
|
||||||
"""
|
|
||||||
Reduce the set of packages to the ones part of the circular dependency.
|
|
||||||
|
|
||||||
:param dict packages: A mapping from package name to the set of runtime
|
|
||||||
dependencies which is modified in place
|
|
||||||
"""
|
|
||||||
last_depended = None
|
|
||||||
while len(packages) > 0:
|
|
||||||
# get all remaining dependencies
|
|
||||||
depended = set()
|
|
||||||
for pkg_name, dependencies in packages.items():
|
|
||||||
depended = depended.union(dependencies)
|
|
||||||
# remove all packages which are not dependent on
|
|
||||||
for name in list(packages.keys()):
|
|
||||||
if name not in depended:
|
|
||||||
del packages[name]
|
|
||||||
if last_depended:
|
|
||||||
# if remaining packages haven't changed return them
|
|
||||||
if last_depended == depended:
|
|
||||||
return packages.keys()
|
|
||||||
# otherwise reduce again
|
|
||||||
last_depended = depended
|
|
||||||
|
|
||||||
|
|
||||||
def _include_comments():
|
|
||||||
# skipping comment lines when COLCON_TRACE is not set speeds up the
|
|
||||||
# processing especially on Windows
|
|
||||||
return bool(os.environ.get('COLCON_TRACE'))
|
|
||||||
|
|
||||||
|
|
||||||
def get_commands(pkg_name, prefix, primary_extension, additional_extension):
|
|
||||||
commands = []
|
|
||||||
package_dsv_path = os.path.join(prefix, 'share', pkg_name, 'package.dsv')
|
|
||||||
if os.path.exists(package_dsv_path):
|
|
||||||
commands += process_dsv_file(
|
|
||||||
package_dsv_path, prefix, primary_extension, additional_extension)
|
|
||||||
return commands
|
|
||||||
|
|
||||||
|
|
||||||
def process_dsv_file(
|
|
||||||
dsv_path, prefix, primary_extension=None, additional_extension=None
|
|
||||||
):
|
|
||||||
commands = []
|
|
||||||
if _include_comments():
|
|
||||||
commands.append(FORMAT_STR_COMMENT_LINE.format_map({'comment': dsv_path}))
|
|
||||||
with open(dsv_path, 'r') as h:
|
|
||||||
content = h.read()
|
|
||||||
lines = content.splitlines()
|
|
||||||
|
|
||||||
basenames = OrderedDict()
|
|
||||||
for i, line in enumerate(lines):
|
|
||||||
# skip over empty or whitespace-only lines
|
|
||||||
if not line.strip():
|
|
||||||
continue
|
|
||||||
try:
|
|
||||||
type_, remainder = line.split(';', 1)
|
|
||||||
except ValueError:
|
|
||||||
raise RuntimeError(
|
|
||||||
"Line %d in '%s' doesn't contain a semicolon separating the "
|
|
||||||
'type from the arguments' % (i + 1, dsv_path))
|
|
||||||
if type_ != DSV_TYPE_SOURCE:
|
|
||||||
# handle non-source lines
|
|
||||||
try:
|
|
||||||
commands += handle_dsv_types_except_source(
|
|
||||||
type_, remainder, prefix)
|
|
||||||
except RuntimeError as e:
|
|
||||||
raise RuntimeError(
|
|
||||||
"Line %d in '%s' %s" % (i + 1, dsv_path, e)) from e
|
|
||||||
else:
|
|
||||||
# group remaining source lines by basename
|
|
||||||
path_without_ext, ext = os.path.splitext(remainder)
|
|
||||||
if path_without_ext not in basenames:
|
|
||||||
basenames[path_without_ext] = set()
|
|
||||||
assert ext.startswith('.')
|
|
||||||
ext = ext[1:]
|
|
||||||
if ext in (primary_extension, additional_extension):
|
|
||||||
basenames[path_without_ext].add(ext)
|
|
||||||
|
|
||||||
# add the dsv extension to each basename if the file exists
|
|
||||||
for basename, extensions in basenames.items():
|
|
||||||
if not os.path.isabs(basename):
|
|
||||||
basename = os.path.join(prefix, basename)
|
|
||||||
if os.path.exists(basename + '.dsv'):
|
|
||||||
extensions.add('dsv')
|
|
||||||
|
|
||||||
for basename, extensions in basenames.items():
|
|
||||||
if not os.path.isabs(basename):
|
|
||||||
basename = os.path.join(prefix, basename)
|
|
||||||
if 'dsv' in extensions:
|
|
||||||
# process dsv files recursively
|
|
||||||
commands += process_dsv_file(
|
|
||||||
basename + '.dsv', prefix, primary_extension=primary_extension,
|
|
||||||
additional_extension=additional_extension)
|
|
||||||
elif primary_extension in extensions and len(extensions) == 1:
|
|
||||||
# source primary-only files
|
|
||||||
commands += [
|
|
||||||
FORMAT_STR_INVOKE_SCRIPT.format_map({
|
|
||||||
'prefix': prefix,
|
|
||||||
'script_path': basename + '.' + primary_extension})]
|
|
||||||
elif additional_extension in extensions:
|
|
||||||
# source non-primary files
|
|
||||||
commands += [
|
|
||||||
FORMAT_STR_INVOKE_SCRIPT.format_map({
|
|
||||||
'prefix': prefix,
|
|
||||||
'script_path': basename + '.' + additional_extension})]
|
|
||||||
|
|
||||||
return commands
|
|
||||||
|
|
||||||
|
|
||||||
def handle_dsv_types_except_source(type_, remainder, prefix):
|
|
||||||
commands = []
|
|
||||||
if type_ in (DSV_TYPE_SET, DSV_TYPE_SET_IF_UNSET):
|
|
||||||
try:
|
|
||||||
env_name, value = remainder.split(';', 1)
|
|
||||||
except ValueError:
|
|
||||||
raise RuntimeError(
|
|
||||||
"doesn't contain a semicolon separating the environment name "
|
|
||||||
'from the value')
|
|
||||||
try_prefixed_value = os.path.join(prefix, value) if value else prefix
|
|
||||||
if os.path.exists(try_prefixed_value):
|
|
||||||
value = try_prefixed_value
|
|
||||||
if type_ == DSV_TYPE_SET:
|
|
||||||
commands += _set(env_name, value)
|
|
||||||
elif type_ == DSV_TYPE_SET_IF_UNSET:
|
|
||||||
commands += _set_if_unset(env_name, value)
|
|
||||||
else:
|
|
||||||
assert False
|
|
||||||
elif type_ in (
|
|
||||||
DSV_TYPE_APPEND_NON_DUPLICATE,
|
|
||||||
DSV_TYPE_PREPEND_NON_DUPLICATE,
|
|
||||||
DSV_TYPE_PREPEND_NON_DUPLICATE_IF_EXISTS
|
|
||||||
):
|
|
||||||
try:
|
|
||||||
env_name_and_values = remainder.split(';')
|
|
||||||
except ValueError:
|
|
||||||
raise RuntimeError(
|
|
||||||
"doesn't contain a semicolon separating the environment name "
|
|
||||||
'from the values')
|
|
||||||
env_name = env_name_and_values[0]
|
|
||||||
values = env_name_and_values[1:]
|
|
||||||
for value in values:
|
|
||||||
if not value:
|
|
||||||
value = prefix
|
|
||||||
elif not os.path.isabs(value):
|
|
||||||
value = os.path.join(prefix, value)
|
|
||||||
if (
|
|
||||||
type_ == DSV_TYPE_PREPEND_NON_DUPLICATE_IF_EXISTS and
|
|
||||||
not os.path.exists(value)
|
|
||||||
):
|
|
||||||
comment = f'skip extending {env_name} with not existing ' \
|
|
||||||
f'path: {value}'
|
|
||||||
if _include_comments():
|
|
||||||
commands.append(
|
|
||||||
FORMAT_STR_COMMENT_LINE.format_map({'comment': comment}))
|
|
||||||
elif type_ == DSV_TYPE_APPEND_NON_DUPLICATE:
|
|
||||||
commands += _append_unique_value(env_name, value)
|
|
||||||
else:
|
|
||||||
commands += _prepend_unique_value(env_name, value)
|
|
||||||
else:
|
|
||||||
raise RuntimeError(
|
|
||||||
'contains an unknown environment hook type: ' + type_)
|
|
||||||
return commands
|
|
||||||
|
|
||||||
|
|
||||||
env_state = {}
|
|
||||||
|
|
||||||
|
|
||||||
def _append_unique_value(name, value):
|
|
||||||
global env_state
|
|
||||||
if name not in env_state:
|
|
||||||
if os.environ.get(name):
|
|
||||||
env_state[name] = set(os.environ[name].split(os.pathsep))
|
|
||||||
else:
|
|
||||||
env_state[name] = set()
|
|
||||||
# append even if the variable has not been set yet, in case a shell script sets the
|
|
||||||
# same variable without the knowledge of this Python script.
|
|
||||||
# later _remove_ending_separators() will cleanup any unintentional leading separator
|
|
||||||
extend = FORMAT_STR_USE_ENV_VAR.format_map({'name': name}) + os.pathsep
|
|
||||||
line = FORMAT_STR_SET_ENV_VAR.format_map(
|
|
||||||
{'name': name, 'value': extend + value})
|
|
||||||
if value not in env_state[name]:
|
|
||||||
env_state[name].add(value)
|
|
||||||
else:
|
|
||||||
if not _include_comments():
|
|
||||||
return []
|
|
||||||
line = FORMAT_STR_COMMENT_LINE.format_map({'comment': line})
|
|
||||||
return [line]
|
|
||||||
|
|
||||||
|
|
||||||
def _prepend_unique_value(name, value):
|
|
||||||
global env_state
|
|
||||||
if name not in env_state:
|
|
||||||
if os.environ.get(name):
|
|
||||||
env_state[name] = set(os.environ[name].split(os.pathsep))
|
|
||||||
else:
|
|
||||||
env_state[name] = set()
|
|
||||||
# prepend even if the variable has not been set yet, in case a shell script sets the
|
|
||||||
# same variable without the knowledge of this Python script.
|
|
||||||
# later _remove_ending_separators() will cleanup any unintentional trailing separator
|
|
||||||
extend = os.pathsep + FORMAT_STR_USE_ENV_VAR.format_map({'name': name})
|
|
||||||
line = FORMAT_STR_SET_ENV_VAR.format_map(
|
|
||||||
{'name': name, 'value': value + extend})
|
|
||||||
if value not in env_state[name]:
|
|
||||||
env_state[name].add(value)
|
|
||||||
else:
|
|
||||||
if not _include_comments():
|
|
||||||
return []
|
|
||||||
line = FORMAT_STR_COMMENT_LINE.format_map({'comment': line})
|
|
||||||
return [line]
|
|
||||||
|
|
||||||
|
|
||||||
# generate commands for removing prepended underscores
|
|
||||||
def _remove_ending_separators():
|
|
||||||
# do nothing if the shell extension does not implement the logic
|
|
||||||
if FORMAT_STR_REMOVE_TRAILING_SEPARATOR is None:
|
|
||||||
return []
|
|
||||||
|
|
||||||
global env_state
|
|
||||||
commands = []
|
|
||||||
for name in env_state:
|
|
||||||
# skip variables that already had values before this script started prepending
|
|
||||||
if name in os.environ:
|
|
||||||
continue
|
|
||||||
commands += [
|
|
||||||
FORMAT_STR_REMOVE_LEADING_SEPARATOR.format_map({'name': name}),
|
|
||||||
FORMAT_STR_REMOVE_TRAILING_SEPARATOR.format_map({'name': name})]
|
|
||||||
return commands
|
|
||||||
|
|
||||||
|
|
||||||
def _set(name, value):
|
|
||||||
global env_state
|
|
||||||
env_state[name] = value
|
|
||||||
line = FORMAT_STR_SET_ENV_VAR.format_map(
|
|
||||||
{'name': name, 'value': value})
|
|
||||||
return [line]
|
|
||||||
|
|
||||||
|
|
||||||
def _set_if_unset(name, value):
|
|
||||||
global env_state
|
|
||||||
line = FORMAT_STR_SET_ENV_VAR.format_map(
|
|
||||||
{'name': name, 'value': value})
|
|
||||||
if env_state.get(name, os.environ.get(name)):
|
|
||||||
line = FORMAT_STR_COMMENT_LINE.format_map({'comment': line})
|
|
||||||
return [line]
|
|
||||||
|
|
||||||
|
|
||||||
if __name__ == '__main__': # pragma: no cover
|
|
||||||
try:
|
|
||||||
rc = main()
|
|
||||||
except RuntimeError as e:
|
|
||||||
print(str(e), file=sys.stderr)
|
|
||||||
rc = 1
|
|
||||||
sys.exit(rc)
|
|
@ -1,10 +0,0 @@
|
|||||||
Metadata-Version: 1.2
|
|
||||||
Name: active-bo-ros
|
|
||||||
Version: 0.0.0
|
|
||||||
Summary: TODO: Package description
|
|
||||||
Home-page: UNKNOWN
|
|
||||||
Maintainer: cpsfeith
|
|
||||||
Maintainer-email: nikolaus.feith@unileoben.ac.at
|
|
||||||
License: TODO: License declaration
|
|
||||||
Description: UNKNOWN
|
|
||||||
Platform: UNKNOWN
|
|
@ -1,15 +0,0 @@
|
|||||||
package.xml
|
|
||||||
setup.cfg
|
|
||||||
setup.py
|
|
||||||
../build/active_bo_ros/active_bo_ros.egg-info/PKG-INFO
|
|
||||||
../build/active_bo_ros/active_bo_ros.egg-info/SOURCES.txt
|
|
||||||
../build/active_bo_ros/active_bo_ros.egg-info/dependency_links.txt
|
|
||||||
../build/active_bo_ros/active_bo_ros.egg-info/entry_points.txt
|
|
||||||
../build/active_bo_ros/active_bo_ros.egg-info/requires.txt
|
|
||||||
../build/active_bo_ros/active_bo_ros.egg-info/top_level.txt
|
|
||||||
../build/active_bo_ros/active_bo_ros.egg-info/zip-safe
|
|
||||||
active_bo_ros/__init__.py
|
|
||||||
resource/active_bo_ros
|
|
||||||
test/test_copyright.py
|
|
||||||
test/test_flake8.py
|
|
||||||
test/test_pep257.py
|
|
@ -1 +0,0 @@
|
|||||||
|
|
@ -1,3 +0,0 @@
|
|||||||
[console_scripts]
|
|
||||||
|
|
||||||
|
|
@ -1 +0,0 @@
|
|||||||
setuptools
|
|
@ -1 +0,0 @@
|
|||||||
active_bo_ros
|
|
@ -1 +0,0 @@
|
|||||||
|
|
@ -1 +0,0 @@
|
|||||||
prepend-non-duplicate;AMENT_PREFIX_PATH;
|
|
@ -1,3 +0,0 @@
|
|||||||
# generated from colcon_powershell/shell/template/hook_prepend_value.ps1.em
|
|
||||||
|
|
||||||
colcon_prepend_unique_value AMENT_PREFIX_PATH "$env:COLCON_CURRENT_PREFIX"
|
|
@ -1,3 +0,0 @@
|
|||||||
# generated from colcon_core/shell/template/hook_prepend_value.sh.em
|
|
||||||
|
|
||||||
_colcon_prepend_unique_value AMENT_PREFIX_PATH "$COLCON_CURRENT_PREFIX"
|
|
@ -1 +0,0 @@
|
|||||||
prepend-non-duplicate;PYTHONPATH;lib/python3.8/site-packages
|
|
@ -1,3 +0,0 @@
|
|||||||
# generated from colcon_powershell/shell/template/hook_prepend_value.ps1.em
|
|
||||||
|
|
||||||
colcon_prepend_unique_value PYTHONPATH "$env:COLCON_CURRENT_PREFIX\lib/python3.8/site-packages"
|
|
@ -1,3 +0,0 @@
|
|||||||
# generated from colcon_core/shell/template/hook_prepend_value.sh.em
|
|
||||||
|
|
||||||
_colcon_prepend_unique_value PYTHONPATH "$COLCON_CURRENT_PREFIX/lib/python3.8/site-packages"
|
|
@ -1,31 +0,0 @@
|
|||||||
# generated from colcon_bash/shell/template/package.bash.em
|
|
||||||
|
|
||||||
# This script extends the environment for this package.
|
|
||||||
|
|
||||||
# a bash script is able to determine its own path if necessary
|
|
||||||
if [ -z "$COLCON_CURRENT_PREFIX" ]; then
|
|
||||||
# the prefix is two levels up from the package specific share directory
|
|
||||||
_colcon_package_bash_COLCON_CURRENT_PREFIX="$(builtin cd "`dirname "${BASH_SOURCE[0]}"`/../.." > /dev/null && pwd)"
|
|
||||||
else
|
|
||||||
_colcon_package_bash_COLCON_CURRENT_PREFIX="$COLCON_CURRENT_PREFIX"
|
|
||||||
fi
|
|
||||||
|
|
||||||
# function to source another script with conditional trace output
|
|
||||||
# first argument: the path of the script
|
|
||||||
# additional arguments: arguments to the script
|
|
||||||
_colcon_package_bash_source_script() {
|
|
||||||
if [ -f "$1" ]; then
|
|
||||||
if [ -n "$COLCON_TRACE" ]; then
|
|
||||||
echo ". \"$1\""
|
|
||||||
fi
|
|
||||||
. "$@"
|
|
||||||
else
|
|
||||||
echo "not found: \"$1\"" 1>&2
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
# source sh script of this package
|
|
||||||
_colcon_package_bash_source_script "$_colcon_package_bash_COLCON_CURRENT_PREFIX/share/active_bo_ros/package.sh"
|
|
||||||
|
|
||||||
unset _colcon_package_bash_source_script
|
|
||||||
unset _colcon_package_bash_COLCON_CURRENT_PREFIX
|
|
@ -1,6 +0,0 @@
|
|||||||
source;share/active_bo_ros/hook/pythonpath.ps1
|
|
||||||
source;share/active_bo_ros/hook/pythonpath.dsv
|
|
||||||
source;share/active_bo_ros/hook/pythonpath.sh
|
|
||||||
source;share/active_bo_ros/hook/ament_prefix_path.ps1
|
|
||||||
source;share/active_bo_ros/hook/ament_prefix_path.dsv
|
|
||||||
source;share/active_bo_ros/hook/ament_prefix_path.sh
|
|
@ -1,116 +0,0 @@
|
|||||||
# generated from colcon_powershell/shell/template/package.ps1.em
|
|
||||||
|
|
||||||
# function to append a value to a variable
|
|
||||||
# which uses colons as separators
|
|
||||||
# duplicates as well as leading separators are avoided
|
|
||||||
# first argument: the name of the result variable
|
|
||||||
# second argument: the value to be prepended
|
|
||||||
function colcon_append_unique_value {
|
|
||||||
param (
|
|
||||||
$_listname,
|
|
||||||
$_value
|
|
||||||
)
|
|
||||||
|
|
||||||
# get values from variable
|
|
||||||
if (Test-Path Env:$_listname) {
|
|
||||||
$_values=(Get-Item env:$_listname).Value
|
|
||||||
} else {
|
|
||||||
$_values=""
|
|
||||||
}
|
|
||||||
$_duplicate=""
|
|
||||||
# start with no values
|
|
||||||
$_all_values=""
|
|
||||||
# iterate over existing values in the variable
|
|
||||||
if ($_values) {
|
|
||||||
$_values.Split(";") | ForEach {
|
|
||||||
# not an empty string
|
|
||||||
if ($_) {
|
|
||||||
# not a duplicate of _value
|
|
||||||
if ($_ -eq $_value) {
|
|
||||||
$_duplicate="1"
|
|
||||||
}
|
|
||||||
if ($_all_values) {
|
|
||||||
$_all_values="${_all_values};$_"
|
|
||||||
} else {
|
|
||||||
$_all_values="$_"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
# append only non-duplicates
|
|
||||||
if (!$_duplicate) {
|
|
||||||
# avoid leading separator
|
|
||||||
if ($_all_values) {
|
|
||||||
$_all_values="${_all_values};${_value}"
|
|
||||||
} else {
|
|
||||||
$_all_values="${_value}"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
# export the updated variable
|
|
||||||
Set-Item env:\$_listname -Value "$_all_values"
|
|
||||||
}
|
|
||||||
|
|
||||||
# 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
|
|
||||||
function colcon_prepend_unique_value {
|
|
||||||
param (
|
|
||||||
$_listname,
|
|
||||||
$_value
|
|
||||||
)
|
|
||||||
|
|
||||||
# get values from variable
|
|
||||||
if (Test-Path Env:$_listname) {
|
|
||||||
$_values=(Get-Item env:$_listname).Value
|
|
||||||
} else {
|
|
||||||
$_values=""
|
|
||||||
}
|
|
||||||
# start with the new value
|
|
||||||
$_all_values="$_value"
|
|
||||||
# iterate over existing values in the variable
|
|
||||||
if ($_values) {
|
|
||||||
$_values.Split(";") | ForEach {
|
|
||||||
# not an empty string
|
|
||||||
if ($_) {
|
|
||||||
# not a duplicate of _value
|
|
||||||
if ($_ -ne $_value) {
|
|
||||||
# keep non-duplicate values
|
|
||||||
$_all_values="${_all_values};$_"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
# export the updated variable
|
|
||||||
Set-Item env:\$_listname -Value "$_all_values"
|
|
||||||
}
|
|
||||||
|
|
||||||
# function to source another script with conditional trace output
|
|
||||||
# first argument: the path of the script
|
|
||||||
# additional arguments: arguments to the script
|
|
||||||
function colcon_package_source_powershell_script {
|
|
||||||
param (
|
|
||||||
$_colcon_package_source_powershell_script
|
|
||||||
)
|
|
||||||
# source script with conditional trace output
|
|
||||||
if (Test-Path $_colcon_package_source_powershell_script) {
|
|
||||||
if ($env:COLCON_TRACE) {
|
|
||||||
echo ". '$_colcon_package_source_powershell_script'"
|
|
||||||
}
|
|
||||||
. "$_colcon_package_source_powershell_script"
|
|
||||||
} else {
|
|
||||||
Write-Error "not found: '$_colcon_package_source_powershell_script'"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
# a powershell script is able to determine its own path
|
|
||||||
# the prefix is two levels up from the package specific share directory
|
|
||||||
$env:COLCON_CURRENT_PREFIX=(Get-Item $PSCommandPath).Directory.Parent.Parent.FullName
|
|
||||||
|
|
||||||
colcon_package_source_powershell_script "$env:COLCON_CURRENT_PREFIX\share/active_bo_ros/hook/pythonpath.ps1"
|
|
||||||
colcon_package_source_powershell_script "$env:COLCON_CURRENT_PREFIX\share/active_bo_ros/hook/ament_prefix_path.ps1"
|
|
||||||
|
|
||||||
Remove-Item Env:\COLCON_CURRENT_PREFIX
|
|
@ -1,87 +0,0 @@
|
|||||||
# generated from colcon_core/shell/template/package.sh.em
|
|
||||||
|
|
||||||
# This script extends the environment for this package.
|
|
||||||
|
|
||||||
# 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_prepend_unique_value() {
|
|
||||||
# arguments
|
|
||||||
_listname="$1"
|
|
||||||
_value="$2"
|
|
||||||
|
|
||||||
# get values from variable
|
|
||||||
eval _values=\"\$$_listname\"
|
|
||||||
# backup the field separator
|
|
||||||
_colcon_prepend_unique_value_IFS=$IFS
|
|
||||||
IFS=":"
|
|
||||||
# start with the new value
|
|
||||||
_all_values="$_value"
|
|
||||||
# workaround SH_WORD_SPLIT not being set in zsh
|
|
||||||
if [ "$(command -v colcon_zsh_convert_to_array)" ]; then
|
|
||||||
colcon_zsh_convert_to_array _values
|
|
||||||
fi
|
|
||||||
# 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
|
|
||||||
continue
|
|
||||||
fi
|
|
||||||
# keep non-duplicate values
|
|
||||||
_all_values="$_all_values:$_item"
|
|
||||||
done
|
|
||||||
unset _item
|
|
||||||
# restore the field separator
|
|
||||||
IFS=$_colcon_prepend_unique_value_IFS
|
|
||||||
unset _colcon_prepend_unique_value_IFS
|
|
||||||
# export the updated variable
|
|
||||||
eval export $_listname=\"$_all_values\"
|
|
||||||
unset _all_values
|
|
||||||
unset _values
|
|
||||||
|
|
||||||
unset _value
|
|
||||||
unset _listname
|
|
||||||
}
|
|
||||||
|
|
||||||
# since a plain shell script can't determine its own path when being sourced
|
|
||||||
# either use the provided COLCON_CURRENT_PREFIX
|
|
||||||
# or fall back to the build time prefix (if it exists)
|
|
||||||
_colcon_package_sh_COLCON_CURRENT_PREFIX="/home/cpsfeith/PycharmProjects/ActiveBOROS/src/install/active_bo_ros"
|
|
||||||
if [ -z "$COLCON_CURRENT_PREFIX" ]; then
|
|
||||||
if [ ! -d "$_colcon_package_sh_COLCON_CURRENT_PREFIX" ]; then
|
|
||||||
echo "The build time path \"$_colcon_package_sh_COLCON_CURRENT_PREFIX\" doesn't exist. Either source a script for a different shell or set the environment variable \"COLCON_CURRENT_PREFIX\" explicitly." 1>&2
|
|
||||||
unset _colcon_package_sh_COLCON_CURRENT_PREFIX
|
|
||||||
return 1
|
|
||||||
fi
|
|
||||||
COLCON_CURRENT_PREFIX="$_colcon_package_sh_COLCON_CURRENT_PREFIX"
|
|
||||||
fi
|
|
||||||
unset _colcon_package_sh_COLCON_CURRENT_PREFIX
|
|
||||||
|
|
||||||
# function to source another script with conditional trace output
|
|
||||||
# first argument: the path of the script
|
|
||||||
# additional arguments: arguments to the script
|
|
||||||
_colcon_package_sh_source_script() {
|
|
||||||
if [ -f "$1" ]; then
|
|
||||||
if [ -n "$COLCON_TRACE" ]; then
|
|
||||||
echo "# . \"$1\""
|
|
||||||
fi
|
|
||||||
. "$@"
|
|
||||||
else
|
|
||||||
echo "not found: \"$1\"" 1>&2
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
# source sh hooks
|
|
||||||
_colcon_package_sh_source_script "$COLCON_CURRENT_PREFIX/share/active_bo_ros/hook/pythonpath.sh"
|
|
||||||
_colcon_package_sh_source_script "$COLCON_CURRENT_PREFIX/share/active_bo_ros/hook/ament_prefix_path.sh"
|
|
||||||
|
|
||||||
unset _colcon_package_sh_source_script
|
|
||||||
unset COLCON_CURRENT_PREFIX
|
|
||||||
|
|
||||||
# do not unset _colcon_prepend_unique_value since it might be used by non-primary shell hooks
|
|
@ -1,18 +0,0 @@
|
|||||||
<?xml version="1.0"?>
|
|
||||||
<?xml-model href="http://download.ros.org/schema/package_format3.xsd" schematypens="http://www.w3.org/2001/XMLSchema"?>
|
|
||||||
<package format="3">
|
|
||||||
<name>active_bo_ros</name>
|
|
||||||
<version>0.0.0</version>
|
|
||||||
<description>TODO: Package description</description>
|
|
||||||
<maintainer email="nikolaus.feith@unileoben.ac.at">cpsfeith</maintainer>
|
|
||||||
<license>TODO: License declaration</license>
|
|
||||||
|
|
||||||
<test_depend>ament_copyright</test_depend>
|
|
||||||
<test_depend>ament_flake8</test_depend>
|
|
||||||
<test_depend>ament_pep257</test_depend>
|
|
||||||
<test_depend>python3-pytest</test_depend>
|
|
||||||
|
|
||||||
<export>
|
|
||||||
<build_type>ament_python</build_type>
|
|
||||||
</export>
|
|
||||||
</package>
|
|
@ -1,42 +0,0 @@
|
|||||||
# generated from colcon_zsh/shell/template/package.zsh.em
|
|
||||||
|
|
||||||
# This script extends the environment for this package.
|
|
||||||
|
|
||||||
# a zsh script is able to determine its own path if necessary
|
|
||||||
if [ -z "$COLCON_CURRENT_PREFIX" ]; then
|
|
||||||
# the prefix is two levels up from the package specific share directory
|
|
||||||
_colcon_package_zsh_COLCON_CURRENT_PREFIX="$(builtin cd -q "`dirname "${(%):-%N}"`/../.." > /dev/null && pwd)"
|
|
||||||
else
|
|
||||||
_colcon_package_zsh_COLCON_CURRENT_PREFIX="$COLCON_CURRENT_PREFIX"
|
|
||||||
fi
|
|
||||||
|
|
||||||
# function to source another script with conditional trace output
|
|
||||||
# first argument: the path of the script
|
|
||||||
# additional arguments: arguments to the script
|
|
||||||
_colcon_package_zsh_source_script() {
|
|
||||||
if [ -f "$1" ]; then
|
|
||||||
if [ -n "$COLCON_TRACE" ]; then
|
|
||||||
echo ". \"$1\""
|
|
||||||
fi
|
|
||||||
. "$@"
|
|
||||||
else
|
|
||||||
echo "not found: \"$1\"" 1>&2
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
# function to convert array-like strings into arrays
|
|
||||||
# to workaround SH_WORD_SPLIT not being set
|
|
||||||
colcon_zsh_convert_to_array() {
|
|
||||||
local _listname=$1
|
|
||||||
local _dollar="$"
|
|
||||||
local _split="{="
|
|
||||||
local _to_array="(\"$_dollar$_split$_listname}\")"
|
|
||||||
eval $_listname=$_to_array
|
|
||||||
}
|
|
||||||
|
|
||||||
# source sh script of this package
|
|
||||||
_colcon_package_zsh_source_script "$_colcon_package_zsh_COLCON_CURRENT_PREFIX/share/active_bo_ros/package.sh"
|
|
||||||
unset convert_zsh_to_array
|
|
||||||
|
|
||||||
unset _colcon_package_zsh_source_script
|
|
||||||
unset _colcon_package_zsh_COLCON_CURRENT_PREFIX
|
|
@ -1,107 +0,0 @@
|
|||||||
# 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 necessary
|
|
||||||
if [ -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"
|
|
||||||
# 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
|
|
||||||
continue
|
|
||||||
fi
|
|
||||||
# keep non-duplicate values
|
|
||||||
_all_values="$_all_values:$_item"
|
|
||||||
done
|
|
||||||
unset _item
|
|
||||||
# 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 executable
|
|
||||||
if [ -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)"`
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
# 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_executable
|
|
||||||
if [ -n "$COLCON_TRACE" ]; then
|
|
||||||
echo "Execute generated script:"
|
|
||||||
echo "<<<"
|
|
||||||
echo "${_colcon_ordered_commands}"
|
|
||||||
echo ">>>"
|
|
||||||
fi
|
|
||||||
eval "${_colcon_ordered_commands}"
|
|
||||||
unset _colcon_ordered_commands
|
|
||||||
|
|
||||||
unset _colcon_prefix_sh_source_script
|
|
||||||
|
|
||||||
unset _colcon_prefix_bash_COLCON_CURRENT_PREFIX
|
|
@ -1,55 +0,0 @@
|
|||||||
# generated from colcon_powershell/shell/template/prefix.ps1.em
|
|
||||||
|
|
||||||
# This script extends the environment with all packages contained in this
|
|
||||||
# prefix path.
|
|
||||||
|
|
||||||
# check environment variable for custom Python executable
|
|
||||||
if ($env:COLCON_PYTHON_EXECUTABLE) {
|
|
||||||
if (!(Test-Path "$env:COLCON_PYTHON_EXECUTABLE" -PathType Leaf)) {
|
|
||||||
echo "error: COLCON_PYTHON_EXECUTABLE '$env:COLCON_PYTHON_EXECUTABLE' doesn't exist"
|
|
||||||
exit 1
|
|
||||||
}
|
|
||||||
$_colcon_python_executable="$env:COLCON_PYTHON_EXECUTABLE"
|
|
||||||
} else {
|
|
||||||
# use the Python executable known at configure time
|
|
||||||
$_colcon_python_executable="/usr/bin/python3"
|
|
||||||
# if it doesn't exist try a fall back
|
|
||||||
if (!(Test-Path "$_colcon_python_executable" -PathType Leaf)) {
|
|
||||||
if (!(Get-Command "python3" -ErrorAction SilentlyContinue)) {
|
|
||||||
echo "error: unable to find python3 executable"
|
|
||||||
exit 1
|
|
||||||
}
|
|
||||||
$_colcon_python_executable="python3"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
# function to source another script with conditional trace output
|
|
||||||
# first argument: the path of the script
|
|
||||||
function _colcon_prefix_powershell_source_script {
|
|
||||||
param (
|
|
||||||
$_colcon_prefix_powershell_source_script_param
|
|
||||||
)
|
|
||||||
# source script with conditional trace output
|
|
||||||
if (Test-Path $_colcon_prefix_powershell_source_script_param) {
|
|
||||||
if ($env:COLCON_TRACE) {
|
|
||||||
echo ". '$_colcon_prefix_powershell_source_script_param'"
|
|
||||||
}
|
|
||||||
. "$_colcon_prefix_powershell_source_script_param"
|
|
||||||
} else {
|
|
||||||
Write-Error "not found: '$_colcon_prefix_powershell_source_script_param'"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
# get all commands in topological order
|
|
||||||
$_colcon_ordered_commands = & "$_colcon_python_executable" "$(Split-Path $PSCommandPath -Parent)/_local_setup_util_ps1.py" ps1
|
|
||||||
|
|
||||||
# execute all commands in topological order
|
|
||||||
if ($env:COLCON_TRACE) {
|
|
||||||
echo "Execute generated script:"
|
|
||||||
echo "<<<"
|
|
||||||
$_colcon_ordered_commands.Split([Environment]::NewLine, [StringSplitOptions]::RemoveEmptyEntries) | Write-Output
|
|
||||||
echo ">>>"
|
|
||||||
}
|
|
||||||
if ($_colcon_ordered_commands) {
|
|
||||||
$_colcon_ordered_commands.Split([Environment]::NewLine, [StringSplitOptions]::RemoveEmptyEntries) | Invoke-Expression
|
|
||||||
}
|
|
@ -1,137 +0,0 @@
|
|||||||
# generated from colcon_core/shell/template/prefix.sh.em
|
|
||||||
|
|
||||||
# This script extends the environment with all packages contained in this
|
|
||||||
# prefix path.
|
|
||||||
|
|
||||||
# since a plain shell script can't determine its own path when being sourced
|
|
||||||
# either use the provided COLCON_CURRENT_PREFIX
|
|
||||||
# or fall back to the build time prefix (if it exists)
|
|
||||||
_colcon_prefix_sh_COLCON_CURRENT_PREFIX="/home/cpsfeith/PycharmProjects/ActiveBOROS/src/install"
|
|
||||||
if [ -z "$COLCON_CURRENT_PREFIX" ]; then
|
|
||||||
if [ ! -d "$_colcon_prefix_sh_COLCON_CURRENT_PREFIX" ]; then
|
|
||||||
echo "The build time path \"$_colcon_prefix_sh_COLCON_CURRENT_PREFIX\" doesn't exist. Either source a script for a different shell or set the environment variable \"COLCON_CURRENT_PREFIX\" explicitly." 1>&2
|
|
||||||
unset _colcon_prefix_sh_COLCON_CURRENT_PREFIX
|
|
||||||
return 1
|
|
||||||
fi
|
|
||||||
else
|
|
||||||
_colcon_prefix_sh_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_sh_prepend_unique_value() {
|
|
||||||
# arguments
|
|
||||||
_listname="$1"
|
|
||||||
_value="$2"
|
|
||||||
|
|
||||||
# get values from variable
|
|
||||||
eval _values=\"\$$_listname\"
|
|
||||||
# backup the field separator
|
|
||||||
_colcon_prefix_sh_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_sh_prepend_unique_value_IFS"
|
|
||||||
unset _colcon_prefix_sh_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_sh_prepend_unique_value COLCON_PREFIX_PATH "$_colcon_prefix_sh_COLCON_CURRENT_PREFIX"
|
|
||||||
unset _colcon_prefix_sh_prepend_unique_value
|
|
||||||
|
|
||||||
# check environment variable for custom Python executable
|
|
||||||
if [ -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)"`
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
# 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_sh_COLCON_CURRENT_PREFIX/_local_setup_util_sh.py" sh)"
|
|
||||||
unset _colcon_python_executable
|
|
||||||
if [ -n "$COLCON_TRACE" ]; then
|
|
||||||
echo "_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
|
|
||||||
}"
|
|
||||||
echo "# Execute generated script:"
|
|
||||||
echo "# <<<"
|
|
||||||
echo "${_colcon_ordered_commands}"
|
|
||||||
echo "# >>>"
|
|
||||||
echo "unset _colcon_prefix_sh_source_script"
|
|
||||||
fi
|
|
||||||
eval "${_colcon_ordered_commands}"
|
|
||||||
unset _colcon_ordered_commands
|
|
||||||
|
|
||||||
unset _colcon_prefix_sh_source_script
|
|
||||||
|
|
||||||
unset _colcon_prefix_sh_COLCON_CURRENT_PREFIX
|
|
@ -1,120 +0,0 @@
|
|||||||
# generated from colcon_zsh/shell/template/prefix.zsh.em
|
|
||||||
|
|
||||||
# This script extends the environment with all packages contained in this
|
|
||||||
# prefix path.
|
|
||||||
|
|
||||||
# a zsh script is able to determine its own path if necessary
|
|
||||||
if [ -z "$COLCON_CURRENT_PREFIX" ]; then
|
|
||||||
_colcon_prefix_zsh_COLCON_CURRENT_PREFIX="$(builtin cd -q "`dirname "${(%):-%N}"`" > /dev/null && pwd)"
|
|
||||||
else
|
|
||||||
_colcon_prefix_zsh_COLCON_CURRENT_PREFIX="$COLCON_CURRENT_PREFIX"
|
|
||||||
fi
|
|
||||||
|
|
||||||
# function to convert array-like strings into arrays
|
|
||||||
# to workaround SH_WORD_SPLIT not being set
|
|
||||||
_colcon_prefix_zsh_convert_to_array() {
|
|
||||||
local _listname=$1
|
|
||||||
local _dollar="$"
|
|
||||||
local _split="{="
|
|
||||||
local _to_array="(\"$_dollar$_split$_listname}\")"
|
|
||||||
eval $_listname=$_to_array
|
|
||||||
}
|
|
||||||
|
|
||||||
# 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_zsh_prepend_unique_value() {
|
|
||||||
# arguments
|
|
||||||
_listname="$1"
|
|
||||||
_value="$2"
|
|
||||||
|
|
||||||
# get values from variable
|
|
||||||
eval _values=\"\$$_listname\"
|
|
||||||
# backup the field separator
|
|
||||||
_colcon_prefix_zsh_prepend_unique_value_IFS="$IFS"
|
|
||||||
IFS=":"
|
|
||||||
# start with the new value
|
|
||||||
_all_values="$_value"
|
|
||||||
# workaround SH_WORD_SPLIT not being set
|
|
||||||
_colcon_prefix_zsh_convert_to_array _values
|
|
||||||
# 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
|
|
||||||
continue
|
|
||||||
fi
|
|
||||||
# keep non-duplicate values
|
|
||||||
_all_values="$_all_values:$_item"
|
|
||||||
done
|
|
||||||
unset _item
|
|
||||||
# restore the field separator
|
|
||||||
IFS="$_colcon_prefix_zsh_prepend_unique_value_IFS"
|
|
||||||
unset _colcon_prefix_zsh_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_zsh_prepend_unique_value COLCON_PREFIX_PATH "$_colcon_prefix_zsh_COLCON_CURRENT_PREFIX"
|
|
||||||
unset _colcon_prefix_zsh_prepend_unique_value
|
|
||||||
unset _colcon_prefix_zsh_convert_to_array
|
|
||||||
|
|
||||||
# check environment variable for custom Python executable
|
|
||||||
if [ -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)"`
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
# 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_zsh_COLCON_CURRENT_PREFIX/_local_setup_util_sh.py" sh zsh)"
|
|
||||||
unset _colcon_python_executable
|
|
||||||
if [ -n "$COLCON_TRACE" ]; then
|
|
||||||
echo "Execute generated script:"
|
|
||||||
echo "<<<"
|
|
||||||
echo "${_colcon_ordered_commands}"
|
|
||||||
echo ">>>"
|
|
||||||
fi
|
|
||||||
eval "${_colcon_ordered_commands}"
|
|
||||||
unset _colcon_ordered_commands
|
|
||||||
|
|
||||||
unset _colcon_prefix_sh_source_script
|
|
||||||
|
|
||||||
unset _colcon_prefix_zsh_COLCON_CURRENT_PREFIX
|
|
@ -1,31 +0,0 @@
|
|||||||
# generated from colcon_bash/shell/template/prefix_chain.bash.em
|
|
||||||
|
|
||||||
# This script extends the environment with the environment of other prefix
|
|
||||||
# paths which were sourced when this file was generated as well as all packages
|
|
||||||
# contained in this prefix path.
|
|
||||||
|
|
||||||
# function to source another script with conditional trace output
|
|
||||||
# first argument: the path of the script
|
|
||||||
_colcon_prefix_chain_bash_source_script() {
|
|
||||||
if [ -f "$1" ]; then
|
|
||||||
if [ -n "$COLCON_TRACE" ]; then
|
|
||||||
echo ". \"$1\""
|
|
||||||
fi
|
|
||||||
. "$1"
|
|
||||||
else
|
|
||||||
echo "not found: \"$1\"" 1>&2
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
# source chained prefixes
|
|
||||||
# setting COLCON_CURRENT_PREFIX avoids determining the prefix in the sourced script
|
|
||||||
COLCON_CURRENT_PREFIX="/opt/ros/foxy"
|
|
||||||
_colcon_prefix_chain_bash_source_script "$COLCON_CURRENT_PREFIX/local_setup.bash"
|
|
||||||
|
|
||||||
# source this prefix
|
|
||||||
# setting COLCON_CURRENT_PREFIX avoids determining the prefix in the sourced script
|
|
||||||
COLCON_CURRENT_PREFIX="$(builtin cd "`dirname "${BASH_SOURCE[0]}"`" > /dev/null && pwd)"
|
|
||||||
_colcon_prefix_chain_bash_source_script "$COLCON_CURRENT_PREFIX/local_setup.bash"
|
|
||||||
|
|
||||||
unset COLCON_CURRENT_PREFIX
|
|
||||||
unset _colcon_prefix_chain_bash_source_script
|
|
@ -1,29 +0,0 @@
|
|||||||
# generated from colcon_powershell/shell/template/prefix_chain.ps1.em
|
|
||||||
|
|
||||||
# This script extends the environment with the environment of other prefix
|
|
||||||
# paths which were sourced when this file was generated as well as all packages
|
|
||||||
# contained in this prefix path.
|
|
||||||
|
|
||||||
# function to source another script with conditional trace output
|
|
||||||
# first argument: the path of the script
|
|
||||||
function _colcon_prefix_chain_powershell_source_script {
|
|
||||||
param (
|
|
||||||
$_colcon_prefix_chain_powershell_source_script_param
|
|
||||||
)
|
|
||||||
# source script with conditional trace output
|
|
||||||
if (Test-Path $_colcon_prefix_chain_powershell_source_script_param) {
|
|
||||||
if ($env:COLCON_TRACE) {
|
|
||||||
echo ". '$_colcon_prefix_chain_powershell_source_script_param'"
|
|
||||||
}
|
|
||||||
. "$_colcon_prefix_chain_powershell_source_script_param"
|
|
||||||
} else {
|
|
||||||
Write-Error "not found: '$_colcon_prefix_chain_powershell_source_script_param'"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
# source chained prefixes
|
|
||||||
_colcon_prefix_chain_powershell_source_script "/opt/ros/foxy\local_setup.ps1"
|
|
||||||
|
|
||||||
# source this prefix
|
|
||||||
$env:COLCON_CURRENT_PREFIX=(Split-Path $PSCommandPath -Parent)
|
|
||||||
_colcon_prefix_chain_powershell_source_script "$env:COLCON_CURRENT_PREFIX\local_setup.ps1"
|
|
@ -1,45 +0,0 @@
|
|||||||
# generated from colcon_core/shell/template/prefix_chain.sh.em
|
|
||||||
|
|
||||||
# This script extends the environment with the environment of other prefix
|
|
||||||
# paths which were sourced when this file was generated as well as all packages
|
|
||||||
# contained in this prefix path.
|
|
||||||
|
|
||||||
# since a plain shell script can't determine its own path when being sourced
|
|
||||||
# either use the provided COLCON_CURRENT_PREFIX
|
|
||||||
# or fall back to the build time prefix (if it exists)
|
|
||||||
_colcon_prefix_chain_sh_COLCON_CURRENT_PREFIX=/home/cpsfeith/PycharmProjects/ActiveBOROS/src/install
|
|
||||||
if [ ! -z "$COLCON_CURRENT_PREFIX" ]; then
|
|
||||||
_colcon_prefix_chain_sh_COLCON_CURRENT_PREFIX="$COLCON_CURRENT_PREFIX"
|
|
||||||
elif [ ! -d "$_colcon_prefix_chain_sh_COLCON_CURRENT_PREFIX" ]; then
|
|
||||||
echo "The build time path \"$_colcon_prefix_chain_sh_COLCON_CURRENT_PREFIX\" doesn't exist. Either source a script for a different shell or set the environment variable \"COLCON_CURRENT_PREFIX\" explicitly." 1>&2
|
|
||||||
unset _colcon_prefix_chain_sh_COLCON_CURRENT_PREFIX
|
|
||||||
return 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
# function to source another script with conditional trace output
|
|
||||||
# first argument: the path of the script
|
|
||||||
_colcon_prefix_chain_sh_source_script() {
|
|
||||||
if [ -f "$1" ]; then
|
|
||||||
if [ -n "$COLCON_TRACE" ]; then
|
|
||||||
echo "# . \"$1\""
|
|
||||||
fi
|
|
||||||
. "$1"
|
|
||||||
else
|
|
||||||
echo "not found: \"$1\"" 1>&2
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
# source chained prefixes
|
|
||||||
# setting COLCON_CURRENT_PREFIX avoids relying on the build time prefix of the sourced script
|
|
||||||
COLCON_CURRENT_PREFIX="/opt/ros/foxy"
|
|
||||||
_colcon_prefix_chain_sh_source_script "$COLCON_CURRENT_PREFIX/local_setup.sh"
|
|
||||||
|
|
||||||
|
|
||||||
# source this prefix
|
|
||||||
# setting COLCON_CURRENT_PREFIX avoids relying on the build time prefix of the sourced script
|
|
||||||
COLCON_CURRENT_PREFIX="$_colcon_prefix_chain_sh_COLCON_CURRENT_PREFIX"
|
|
||||||
_colcon_prefix_chain_sh_source_script "$COLCON_CURRENT_PREFIX/local_setup.sh"
|
|
||||||
|
|
||||||
unset _colcon_prefix_chain_sh_COLCON_CURRENT_PREFIX
|
|
||||||
unset _colcon_prefix_chain_sh_source_script
|
|
||||||
unset COLCON_CURRENT_PREFIX
|
|
@ -1,31 +0,0 @@
|
|||||||
# generated from colcon_zsh/shell/template/prefix_chain.zsh.em
|
|
||||||
|
|
||||||
# This script extends the environment with the environment of other prefix
|
|
||||||
# paths which were sourced when this file was generated as well as all packages
|
|
||||||
# contained in this prefix path.
|
|
||||||
|
|
||||||
# function to source another script with conditional trace output
|
|
||||||
# first argument: the path of the script
|
|
||||||
_colcon_prefix_chain_zsh_source_script() {
|
|
||||||
if [ -f "$1" ]; then
|
|
||||||
if [ -n "$COLCON_TRACE" ]; then
|
|
||||||
echo ". \"$1\""
|
|
||||||
fi
|
|
||||||
. "$1"
|
|
||||||
else
|
|
||||||
echo "not found: \"$1\"" 1>&2
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
# source chained prefixes
|
|
||||||
# setting COLCON_CURRENT_PREFIX avoids determining the prefix in the sourced script
|
|
||||||
COLCON_CURRENT_PREFIX="/opt/ros/foxy"
|
|
||||||
_colcon_prefix_chain_zsh_source_script "$COLCON_CURRENT_PREFIX/local_setup.zsh"
|
|
||||||
|
|
||||||
# source this prefix
|
|
||||||
# setting COLCON_CURRENT_PREFIX avoids determining the prefix in the sourced script
|
|
||||||
COLCON_CURRENT_PREFIX="$(builtin cd -q "`dirname "${(%):-%N}"`" > /dev/null && pwd)"
|
|
||||||
_colcon_prefix_chain_zsh_source_script "$COLCON_CURRENT_PREFIX/local_setup.zsh"
|
|
||||||
|
|
||||||
unset COLCON_CURRENT_PREFIX
|
|
||||||
unset _colcon_prefix_chain_zsh_source_script
|
|
@ -1,2 +0,0 @@
|
|||||||
Invoking command in '/home/cpsfeith/PycharmProjects/ActiveBOROS/src/active_bo_ros': PYTHONPATH=/home/cpsfeith/PycharmProjects/ActiveBOROS/src/build/active_bo_ros/prefix_override:/home/cpsfeith/PycharmProjects/ActiveBOROS/src/install/active_bo_ros/lib/python3.8/site-packages:${PYTHONPATH} /usr/bin/python3 setup.py egg_info --egg-base ../build/active_bo_ros build --build-base /home/cpsfeith/PycharmProjects/ActiveBOROS/src/build/active_bo_ros/build install --record /home/cpsfeith/PycharmProjects/ActiveBOROS/src/build/active_bo_ros/install.log --install-scripts $base/lib/active_bo_ros --single-version-externally-managed
|
|
||||||
Invoked command in '/home/cpsfeith/PycharmProjects/ActiveBOROS/src/active_bo_ros' returned '0': PYTHONPATH=/home/cpsfeith/PycharmProjects/ActiveBOROS/src/build/active_bo_ros/prefix_override:/home/cpsfeith/PycharmProjects/ActiveBOROS/src/install/active_bo_ros/lib/python3.8/site-packages:${PYTHONPATH} /usr/bin/python3 setup.py egg_info --egg-base ../build/active_bo_ros build --build-base /home/cpsfeith/PycharmProjects/ActiveBOROS/src/build/active_bo_ros/build install --record /home/cpsfeith/PycharmProjects/ActiveBOROS/src/build/active_bo_ros/install.log --install-scripts $base/lib/active_bo_ros --single-version-externally-managed
|
|
@ -1,31 +0,0 @@
|
|||||||
running egg_info
|
|
||||||
creating ../build/active_bo_ros/active_bo_ros.egg-info
|
|
||||||
writing ../build/active_bo_ros/active_bo_ros.egg-info/PKG-INFO
|
|
||||||
writing dependency_links to ../build/active_bo_ros/active_bo_ros.egg-info/dependency_links.txt
|
|
||||||
writing entry points to ../build/active_bo_ros/active_bo_ros.egg-info/entry_points.txt
|
|
||||||
writing requirements to ../build/active_bo_ros/active_bo_ros.egg-info/requires.txt
|
|
||||||
writing top-level names to ../build/active_bo_ros/active_bo_ros.egg-info/top_level.txt
|
|
||||||
writing manifest file '../build/active_bo_ros/active_bo_ros.egg-info/SOURCES.txt'
|
|
||||||
reading manifest file '../build/active_bo_ros/active_bo_ros.egg-info/SOURCES.txt'
|
|
||||||
writing manifest file '../build/active_bo_ros/active_bo_ros.egg-info/SOURCES.txt'
|
|
||||||
running build
|
|
||||||
running build_py
|
|
||||||
creating /home/cpsfeith/PycharmProjects/ActiveBOROS/src/build/active_bo_ros/build
|
|
||||||
creating /home/cpsfeith/PycharmProjects/ActiveBOROS/src/build/active_bo_ros/build/lib
|
|
||||||
creating /home/cpsfeith/PycharmProjects/ActiveBOROS/src/build/active_bo_ros/build/lib/active_bo_ros
|
|
||||||
copying active_bo_ros/__init__.py -> /home/cpsfeith/PycharmProjects/ActiveBOROS/src/build/active_bo_ros/build/lib/active_bo_ros
|
|
||||||
running install
|
|
||||||
running install_lib
|
|
||||||
creating /home/cpsfeith/PycharmProjects/ActiveBOROS/src/install/active_bo_ros/lib/python3.8/site-packages/active_bo_ros
|
|
||||||
copying /home/cpsfeith/PycharmProjects/ActiveBOROS/src/build/active_bo_ros/build/lib/active_bo_ros/__init__.py -> /home/cpsfeith/PycharmProjects/ActiveBOROS/src/install/active_bo_ros/lib/python3.8/site-packages/active_bo_ros
|
|
||||||
byte-compiling /home/cpsfeith/PycharmProjects/ActiveBOROS/src/install/active_bo_ros/lib/python3.8/site-packages/active_bo_ros/__init__.py to __init__.cpython-38.pyc
|
|
||||||
running install_data
|
|
||||||
creating /home/cpsfeith/PycharmProjects/ActiveBOROS/src/install/active_bo_ros/share/ament_index
|
|
||||||
creating /home/cpsfeith/PycharmProjects/ActiveBOROS/src/install/active_bo_ros/share/ament_index/resource_index
|
|
||||||
creating /home/cpsfeith/PycharmProjects/ActiveBOROS/src/install/active_bo_ros/share/ament_index/resource_index/packages
|
|
||||||
copying resource/active_bo_ros -> /home/cpsfeith/PycharmProjects/ActiveBOROS/src/install/active_bo_ros/share/ament_index/resource_index/packages
|
|
||||||
copying package.xml -> /home/cpsfeith/PycharmProjects/ActiveBOROS/src/install/active_bo_ros/share/active_bo_ros
|
|
||||||
running install_egg_info
|
|
||||||
Copying ../build/active_bo_ros/active_bo_ros.egg-info to /home/cpsfeith/PycharmProjects/ActiveBOROS/src/install/active_bo_ros/lib/python3.8/site-packages/active_bo_ros-0.0.0-py3.8.egg-info
|
|
||||||
running install_scripts
|
|
||||||
writing list of installed files to '/home/cpsfeith/PycharmProjects/ActiveBOROS/src/build/active_bo_ros/install.log'
|
|
@ -1,31 +0,0 @@
|
|||||||
running egg_info
|
|
||||||
creating ../build/active_bo_ros/active_bo_ros.egg-info
|
|
||||||
writing ../build/active_bo_ros/active_bo_ros.egg-info/PKG-INFO
|
|
||||||
writing dependency_links to ../build/active_bo_ros/active_bo_ros.egg-info/dependency_links.txt
|
|
||||||
writing entry points to ../build/active_bo_ros/active_bo_ros.egg-info/entry_points.txt
|
|
||||||
writing requirements to ../build/active_bo_ros/active_bo_ros.egg-info/requires.txt
|
|
||||||
writing top-level names to ../build/active_bo_ros/active_bo_ros.egg-info/top_level.txt
|
|
||||||
writing manifest file '../build/active_bo_ros/active_bo_ros.egg-info/SOURCES.txt'
|
|
||||||
reading manifest file '../build/active_bo_ros/active_bo_ros.egg-info/SOURCES.txt'
|
|
||||||
writing manifest file '../build/active_bo_ros/active_bo_ros.egg-info/SOURCES.txt'
|
|
||||||
running build
|
|
||||||
running build_py
|
|
||||||
creating /home/cpsfeith/PycharmProjects/ActiveBOROS/src/build/active_bo_ros/build
|
|
||||||
creating /home/cpsfeith/PycharmProjects/ActiveBOROS/src/build/active_bo_ros/build/lib
|
|
||||||
creating /home/cpsfeith/PycharmProjects/ActiveBOROS/src/build/active_bo_ros/build/lib/active_bo_ros
|
|
||||||
copying active_bo_ros/__init__.py -> /home/cpsfeith/PycharmProjects/ActiveBOROS/src/build/active_bo_ros/build/lib/active_bo_ros
|
|
||||||
running install
|
|
||||||
running install_lib
|
|
||||||
creating /home/cpsfeith/PycharmProjects/ActiveBOROS/src/install/active_bo_ros/lib/python3.8/site-packages/active_bo_ros
|
|
||||||
copying /home/cpsfeith/PycharmProjects/ActiveBOROS/src/build/active_bo_ros/build/lib/active_bo_ros/__init__.py -> /home/cpsfeith/PycharmProjects/ActiveBOROS/src/install/active_bo_ros/lib/python3.8/site-packages/active_bo_ros
|
|
||||||
byte-compiling /home/cpsfeith/PycharmProjects/ActiveBOROS/src/install/active_bo_ros/lib/python3.8/site-packages/active_bo_ros/__init__.py to __init__.cpython-38.pyc
|
|
||||||
running install_data
|
|
||||||
creating /home/cpsfeith/PycharmProjects/ActiveBOROS/src/install/active_bo_ros/share/ament_index
|
|
||||||
creating /home/cpsfeith/PycharmProjects/ActiveBOROS/src/install/active_bo_ros/share/ament_index/resource_index
|
|
||||||
creating /home/cpsfeith/PycharmProjects/ActiveBOROS/src/install/active_bo_ros/share/ament_index/resource_index/packages
|
|
||||||
copying resource/active_bo_ros -> /home/cpsfeith/PycharmProjects/ActiveBOROS/src/install/active_bo_ros/share/ament_index/resource_index/packages
|
|
||||||
copying package.xml -> /home/cpsfeith/PycharmProjects/ActiveBOROS/src/install/active_bo_ros/share/active_bo_ros
|
|
||||||
running install_egg_info
|
|
||||||
Copying ../build/active_bo_ros/active_bo_ros.egg-info to /home/cpsfeith/PycharmProjects/ActiveBOROS/src/install/active_bo_ros/lib/python3.8/site-packages/active_bo_ros-0.0.0-py3.8.egg-info
|
|
||||||
running install_scripts
|
|
||||||
writing list of installed files to '/home/cpsfeith/PycharmProjects/ActiveBOROS/src/build/active_bo_ros/install.log'
|
|
@ -1,33 +0,0 @@
|
|||||||
[0.499s] Invoking command in '/home/cpsfeith/PycharmProjects/ActiveBOROS/src/active_bo_ros': PYTHONPATH=/home/cpsfeith/PycharmProjects/ActiveBOROS/src/build/active_bo_ros/prefix_override:/home/cpsfeith/PycharmProjects/ActiveBOROS/src/install/active_bo_ros/lib/python3.8/site-packages:${PYTHONPATH} /usr/bin/python3 setup.py egg_info --egg-base ../build/active_bo_ros build --build-base /home/cpsfeith/PycharmProjects/ActiveBOROS/src/build/active_bo_ros/build install --record /home/cpsfeith/PycharmProjects/ActiveBOROS/src/build/active_bo_ros/install.log --install-scripts $base/lib/active_bo_ros --single-version-externally-managed
|
|
||||||
[0.652s] running egg_info
|
|
||||||
[0.652s] creating ../build/active_bo_ros/active_bo_ros.egg-info
|
|
||||||
[0.652s] writing ../build/active_bo_ros/active_bo_ros.egg-info/PKG-INFO
|
|
||||||
[0.653s] writing dependency_links to ../build/active_bo_ros/active_bo_ros.egg-info/dependency_links.txt
|
|
||||||
[0.653s] writing entry points to ../build/active_bo_ros/active_bo_ros.egg-info/entry_points.txt
|
|
||||||
[0.653s] writing requirements to ../build/active_bo_ros/active_bo_ros.egg-info/requires.txt
|
|
||||||
[0.653s] writing top-level names to ../build/active_bo_ros/active_bo_ros.egg-info/top_level.txt
|
|
||||||
[0.658s] writing manifest file '../build/active_bo_ros/active_bo_ros.egg-info/SOURCES.txt'
|
|
||||||
[0.679s] reading manifest file '../build/active_bo_ros/active_bo_ros.egg-info/SOURCES.txt'
|
|
||||||
[0.679s] writing manifest file '../build/active_bo_ros/active_bo_ros.egg-info/SOURCES.txt'
|
|
||||||
[0.680s] running build
|
|
||||||
[0.680s] running build_py
|
|
||||||
[0.680s] creating /home/cpsfeith/PycharmProjects/ActiveBOROS/src/build/active_bo_ros/build
|
|
||||||
[0.680s] creating /home/cpsfeith/PycharmProjects/ActiveBOROS/src/build/active_bo_ros/build/lib
|
|
||||||
[0.680s] creating /home/cpsfeith/PycharmProjects/ActiveBOROS/src/build/active_bo_ros/build/lib/active_bo_ros
|
|
||||||
[0.680s] copying active_bo_ros/__init__.py -> /home/cpsfeith/PycharmProjects/ActiveBOROS/src/build/active_bo_ros/build/lib/active_bo_ros
|
|
||||||
[0.680s] running install
|
|
||||||
[0.680s] running install_lib
|
|
||||||
[0.681s] creating /home/cpsfeith/PycharmProjects/ActiveBOROS/src/install/active_bo_ros/lib/python3.8/site-packages/active_bo_ros
|
|
||||||
[0.681s] copying /home/cpsfeith/PycharmProjects/ActiveBOROS/src/build/active_bo_ros/build/lib/active_bo_ros/__init__.py -> /home/cpsfeith/PycharmProjects/ActiveBOROS/src/install/active_bo_ros/lib/python3.8/site-packages/active_bo_ros
|
|
||||||
[0.681s] byte-compiling /home/cpsfeith/PycharmProjects/ActiveBOROS/src/install/active_bo_ros/lib/python3.8/site-packages/active_bo_ros/__init__.py to __init__.cpython-38.pyc
|
|
||||||
[0.682s] running install_data
|
|
||||||
[0.682s] creating /home/cpsfeith/PycharmProjects/ActiveBOROS/src/install/active_bo_ros/share/ament_index
|
|
||||||
[0.682s] creating /home/cpsfeith/PycharmProjects/ActiveBOROS/src/install/active_bo_ros/share/ament_index/resource_index
|
|
||||||
[0.682s] creating /home/cpsfeith/PycharmProjects/ActiveBOROS/src/install/active_bo_ros/share/ament_index/resource_index/packages
|
|
||||||
[0.682s] copying resource/active_bo_ros -> /home/cpsfeith/PycharmProjects/ActiveBOROS/src/install/active_bo_ros/share/ament_index/resource_index/packages
|
|
||||||
[0.682s] copying package.xml -> /home/cpsfeith/PycharmProjects/ActiveBOROS/src/install/active_bo_ros/share/active_bo_ros
|
|
||||||
[0.682s] running install_egg_info
|
|
||||||
[0.683s] Copying ../build/active_bo_ros/active_bo_ros.egg-info to /home/cpsfeith/PycharmProjects/ActiveBOROS/src/install/active_bo_ros/lib/python3.8/site-packages/active_bo_ros-0.0.0-py3.8.egg-info
|
|
||||||
[0.684s] running install_scripts
|
|
||||||
[0.695s] writing list of installed files to '/home/cpsfeith/PycharmProjects/ActiveBOROS/src/build/active_bo_ros/install.log'
|
|
||||||
[0.707s] Invoked command in '/home/cpsfeith/PycharmProjects/ActiveBOROS/src/active_bo_ros' returned '0': PYTHONPATH=/home/cpsfeith/PycharmProjects/ActiveBOROS/src/build/active_bo_ros/prefix_override:/home/cpsfeith/PycharmProjects/ActiveBOROS/src/install/active_bo_ros/lib/python3.8/site-packages:${PYTHONPATH} /usr/bin/python3 setup.py egg_info --egg-base ../build/active_bo_ros build --build-base /home/cpsfeith/PycharmProjects/ActiveBOROS/src/build/active_bo_ros/build install --record /home/cpsfeith/PycharmProjects/ActiveBOROS/src/build/active_bo_ros/install.log --install-scripts $base/lib/active_bo_ros --single-version-externally-managed
|
|
File diff suppressed because one or more lines are too long
@ -1,112 +0,0 @@
|
|||||||
[0.273s] DEBUG:colcon:Command line arguments: ['/usr/bin/colcon', 'build']
|
|
||||||
[0.273s] DEBUG:colcon:Parsed command line arguments: Namespace(allow_overriding=[], ament_cmake_args=None, base_paths=['.'], build_base='build', catkin_cmake_args=None, catkin_skip_building_tests=False, cmake_args=None, cmake_clean_cache=False, cmake_clean_first=False, cmake_force_configure=False, cmake_target=None, cmake_target_skip_unavailable=False, continue_on_error=False, event_handlers=None, executor='parallel', ignore_user_meta=False, install_base='install', log_base=None, log_level=None, main=<bound method BuildVerb.main of <colcon_core.verb.build.BuildVerb object at 0x7fa49c090910>>, merge_install=False, metas=['./colcon.meta'], packages_above=None, packages_above_and_dependencies=None, packages_above_depth=None, packages_end=None, packages_ignore=None, packages_ignore_regex=None, packages_select=None, packages_select_build_failed=False, packages_select_by_dep=None, packages_select_regex=None, packages_select_test_failures=False, packages_skip=None, packages_skip_build_finished=False, packages_skip_by_dep=None, packages_skip_regex=None, packages_skip_test_passed=False, packages_skip_up_to=None, packages_start=None, packages_up_to=None, packages_up_to_regex=None, parallel_workers=20, paths=None, symlink_install=False, test_result_base=None, verb_extension=<colcon_core.verb.build.BuildVerb object at 0x7fa49c090910>, verb_name='build', verb_parser=<colcon_defaults.argument_parser.defaults.DefaultArgumentsDecorator object at 0x7fa49c090e80>)
|
|
||||||
[0.303s] Level 1:colcon.colcon_core.package_discovery:discover_packages(colcon_meta) check parameters
|
|
||||||
[0.303s] Level 1:colcon.colcon_core.package_discovery:discover_packages(recursive) check parameters
|
|
||||||
[0.303s] Level 1:colcon.colcon_core.package_discovery:discover_packages(ignore) check parameters
|
|
||||||
[0.303s] Level 1:colcon.colcon_core.package_discovery:discover_packages(path) check parameters
|
|
||||||
[0.303s] Level 1:colcon.colcon_core.package_discovery:discover_packages(colcon_meta) discover
|
|
||||||
[0.303s] Level 1:colcon.colcon_core.package_discovery:discover_packages(recursive) discover
|
|
||||||
[0.303s] INFO:colcon.colcon_core.package_discovery:Crawling recursively for packages in '/home/cpsfeith/PycharmProjects/ActiveBOROS/src'
|
|
||||||
[0.303s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extensions ['ignore', 'ignore_ament_install']
|
|
||||||
[0.303s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extension 'ignore'
|
|
||||||
[0.303s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extension 'ignore_ament_install'
|
|
||||||
[0.303s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extensions ['colcon_pkg']
|
|
||||||
[0.303s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extension 'colcon_pkg'
|
|
||||||
[0.303s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extensions ['colcon_meta']
|
|
||||||
[0.303s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extension 'colcon_meta'
|
|
||||||
[0.303s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extensions ['ros']
|
|
||||||
[0.303s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extension 'ros'
|
|
||||||
[0.315s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extensions ['cmake', 'python']
|
|
||||||
[0.315s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extension 'cmake'
|
|
||||||
[0.315s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extension 'python'
|
|
||||||
[0.315s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extensions ['python_setup_py']
|
|
||||||
[0.315s] Level 1:colcon.colcon_core.package_identification:_identify(.) by extension 'python_setup_py'
|
|
||||||
[0.315s] Level 1:colcon.colcon_core.package_identification:_identify(active_bo_ros) by extensions ['ignore', 'ignore_ament_install']
|
|
||||||
[0.315s] Level 1:colcon.colcon_core.package_identification:_identify(active_bo_ros) by extension 'ignore'
|
|
||||||
[0.315s] Level 1:colcon.colcon_core.package_identification:_identify(active_bo_ros) by extension 'ignore_ament_install'
|
|
||||||
[0.316s] Level 1:colcon.colcon_core.package_identification:_identify(active_bo_ros) by extensions ['colcon_pkg']
|
|
||||||
[0.316s] Level 1:colcon.colcon_core.package_identification:_identify(active_bo_ros) by extension 'colcon_pkg'
|
|
||||||
[0.316s] Level 1:colcon.colcon_core.package_identification:_identify(active_bo_ros) by extensions ['colcon_meta']
|
|
||||||
[0.316s] Level 1:colcon.colcon_core.package_identification:_identify(active_bo_ros) by extension 'colcon_meta'
|
|
||||||
[0.316s] Level 1:colcon.colcon_core.package_identification:_identify(active_bo_ros) by extensions ['ros']
|
|
||||||
[0.316s] Level 1:colcon.colcon_core.package_identification:_identify(active_bo_ros) by extension 'ros'
|
|
||||||
[0.318s] DEBUG:colcon.colcon_core.package_identification:Package 'active_bo_ros' with type 'ros.ament_python' and name 'active_bo_ros'
|
|
||||||
[0.318s] Level 1:colcon.colcon_core.package_identification:_identify(build) by extensions ['ignore', 'ignore_ament_install']
|
|
||||||
[0.318s] Level 1:colcon.colcon_core.package_identification:_identify(build) by extension 'ignore'
|
|
||||||
[0.318s] Level 1:colcon.colcon_core.package_identification:_identify(build) ignored
|
|
||||||
[0.318s] Level 1:colcon.colcon_core.package_identification:_identify(install) by extensions ['ignore', 'ignore_ament_install']
|
|
||||||
[0.318s] Level 1:colcon.colcon_core.package_identification:_identify(install) by extension 'ignore'
|
|
||||||
[0.318s] Level 1:colcon.colcon_core.package_identification:_identify(install) ignored
|
|
||||||
[0.318s] Level 1:colcon.colcon_core.package_identification:_identify(log) by extensions ['ignore', 'ignore_ament_install']
|
|
||||||
[0.318s] Level 1:colcon.colcon_core.package_identification:_identify(log) by extension 'ignore'
|
|
||||||
[0.318s] Level 1:colcon.colcon_core.package_identification:_identify(log) ignored
|
|
||||||
[0.318s] Level 1:colcon.colcon_core.package_discovery:discover_packages(recursive) using defaults
|
|
||||||
[0.318s] Level 1:colcon.colcon_core.package_discovery:discover_packages(ignore) discover
|
|
||||||
[0.318s] Level 1:colcon.colcon_core.package_discovery:discover_packages(ignore) using defaults
|
|
||||||
[0.319s] Level 1:colcon.colcon_core.package_discovery:discover_packages(path) discover
|
|
||||||
[0.319s] Level 1:colcon.colcon_core.package_discovery:discover_packages(path) using defaults
|
|
||||||
[0.335s] Level 1:colcon.colcon_core.package_discovery:discover_packages(prefix_path) check parameters
|
|
||||||
[0.335s] Level 1:colcon.colcon_core.package_discovery:discover_packages(prefix_path) discover
|
|
||||||
[0.339s] DEBUG:colcon.colcon_installed_package_information.package_discovery:Found 297 installed packages in /opt/ros/foxy
|
|
||||||
[0.340s] Level 1:colcon.colcon_core.package_discovery:discover_packages(prefix_path) using defaults
|
|
||||||
[0.399s] Level 5:colcon.colcon_core.verb:set package 'active_bo_ros' build argument 'cmake_args' from command line to 'None'
|
|
||||||
[0.399s] Level 5:colcon.colcon_core.verb:set package 'active_bo_ros' build argument 'cmake_target' from command line to 'None'
|
|
||||||
[0.399s] Level 5:colcon.colcon_core.verb:set package 'active_bo_ros' build argument 'cmake_target_skip_unavailable' from command line to 'False'
|
|
||||||
[0.399s] Level 5:colcon.colcon_core.verb:set package 'active_bo_ros' build argument 'cmake_clean_cache' from command line to 'False'
|
|
||||||
[0.399s] Level 5:colcon.colcon_core.verb:set package 'active_bo_ros' build argument 'cmake_clean_first' from command line to 'False'
|
|
||||||
[0.399s] Level 5:colcon.colcon_core.verb:set package 'active_bo_ros' build argument 'cmake_force_configure' from command line to 'False'
|
|
||||||
[0.399s] Level 5:colcon.colcon_core.verb:set package 'active_bo_ros' build argument 'ament_cmake_args' from command line to 'None'
|
|
||||||
[0.399s] Level 5:colcon.colcon_core.verb:set package 'active_bo_ros' build argument 'catkin_cmake_args' from command line to 'None'
|
|
||||||
[0.399s] Level 5:colcon.colcon_core.verb:set package 'active_bo_ros' build argument 'catkin_skip_building_tests' from command line to 'False'
|
|
||||||
[0.399s] DEBUG:colcon.colcon_core.verb:Building package 'active_bo_ros' with the following arguments: {'ament_cmake_args': None, 'build_base': '/home/cpsfeith/PycharmProjects/ActiveBOROS/src/build/active_bo_ros', 'catkin_cmake_args': None, 'catkin_skip_building_tests': False, 'cmake_args': None, 'cmake_clean_cache': False, 'cmake_clean_first': False, 'cmake_force_configure': False, 'cmake_target': None, 'cmake_target_skip_unavailable': False, 'install_base': '/home/cpsfeith/PycharmProjects/ActiveBOROS/src/install/active_bo_ros', 'merge_install': False, 'path': '/home/cpsfeith/PycharmProjects/ActiveBOROS/src/active_bo_ros', 'symlink_install': False, 'test_result_base': None}
|
|
||||||
[0.400s] INFO:colcon.colcon_core.executor:Executing jobs using 'parallel' executor
|
|
||||||
[0.402s] DEBUG:colcon.colcon_parallel_executor.executor.parallel:run_until_complete
|
|
||||||
[0.402s] INFO:colcon.colcon_ros.task.ament_python.build:Building ROS package in '/home/cpsfeith/PycharmProjects/ActiveBOROS/src/active_bo_ros' with build type 'ament_python'
|
|
||||||
[0.402s] Level 1:colcon.colcon_core.shell:create_environment_hook('active_bo_ros', 'ament_prefix_path')
|
|
||||||
[0.408s] INFO:colcon.colcon_core.plugin_system:Skipping extension 'colcon_core.shell.bat': Not used on non-Windows systems
|
|
||||||
[0.408s] INFO:colcon.colcon_core.shell:Creating environment hook '/home/cpsfeith/PycharmProjects/ActiveBOROS/src/install/active_bo_ros/share/active_bo_ros/hook/ament_prefix_path.ps1'
|
|
||||||
[0.409s] INFO:colcon.colcon_core.shell:Creating environment descriptor '/home/cpsfeith/PycharmProjects/ActiveBOROS/src/install/active_bo_ros/share/active_bo_ros/hook/ament_prefix_path.dsv'
|
|
||||||
[0.409s] INFO:colcon.colcon_core.shell:Creating environment hook '/home/cpsfeith/PycharmProjects/ActiveBOROS/src/install/active_bo_ros/share/active_bo_ros/hook/ament_prefix_path.sh'
|
|
||||||
[0.411s] INFO:colcon.colcon_core.shell:Skip shell extension 'powershell' for command environment: Not usable outside of PowerShell
|
|
||||||
[0.411s] DEBUG:colcon.colcon_core.shell:Skip shell extension 'dsv' for command environment
|
|
||||||
[0.578s] INFO:colcon.colcon_core.task.python.build:Building Python package in '/home/cpsfeith/PycharmProjects/ActiveBOROS/src/active_bo_ros'
|
|
||||||
[0.579s] INFO:colcon.colcon_core.shell:Skip shell extension 'powershell' for command environment: Not usable outside of PowerShell
|
|
||||||
[0.580s] DEBUG:colcon.colcon_core.shell:Skip shell extension 'dsv' for command environment
|
|
||||||
[0.902s] DEBUG:colcon.colcon_core.event_handler.log_command:Invoking command in '/home/cpsfeith/PycharmProjects/ActiveBOROS/src/active_bo_ros': PYTHONPATH=/home/cpsfeith/PycharmProjects/ActiveBOROS/src/build/active_bo_ros/prefix_override:/home/cpsfeith/PycharmProjects/ActiveBOROS/src/install/active_bo_ros/lib/python3.8/site-packages:${PYTHONPATH} /usr/bin/python3 setup.py egg_info --egg-base ../build/active_bo_ros build --build-base /home/cpsfeith/PycharmProjects/ActiveBOROS/src/build/active_bo_ros/build install --record /home/cpsfeith/PycharmProjects/ActiveBOROS/src/build/active_bo_ros/install.log --install-scripts $base/lib/active_bo_ros --single-version-externally-managed
|
|
||||||
[1.109s] DEBUG:colcon.colcon_core.event_handler.log_command:Invoked command in '/home/cpsfeith/PycharmProjects/ActiveBOROS/src/active_bo_ros' returned '0': PYTHONPATH=/home/cpsfeith/PycharmProjects/ActiveBOROS/src/build/active_bo_ros/prefix_override:/home/cpsfeith/PycharmProjects/ActiveBOROS/src/install/active_bo_ros/lib/python3.8/site-packages:${PYTHONPATH} /usr/bin/python3 setup.py egg_info --egg-base ../build/active_bo_ros build --build-base /home/cpsfeith/PycharmProjects/ActiveBOROS/src/build/active_bo_ros/build install --record /home/cpsfeith/PycharmProjects/ActiveBOROS/src/build/active_bo_ros/install.log --install-scripts $base/lib/active_bo_ros --single-version-externally-managed
|
|
||||||
[1.116s] Level 1:colcon.colcon_core.environment:checking '/home/cpsfeith/PycharmProjects/ActiveBOROS/src/install/active_bo_ros' for CMake module files
|
|
||||||
[1.117s] Level 1:colcon.colcon_core.environment:checking '/home/cpsfeith/PycharmProjects/ActiveBOROS/src/install/active_bo_ros' for CMake config files
|
|
||||||
[1.117s] Level 1:colcon.colcon_core.environment:checking '/home/cpsfeith/PycharmProjects/ActiveBOROS/src/install/active_bo_ros/lib'
|
|
||||||
[1.117s] Level 1:colcon.colcon_core.environment:checking '/home/cpsfeith/PycharmProjects/ActiveBOROS/src/install/active_bo_ros/bin'
|
|
||||||
[1.117s] Level 1:colcon.colcon_core.environment:checking '/home/cpsfeith/PycharmProjects/ActiveBOROS/src/install/active_bo_ros/lib/pkgconfig/active_bo_ros.pc'
|
|
||||||
[1.117s] Level 1:colcon.colcon_core.environment:checking '/home/cpsfeith/PycharmProjects/ActiveBOROS/src/install/active_bo_ros/lib/python3.8/site-packages'
|
|
||||||
[1.118s] Level 1:colcon.colcon_core.shell:create_environment_hook('active_bo_ros', 'pythonpath')
|
|
||||||
[1.118s] INFO:colcon.colcon_core.shell:Creating environment hook '/home/cpsfeith/PycharmProjects/ActiveBOROS/src/install/active_bo_ros/share/active_bo_ros/hook/pythonpath.ps1'
|
|
||||||
[1.119s] INFO:colcon.colcon_core.shell:Creating environment descriptor '/home/cpsfeith/PycharmProjects/ActiveBOROS/src/install/active_bo_ros/share/active_bo_ros/hook/pythonpath.dsv'
|
|
||||||
[1.119s] INFO:colcon.colcon_core.shell:Creating environment hook '/home/cpsfeith/PycharmProjects/ActiveBOROS/src/install/active_bo_ros/share/active_bo_ros/hook/pythonpath.sh'
|
|
||||||
[1.119s] Level 1:colcon.colcon_core.environment:checking '/home/cpsfeith/PycharmProjects/ActiveBOROS/src/install/active_bo_ros/bin'
|
|
||||||
[1.119s] Level 1:colcon.colcon_core.environment:create_environment_scripts_only(active_bo_ros)
|
|
||||||
[1.120s] INFO:colcon.colcon_core.shell:Creating package script '/home/cpsfeith/PycharmProjects/ActiveBOROS/src/install/active_bo_ros/share/active_bo_ros/package.ps1'
|
|
||||||
[1.121s] INFO:colcon.colcon_core.shell:Creating package descriptor '/home/cpsfeith/PycharmProjects/ActiveBOROS/src/install/active_bo_ros/share/active_bo_ros/package.dsv'
|
|
||||||
[1.121s] INFO:colcon.colcon_core.shell:Creating package script '/home/cpsfeith/PycharmProjects/ActiveBOROS/src/install/active_bo_ros/share/active_bo_ros/package.sh'
|
|
||||||
[1.122s] INFO:colcon.colcon_core.shell:Creating package script '/home/cpsfeith/PycharmProjects/ActiveBOROS/src/install/active_bo_ros/share/active_bo_ros/package.bash'
|
|
||||||
[1.123s] INFO:colcon.colcon_core.shell:Creating package script '/home/cpsfeith/PycharmProjects/ActiveBOROS/src/install/active_bo_ros/share/active_bo_ros/package.zsh'
|
|
||||||
[1.123s] Level 1:colcon.colcon_core.environment:create_file_with_runtime_dependencies(/home/cpsfeith/PycharmProjects/ActiveBOROS/src/install/active_bo_ros/share/colcon-core/packages/active_bo_ros)
|
|
||||||
[1.123s] DEBUG:colcon.colcon_parallel_executor.executor.parallel:closing loop
|
|
||||||
[1.124s] DEBUG:colcon.colcon_parallel_executor.executor.parallel:loop closed
|
|
||||||
[1.124s] DEBUG:colcon.colcon_parallel_executor.executor.parallel:run_until_complete finished with '0'
|
|
||||||
[1.124s] DEBUG:colcon.colcon_core.event_reactor:joining thread
|
|
||||||
[1.128s] INFO:colcon.colcon_core.plugin_system:Skipping extension 'colcon_notification.desktop_notification.terminal_notifier': Not used on non-Darwin systems
|
|
||||||
[1.128s] INFO:colcon.colcon_core.plugin_system:Skipping extension 'colcon_notification.desktop_notification.win32': Not used on non-Windows systems
|
|
||||||
[1.128s] INFO:colcon.colcon_notification.desktop_notification:Sending desktop notification using 'notify2'
|
|
||||||
[1.138s] DEBUG:colcon.colcon_core.event_reactor:joined thread
|
|
||||||
[1.139s] INFO:colcon.colcon_core.shell:Creating prefix script '/home/cpsfeith/PycharmProjects/ActiveBOROS/src/install/local_setup.ps1'
|
|
||||||
[1.140s] INFO:colcon.colcon_core.shell:Creating prefix util module '/home/cpsfeith/PycharmProjects/ActiveBOROS/src/install/_local_setup_util_ps1.py'
|
|
||||||
[1.140s] INFO:colcon.colcon_core.shell:Creating prefix chain script '/home/cpsfeith/PycharmProjects/ActiveBOROS/src/install/setup.ps1'
|
|
||||||
[1.141s] INFO:colcon.colcon_core.shell:Creating prefix script '/home/cpsfeith/PycharmProjects/ActiveBOROS/src/install/local_setup.sh'
|
|
||||||
[1.142s] INFO:colcon.colcon_core.shell:Creating prefix util module '/home/cpsfeith/PycharmProjects/ActiveBOROS/src/install/_local_setup_util_sh.py'
|
|
||||||
[1.142s] INFO:colcon.colcon_core.shell:Creating prefix chain script '/home/cpsfeith/PycharmProjects/ActiveBOROS/src/install/setup.sh'
|
|
||||||
[1.143s] INFO:colcon.colcon_core.shell:Creating prefix script '/home/cpsfeith/PycharmProjects/ActiveBOROS/src/install/local_setup.bash'
|
|
||||||
[1.143s] INFO:colcon.colcon_core.shell:Creating prefix chain script '/home/cpsfeith/PycharmProjects/ActiveBOROS/src/install/setup.bash'
|
|
||||||
[1.144s] INFO:colcon.colcon_core.shell:Creating prefix script '/home/cpsfeith/PycharmProjects/ActiveBOROS/src/install/local_setup.zsh'
|
|
||||||
[1.145s] INFO:colcon.colcon_core.shell:Creating prefix chain script '/home/cpsfeith/PycharmProjects/ActiveBOROS/src/install/setup.zsh'
|
|
@ -1 +0,0 @@
|
|||||||
latest_build
|
|
@ -1 +0,0 @@
|
|||||||
build_2023-02-24_11-42-25
|
|
Loading…
Reference in New Issue
Block a user