This change will reduce the amount of effort required to ensure that vendor typesupport packages are optional for end-users. And it cleans up our dependency tree a little with caveats*
The vendor typesupport packages are also members in the respective groups rosidl_typesupport_c{,pp}_packages and thus will still be directly depended upon by this package for source builds.
Here's a graph of the tree from an example message package (std_msgs) to the vendor typesupport packages.
*These graphs do not consider group dependencies which I think re-introduce the "overspecified" dependencies from the before image below.
This change will reduce the amount of effort required to ensure that vendor typesupport packages are optional for end-users. And it cleans up our dependency tree a little with caveats*
The vendor typesupport packages are also members in the respective groups rosidl_typesupport_c{,pp}_packages and thus will still be directly depended upon by this package for source builds.
Here's a graph of the tree from an example message package (std_msgs) to the vendor typesupport packages.
*These graphs do not consider group dependencies which I think re-introduce the "overspecified" dependencies from the before image below.
Before:
After: