## Feature request #### Feature description Connected to https://github.com/ros2/rosidl/issues/560. Description and rationale to be found at https://github.com/ros2/design/pull/310. #### Implementation considerations - [x] Attempt to install Python entry points from `ament_cmake` packages (https://github.com/ament/ament_cmake/pull/316). - [x] Add `rosidl_cli` package, with a basic `rosidl generate` CLI. (https://github.com/ros2/rosidl/pull/567) - [x] Edit: Add `rosidl translate` CLI verb for interface definition conversion. (https://github.com/ros2/rosidl/pull/575) - [x] Edit: Expose CLI as API. (https://github.com/ros2/rosidl/pull/577) - Useful to e.g. perform implicit interface translation on generation. - [x] Edit: Provide `rosidl translate` plugins from existing adapter/generator packages: - [x] `rosidl_adapter` (https://github.com/ros2/rosidl/pull/576) - [x] `rosidl_generator_dds_idl` (https://github.com/ros2/rosidl_dds/pull/55) - [x] Provide `rosidl generate` plugins from existing generator packages: - [x] `rosidl_generator_c` (#569) - [x] `rosidl_generator_cpp` (#570) - [x] `rosidl_generator_py` (https://github.com/ros2/rosidl_python/pull/123) - [x] `rosidl_typesupport_introspection_c` (#572) - [x] `rosidl_typesupport_introspection_cpp` (#573) - [x] `rosidl_typesupport_c` (https://github.com/ros2/rosidl_typesupport/pull/105) - [x] `rosidl_typesupport_cpp` (https://github.com/ros2/rosidl_typesupport/pull/104) - [x] `rosidl_typesupport_fastrtps_c` (https://github.com/ros2/rosidl_typesupport_fastrtps/pull/65) - [x] `rosidl_typesupport_fastrtps_cpp` (https://github.com/ros2/rosidl_typesupport_fastrtps/pull/66) - [x] `rosidl_typesupport_connext_c` (https://github.com/ros2/rosidl_typesupport_connext/pull/67) - [x] `rosidl_typesupport_connext_cpp` (https://github.com/ros2/rosidl_typesupport_connext/pull/68) - [ ] (Nice to have) Migrate Python logic out of `rosidl_cmake` and into a `rosidl_common` package. - [x] Iterate on https://github.com/ros2/design/pull/310 ~if need be~.
Feature request
Feature description
Connected to #560. Description and rationale to be found at ros2/design#310.
Implementation considerations
ament_cmakepackages (Make ament_python_install_package() install a flat Python egg ament/ament_cmake#316).rosidl_clipackage, with a basicrosidl generateCLI. (Add rosidl generate CLI. #567)rosidl translateCLI verb for interface definition conversion. (Add rosidl translate CLI. #575)rosidl translateplugins from existing adapter/generator packages:rosidl_adapter(Expose .msg/.srv/.action to .idl conversion via rosidl translate CLI #576)rosidl_generator_dds_idl(Expose .idl to DDS .idl conversion via rosidl translate CLI rosidl_dds#55)rosidl generateplugins from existing generator packages:rosidl_generator_c(Expose C code generation via rosidl generate CLI #569)rosidl_generator_cpp(Expose C++ code generation via rosidl generate CLI #570)rosidl_generator_py(Expose Python code generation via rosidl generate CLI rosidl_python#123)rosidl_typesupport_introspection_c(Expose C introspection typesupport generation via rosidl generate CLI #572)rosidl_typesupport_introspection_cpp(Expose C++ introspection typesupport generation via rosidl generate CLI #573)rosidl_typesupport_c(Expose C typesupport generation via rosidl generate CLI rosidl_typesupport#105)rosidl_typesupport_cpp(Expose C++ typesupport generation via rosidl generate CLI rosidl_typesupport#104)rosidl_typesupport_fastrtps_c(Expose FastRTPS C typesupport generation via rosidl generate CLI rosidl_typesupport_fastrtps#65)rosidl_typesupport_fastrtps_cpp(Expose FastRTPS C++ typesupport generation via rosidl generate CLI rosidl_typesupport_fastrtps#66)rosidl_typesupport_connext_c(Expose Connext C typesupport generation via rosidl generate CLI rosidl_typesupport_connext#67)rosidl_typesupport_connext_cpp(Expose Connext C++ typesupport generation via rosidl generate CLI rosidl_typesupport_connext#68)rosidl_cmakeand into arosidl_commonpackage.if need be.