Overview
The primary differences between this package and rosdistro_build_cache
are:
colcon-distrodoes not requirepackage.xmlfiles in order to locate packages in the distribution repos; instead it leverages colcon’s plugin-based package discovery and augmentation mechanisms.colcon-distrodoes not use thereleaseattributes of thedistribution.yaml, relying instead purely on thesourceattributes, making it suitable for building source workspaces during rolling development.colcon-distroremembers the state of thedistribution.yamlwhen theversionattributes have been frozen to hashes and the overall repo is tagged.colcon-distrois backed by a small SQLite database, and is an active server process rather than a script which generates one-off cache tarballs on each run.
In addition to the server process, two new verbs are added to colcon which
provide the client interface to the distro server:
colcon generatereplaces rosinstall_generator, consuming the cached distro information and performing dependency resolution to assemble a list of repo/refs to clone. The output of this verb is compatible with vcstool.colcon downloadprovides an alternative towstool,vcs, and similar tools, with the primary difference that it always downloads git repos as tarballs, and does so asynchronously under colcon’s parallel execution framework.