Coming from the ROS and robotics community, it is a bit disappointing that I cannot use the symbol
= in the
command section of my
app in Snapcraft.
= is essential for ROS and ROS 2 applications to pass runtime arguments and parameters to ROS nodes and launch files. By default, passing arguments in ROS 1 looks as follows:
roslaunch my_package my_node _example_float_param:=1.0
In ROS 2 it looks like this:
ros2 launch my_package my_node example_float_param:=1.0
Lack of the ability to configure ROS nodes in runtime requires either wrapping existing ROS packages into your own custom ones or writing bash scripts just to launch the nodes. This is very inconvenient in the multi snaps architecture where often everything needed is a preexisting package from github with one additional launch argument passed. Another example is when your package requires passing some arguments, configuring it to work in restricted confinement.