@@ -217,6 +217,14 @@ def read_vinca_yaml(filepath):
217217 else :
218218 vinca_conf ["_pkg_additional_info" ] = {}
219219
220+ # snapshot contains both rosdistro_snapshot.yaml and
221+ # rosdistro_additional_recipes.yaml
222+ snapshot , additional_packages_snapshot = read_snapshot (vinca_conf )
223+
224+ # Store additional_packages_snapshot in vinca_conf for template access
225+ vinca_conf ["_snapshot" ] = snapshot or {}
226+ vinca_conf ["_additional_packages_snapshot" ] = additional_packages_snapshot or {}
227+
220228 return vinca_conf
221229
222230
@@ -760,6 +768,10 @@ def get_selected_packages(distro, vinca_conf):
760768
761769 if vinca_conf .get ("build_all" , False ):
762770 selected_packages = set (distro ._distro .release_packages .keys ())
771+ # Add packages from rosdistro_additional_recipes.yaml when build_all is True
772+ if "_additional_packages_snapshot" in vinca_conf and vinca_conf ["_additional_packages_snapshot" ]:
773+ additional_packages = set (vinca_conf ["_additional_packages_snapshot" ].keys ())
774+ selected_packages = selected_packages .union (additional_packages )
763775 elif vinca_conf ["packages_select_by_deps" ]:
764776
765777 if (
@@ -1078,14 +1090,8 @@ def main():
10781090 base_dir = os .path .abspath (arguments .dir )
10791091 vinca_yaml = os .path .join (base_dir , "vinca.yaml" )
10801092 vinca_conf = read_vinca_yaml (vinca_yaml )
1081-
1082- # snapshot contains both rosdistro_snapshot.yaml and
1083- # rosdistro_additional_recipes.yaml
1084-
1085- snapshot , additional_packages_snapshot = read_snapshot (vinca_conf )
1086-
1087- # Store additional_packages_snapshot in vinca_conf for template access
1088- vinca_conf ["_additional_packages_snapshot" ] = additional_packages_snapshot or {}
1093+ snapshot = vinca_conf .get ("snapshot" , None )
1094+ additional_packages_snapshot = vinca_conf .get ("_additional_packages_snapshot" , None )
10891095
10901096 if arguments .trigger_new_versions :
10911097 vinca_conf ["trigger_new_versions" ] = True
@@ -1099,7 +1105,7 @@ def main():
10991105 if "python_version" in vinca_conf :
11001106 python_version = vinca_conf ["python_version" ]
11011107
1102- distro = Distro (vinca_conf ["ros_distro" ], python_version , snapshot , additional_packages_snapshot )
1108+ distro = Distro (vinca_conf ["ros_distro" ], python_version , vinca_conf [ "_snapshot" ], vinca_conf [ "_additional_packages_snapshot" ] )
11031109 additional_pkgs , parsed_pkgs = [], []
11041110 for f in pkg_files :
11051111 parsed_pkg = catkin_pkg .package .parse_package (f )
@@ -1201,7 +1207,7 @@ def main():
12011207 if "python_version" in vinca_conf :
12021208 python_version = vinca_conf ["python_version" ]
12031209
1204- distro = Distro (vinca_conf ["ros_distro" ], python_version , snapshot , additional_packages_snapshot )
1210+ distro = Distro (vinca_conf ["ros_distro" ], python_version , vinca_conf [ "_snapshot" ], vinca_conf [ "_additional_packages_snapshot" ] )
12051211
12061212 selected_pkgs = get_selected_packages (distro , vinca_conf )
12071213
0 commit comments