iceoryx icon indicating copy to clipboard operation
iceoryx copied to clipboard

Don't exclude implementations of public classes in Doxygen

Open mossmaurice opened this issue 3 years ago • 4 comments

Brief problem description

Due to

set(DOXYGEN_EXCLUDE_PATTERNS "*/internal/*")
set(DOXYGEN_EXCLUDE_SYMBOLS "internal::*")

in doc/aspice_swe3_4/CMakeLists.txt most part of the public user API is not visible e.g. popo::Publisher

image

Tasks

  1. Re-write regular expression so that implementations of popo::Publisher, popo::Subscriber are not excluded
  2. Add set(DOXYGEN_INLINE_INHERITED_MEMB YES) so that inherited methods and members are displayed

mossmaurice avatar Mar 17 '22 12:03 mossmaurice

@mossmaurice I had an inspiration. What do you think about having and impl or similar folder, e.g.

include
   |- iceoryx_posh
      |- popo
      |   |- impl
      |      |- subscriber_base.hpp
      |      |- subscriber_impl.hpp
      |- subscriber.hpp

We need maybe a better name, but I guess you know what I mean. With this we would still hide the internal header and could get the documentation from the base class.

elBoberido avatar Mar 31 '22 16:03 elBoberido

@mossmaurice this was fixed with #1315 from the workaround on the release branch. It's different than the proposal above but still works. Are you in favor of a different solution or are you fine with the workaround?

elBoberido avatar Apr 29 '22 15:04 elBoberido

@elBoberido The workaround is ok for me long term. However, we should document this somewhere not to forget if e.g. new files are added. I suppose the CONTRIBUTING.md would be a good place. Can you add a few senteces there? Thanks!

mossmaurice avatar Apr 30 '22 19:04 mossmaurice

@mossmaurice @elBoberido Is here still something to do or not?

dkroenke avatar Feb 02 '23 12:02 dkroenke