Remove unused splitting of .srv files in CMake #753
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
It used to be that rosidl generators acted on ROS IDL (.msg/.srv/.action) files directly, and generated code from them. This removes now purposeless code that used to be part of that pipeline.
IIUC, how this used to work is the
rosidl_generate_interfaces()
macro would split.srv
files into two: one for the request and one for the response. The generators would then generate code for the split.msg
files. Notice in the past the request and response messages were put into a variable called_idl_files
, meaning ROS IDL, and which was then passed to the generators.This code seems to have survived the transition to OMG IDL, but it no longer has a purpose. Notice the split services are now put into a variable called
_non_idl_files
, (now meaning they're not OMG IDL files). These files aren't passed to the generators. They do get installed - but AFAIK that's just so other's can see what the original ROS IDL of a message was. Nothing actually uses these..._Request.msg
and..._Response.msg
files anymore.With the OMG IDL pipeline,
.srv
files are converted to OMG IDL files. The service still gets split into two in a way.rosidl_adapter
parses the.srv
file to produce a python object representing the request and the response, and then uses one of the.msg
templates for the request and response in the OMG IDL file, but the generators downstream only see that as an OMG IDL file containing Request and Response structs.