-
Notifications
You must be signed in to change notification settings - Fork 1
workspace

ESROCOS relies on Autoproj as a means to organize and keep sources and dependencies up to date. ESROCOS itself is the collection and configuration of tools and available software which is distributed amongst several git repositories (which can be found within github.com/ESROCOS). Autoproj helps by providing a system to describe workspace layouts, resolve and automatically download/update/install dependencies. More info on Autoproj can be found here.
To understand the architecture of the workspace we take a look into the autproj directory:

The contents of this directory correspond directly to the ESROCOS/buildconf repository on the branch you selected during installation. Among template files and shared CMake code (another tool which as part of the ESROCOS workflow) we find the very central manifest and the remotes directory.

In the remotes directory we find subdirectories corresponding to the package-set repositories of the ESROCOS project, which in turn bundle access to software-components which are managed as repositories in their own right (such as the workflow tools, the esrocos types or tutorial packages) or can be accessed from other sources (e.g. as downloadable archives). To read more about package-sets in general please consult the Autoproj documentation.

In the core set you will find the workflow tools and types, essentially what ca be thought of part of the ESROCOS system itself.
In the universe set you will find third party packages, mostly ESROCOS components which can be reused in projects. Some of those packages might be developed as part of ESROCOS, though - for example the tutorial packages.
In this set you will find external libraries like OpenCV or PCL which require additional setup to be used in ESROCOS.

The manifest file you can describe the layout of your workspace - which package sources to include and which packages to check out and install from those sources. By default only the core packages are installed after a fresh installation.
The install directory is the place where the build system will look for dependencies (in addition to the system-dependent locations). When using Autoproj to build software packages (directly or via the esrocos tools) this the default installation destination.
The following naming convention is followed in ESROCOS repositories: <scope>-<type>_<name> for example drivers-imu_stim300. This repository is installed in the folder drivers/imu_stim300.
When a TASTE/AADL model is created to integrate a library, it is recommended to use the same name for the library and the Taste component, e.g., drivers/imu_stim300 and drivers/taste/imu_stim300. Therefore, the GIT repository name is drivers-taste-imu_stim300.
