From David Lu! via ros-users@
I have a confession to make. I'm not very good at Catkin. One reason
is because there is a lot more metadata to maintain. Unlike Ye Olde
Rosbuild, where you could add a dependency by adding a single tag in
the manifest, Catkin requires you add the build and run dependencies
to the package.xml, as well as add the dependencies in the
CMakeLists.txt in a couple places.
That's why I've developed a tool called roscompile, which I've found
invaluable for cleaning up my packages for release. It attempts to do
the hard work for you by 'compiling' the information that already
exists in the package.
* Did you just add a dependency on a new package in your source code?
roscompile will read the source and add the appropriate tags to your
package.xml and CMakeLists.txt.
* Create a new launch file that uses map_server? roscompile reads
launch files to add run_depends.
* Add a new msg/srv/action/dynamic_reconfiguration/plugin? roscompile
generates the metadata for that too.
Check it out here: https://github.com/DLu/roscompile
(contains a full list of features and issues page)
Of course, the tool is far from perfect. It should not be used to
blindly make changes to critical repos. I welcome collaboration to
help cover people's use cases other than my own.
is because there is a lot more metadata to maintain. Unlike Ye Olde
Rosbuild, where you could add a dependency by adding a single tag in
the manifest, Catkin requires you add the build and run dependencies
to the package.xml, as well as add the dependencies in the
CMakeLists.txt in a couple places.
That's why I've developed a tool called roscompile, which I've found
invaluable for cleaning up my packages for release. It attempts to do
the hard work for you by 'compiling' the information that already
exists in the package.
* Did you just add a dependency on a new package in your source code?
roscompile will read the source and add the appropriate tags to your
package.xml and CMakeLists.txt.
* Create a new launch file that uses map_server? roscompile reads
launch files to add run_depends.
* Add a new msg/srv/action/dynamic_
generates the metadata for that too.
Check it out here: https://github.com/DLu/
(contains a full list of features and issues page)
Of course, the tool is far from perfect. It should not be used to
blindly make changes to critical repos. I welcome collaboration to
help cover people's use cases other than my own.
Leave a comment