rosinstall Package

rosinstall Package

The rosinstall package currently contains all modules of rosinstall and rosws.

there is a vision of splitting out all ROS dependent functionality into a separate tool, to leave a pure multi-vcs tool. This split is already half evident in the modules.

The architecture can be imagined to have 3 layers, on top of the vcstools library.

The lowest layer is the model layer, which is all the config_* modules. The main model class is .. autosummary:: rosinstall.config.

The *_cmd modules provide general services to query or modify the model. They should keep printing and command line assumptions to a minimum, optimally functions in here should be callable from any UI.

The *_cli modules implement actual command line interface tools, and thus provide command line argument parsing and pretty printing. Optimally functions in here do not contain any algorithmic code that can be useful for more than one UI.

The Model

The model of rosinstall is that a config maintains a list of elements, and performs defines operations on the list. The config class is responsible for ensuring consistency, such as not having two elements with the same localname.

A config element defines one main function install, which eventually calls an SCM provider to checkout or update code.

ROS dependent modules

These modules provide functions on top of the multiproject context with reference to ROS.

helpers Module

exception rosinstall.helpers.ROSInstallException
Bases: exceptions.Exception
rosinstall.helpers.get_ros_package_path(config)
Return the simplifed ROS_PACKAGE_PATH
rosinstall.helpers.get_ros_stack_path(config)
rosinstall.helpers.is_path_ros(path)
warning: exits with code 1 if stack document is invalid @param path: path of directory to check @type path: str @return: True if path points to the ROS stack @rtype: bool
rosinstall.helpers.is_path_stack(path)
@return: True if the path provided is the root of a stack.

setupfiles Module

rosinstall.setupfiles.generate_catkin_cmake(path, catkinpp)
rosinstall.setupfiles.generate_embedded_python()
rosinstall.setupfiles.generate_setup(config, no_ros_allowed=False)
rosinstall.setupfiles.generate_setup_bash_text(shell, no_ros=False)
rosinstall.setupfiles.generate_setup_sh_text(workspacepath)

Multiproject modules

The following modules should have no dependency to ROS, related functions.

ui Module

undoc-members:
show-inheritance:
 
class rosinstall.ui.Ui

wrap user interaction, such that client libraries may provide own implementation

get_backup_path()
Interactive function asking the user to choose a path for backup
prompt_del_abort_retry(prompt, allow_skip=False)
Interactive function asking the user to choose a conflict resolution