pschillinger/rqt_launchtree

Conditional includes of launch files are not displayed

Opened this issue · 2 comments

First of all thanks for the work put into this tool.

One thing I found missing is a visualization of conditions. For example in

  <!-- Gazebo  -->
  <include if="$(arg sim)" file="$(find bh_gazebo)/launch/gazebo.launch">
      <arg name="world" value="$(arg world)"/>
      <arg name="robot_name" value="dual_arm"/>
      <arg name="gui" value="$(arg gui)"/>
  </include>

the condition if="$(arg sim)" is not rendered in the GUI, but quite important when trying to understand launch files.

Unfortunately, this might not be straightforward. The implementation relies on the standard parsing by roslaunch to ensure that both tools always show the same behavior.

However, if you let roslaunch parse a file with conditions, it will immediately resolve them internally, i.e., a tag of which the condition is not true will not be reported at all. So far, I did not see a way how to do it without parsing the files independently from roslaunch.

I am happy to add the function if there is a way how to do this by using roslaunch.

I think I misunderstood how the tool works. When I wrote the issue I thought it just ignores the conditions, but it actually honors them and will just display what it actually includes.

So what I brought up is more of a wish list thing to better fully understand how a launch file is structured.