-
Notifications
You must be signed in to change notification settings - Fork 2.1k
On the documentation of pseudomodules #21989
Description
I have a question regarding the documentation of pseudomodules (triggered by an error in #21985). According to the PR that introduced documenting pseudomodules (#17133) "A dedicated group is created for each module.", but there seems to be some inconsistencies in pseudomodules.inc.mk (I think).
This one defines a group for gnrc_nettype_ccn and sets net_gnrc_nettype as a parent:
RIOT/makefiles/pseudomodules.inc.mk
Lines 137 to 144 in f442d25
| ## @addtogroup net_gnrc_nettype | |
| ## @{ | |
| ## @defgroup net_gnrc_nettype_ccn gnrc_nettype_ccn | |
| ## @{ | |
| ## Enables @ref GNRC_NETTYPE_CCN and @ref GNRC_NETTYPE_CCN_CHUNK | |
| PSEUDOMODULES += gnrc_nettype_ccn | |
| ## @} |
This has the effect that now gnrc_nettype: Protocol type shows up as a child of Generic pseudomodules, but at least we know that gnrc_nettype_ccn will enable the GNRC implementation of CCN (though the location of this information may be questionable).
Conversely, we have this example:
RIOT/makefiles/pseudomodules.inc.mk
Lines 87 to 93 in f442d25
| ## @addtogroup net_gcoap_dns | |
| ## @{ | |
| ## Enable @ref net_gcoap_dns | |
| PSEUDOMODULES += gcoap_dns | |
| ## Enable the @ref gcoap_dns_server_proxy_set function | |
| PSEUDOMODULES += gcoap_dns_proxied | |
| ## @} |
In this case we have the same effect of the GCoap DNS module being a child of pseudomodules. One can argue that this is correct in this case. But the documentation now just shows an extra sentence in the module's page, with no clue as to which pseudomodule is required, and it even has a circular reference: https://doc.riot-os.org/group__net__gcoap__dns.html.
What should be the (documented) approach to this?
Some quick thoughts:
- We could simple define always a doxygen group with
pseudomodule_prefix or so, and make it a child of the proper module (maybe usingingroupinstead ofaddtogroup?). - We could skip defining groups whenever one direct matching already exists, but define the rest.
I'd say that whatever option we go with, the @brief and / or title should explicitly mention the pseudomodule, otherwise one doesn't gain much from just reading the docs.
CC @chrysn