doc: modules: document recommendations

Update Modules (External projects) documentation to:

- Recommend explicitly setting the module name in module.yml
- Recommend exposing module-provided headers with an include
  pathname beginning with the module-name.

Fixes #49766

Signed-off-by: Gregory SHUE <gregory.shue@legrand.com>
Co-authored-by: Stephanos Ioannidis <root@stephanos.io>
This commit is contained in:
Gregory SHUE 2022-08-31 13:57:47 -07:00 committed by Fabio Baltieri
parent 24821826ac
commit 6c66905e8d
1 changed files with 9 additions and 1 deletions

View File

@ -58,6 +58,8 @@ Module Repositories
Existing module repositories that do not conform to the above convention
do not need to be renamed to comply with the above convention.
* Module repositories names should be explicitly set in the :file:`zephyr/module.yml` file.
* Modules should use "zephyr" as the default name for the repository main
branch. Branches for specific purposes, for example, a module branch for
an LTS Zephyr version, shall have names starting with the 'zephyr\_' prefix.
@ -72,6 +74,10 @@ Module Repositories
is not recommended as this may generate confusion around the module's
main branch, which should be 'zephyr'.
* Modules should expose all provided header files with an include pathname
beginning with the module-name. (E.g., mcuboot should expose its
``bootutil/bootutil.h`` as "mcuboot/bootutil/bootutil.h".)
.. _modules_synchronization:
Synchronizing with upstream
@ -428,7 +434,9 @@ Module name
Each Zephyr module is given a name by which it can be referred to in the build
system.
The name may be specified in the :file:`zephyr/module.yml` file:
The name should be specified in the :file:`zephyr/module.yml` file. This will
ensure the module name is not changeable through user-defined directory names
or ``west`` manifest files:
.. code-block:: yaml