I have published colcon-lint. It’s an extension of colcon-core. Similar to catkin-lint in ROS, it checks whether the dependencies of ROS2 packages are correctly described in the package.xml.
It’s still a work in progress, but if you are interested in using it, I would be happy to open an issue if you notice anything.
Wow, great work. I think this was really missing in ROS2.
Will the tool only find dependencies in CMakeLists.txt or also in setup.pys?
Do you also plan to release it?
Right now the tool is still only finding dependencies for launch files written in python.
However, setup.py will be supported in the near future.
CMakeLists.txt will also be supported, but it is a low priority because the already existing ament_cmake_auto macro can guarantee that the necessary dependencies are written in package.xml at build time.
I am not planning a release yet, but will do so if needed.
I added support for CMakeLists.txt and now you can check not only exec_depend but also build_depend, build_export_depend, and test_depend. Furthermore, I have released this version on PyPI.