I am interested in adding custom metadata to the ROS-2 package.xml and providing a way to validate that other packages correctly define that metadata. However, when I attempt to add a new XML tag (e.g., 'my_custom_tag') ament fails during the validation process, with the following error: $ ament build Traceback (most recent call last): File "/ros2_ws/install/bin/ament", line 9, in load_entry_point('ament-tools==0.0.0', 'console_scripts', 'ament')() File "/ros2_ws/install/lib/python3.5/site-packages/ament_tools/commands/ament.py", line 86, in main rc = args.main(args) File "/ros2_ws/install/lib/python3.5/site-packages/ament_tools/verbs/build/cli.py", line 154, in main packages = topological_order(opts.basepath) File "/ros2_ws/install/lib/python3.5/site-packages/ament_tools/topological_order.py", line 102, in topological_order packages = _find_unique_packages(root_dir) File "/ros2_ws/install/lib/python3.5/site-packages/ament_tools/packages.py", line 81, in find_unique_packages packages = find_packages(basepath, exclude_paths=exclude_paths) File "/ros2_ws/install/lib/python3.5/site-packages/ament_tools/packages.py", line 66, in find_packages packages[path] = parse_package(os.path.join(basepath, path)) File "/ros2_ws/install/lib/python3.5/site-packages/ament_tools/package_types/__init__.py", line 31, in parse_package pkg = package_type['parse_package'](path) File "/ros2_ws/install/lib/python3.5/site-packages/ament_package/__init__.py", line 60, in parse_package return parse_package_string(f.read(), filename=filename) File "/ros2_ws/install/lib/python3.5/site-packages/ament_package/__init__.py", line 292, in parse_package_string (filename, ''.join(['\n- %s' % e for e in errors]))) ament_package.exceptions.InvalidPackage: Invalid package manifest './src/custom_package/package.xml': Error(s) in ./src/custom_package/package.xml: - The 'url' tag must not contain the following children: my_custom_tag Is there a recommended way to get around the validation that the package.xml contains no unknown tags? Is this even possible? I'd prefer not to have to branch ament_package. It may make sense for companies/organizations to add their own custom metadata to packages and ideally they would not need to modify ament_package. In some/most cases this metadata is not something that would make sense to include in ament_package (e.g., company specific). One option is to include the custom metadata in a separate XML file, but I would prefer to have a single file for package information. Assuming I can get ament to accept the custom metadata (or I use a separate XML file), are there are suggestions on how best to validate the metadata at build/compile time? My plan is to provide some custom cmake scripts to perform the validation, but was curious if there are better approaches. --- [Visit Topic](https://discourse.ros.org/t/custom-metadata-in-package-xml/2102/1) or reply to this email to respond. If you do not want to receive messages from ros-users please use the unsubscribe link below. If you use the one above, you will stop all of ros-users from receiving updates. ______________________________________________________________________________ ros-users mailing list ros-users@lists.ros.org http://lists.ros.org/mailman/listinfo/ros-users Unsubscribe: