API review
Proposer: Brian Gerkey
Present at review:
- Add your name here
rospack rewrite
In preparation for pushing upstream to Debian/Ubuntu together with rospkg, rospack and rosstack have been rewritten. The goals of the rewrite were:
- produce a cleaner, more maintainable implementation;
- provide a proper code API; and
- preserve the speed of the existing implementation for time-sensitive use cases (e.g., tab-completion at the command-line).
There's now one library, librospack, that implements the underlying functionality for both rospack and rosstack. Those tools are now relatively small wrappers around the common library. The command-line options for the tools are unchanged, and so don't need to be reviewed. The new implementation passes all the existing tests.
The code is available via Mercurial at: https://kforge.ros.org/rosrelease/rospack
The C++ API is entirely new, and is the main subject of this review. The latest documentation for the library is available here. The most important bit is the Rosstackage class. The old C++ API is still provided, in the ROSPack class, but is deprecated, and separated in a such a way that it can be left out of the library.
Question / concerns / comments
Enter your thoughts on the API and any questions / concerns you have here. Please sign your name. Anything you want to address in the API review should be marked down here before the start of the meeting.
kwc
Not sure the API should introduce new 'names' (i.e. stackage) that end up sticking around. Also, IMHO, it would be beneficial to stick with terminology introduced in the rospkg library, i.e.:
class RosPack(ManifestManager), class RosStack(ManifestManager)
Also, note the camelcasing on 'P' and 'S'.
Same comment applies for other APIs -- should probably try to keep as similar as possible when issues of terminology arise (i.e. not identical APIs, but identical nouns).
Meeting agenda
To be filled out by proposer based on comments gathered during API review period
Conclusion
Package status change mark change manifest)
Action items that need to be taken.
Major issues that need to be resolved