RFC on REP 149: package format 3

Hello everyone,

A long time has passed since format 2 of the package.xml files was specified. The latest REP 149 aims to add three features which are hopefully useful to reduce the effort in a few advanced / upcoming uses cases. Please see the current draft of the REP for the full specification. The changes compared to the previous format are highlighted in a different color to help focus on the additions.

Since the REP adds three mostly separate “features” we created separate tickets to focus the discussion. Please comment on any of the following tickets with feedback for specific parts of the draft:

For more general comments and feedback (which is not specific to one of the three topics) please comment on the closed PR which contains the draft. Please do not reply in this discourse thread since the audience is very big and not everyone might be interested in the in-depth discussion of this topic.

In ROS 2 we have already implemented support for two of the three new feature (see ament_package#63). The goal is to also provide the features in ROS 1 in order to leverage especially the conditional dependencies.

Your friendly ROS team