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.:

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.

  • {X} Major issues that need to be resolved


Wiki: rospack/Reviews/2011-11-02 API Review (last edited 2011-11-02 20:50:00 by KenConley)