Files
modules/doc/source/design/module-warn.rst
Xavier Delaruelle 2f6672a266 doc: desc. module-warn in MIGRATING
Signed-off-by: Xavier Delaruelle <xavier.delaruelle@cea.fr>
2025-04-27 20:07:43 +02:00

63 lines
2.3 KiB
ReStructuredText

.. _module-warn:
module-warn modulefile command
==============================
This design document describes the :mfcmd:`module-warn` Tcl command that emits
warning message when targeted module is evaluated.
Need for such command comes from `EESSI`_ software-layer where a warning
message is printed when loading modules if a file is not found.
.. _EESSI: https://www.eessi.io/
Command specification
---------------------
The command has following syntax::
module-warn [options] --message text modulefile...
When a ``module-warn`` command applies to an evaluated modulefile:
* message is printed as a warning message when targeted module is evaluated in
``load``, ``display``, ``help`` or ``test`` modes.
* warning message is printed at the end of the modulefile evaluation
* ``warning`` tag is set on available or loaded module
Like other commands of this kind, modulefile specification accepts advanced
version specifiers (see
:ref:`module_version_specification_to_return_all_matching_modules`).
This command is available in modulerc and modulefile evaluation contexts. In
modulefile context, it could be replaced by :mfcmd:`reportWarning`, but it is
easier to also enables it in this context to benefit from the options that
inhibit or enable specifically the warning mechanism.
``module-warn`` accepts options that change warn mechanism:
* ``--not-user``: specify a list of unaffected users
* ``--not-group``: specify a list of groups whose member are unaffected
* ``--user``: specify a list of users specifically affected
* ``--group``: specify a list of groups whose member are specifically affected
* ``--before``: enables warn mechanism until a given date
* ``--after``: enables warn mechanism after a given date
* ``--message``: warning message to print
``warning`` tag
---------------
``warning`` tag is introduced to visibly catch modulefiles affected by
``module-warn``:
* ``W`` is the abbreviation for this tag
* ``W=30;43`` and ``W=103`` is respectively added to dark and light color
palettes (same as nearly-forbidden modules)
* This tag is recorded into collections following standard tag recording
mechanism
* This tag cannot be set manually with ``module-tag`` command
* If ``module-warn`` is used within modulefile, extra match search will not
find ``warning`` tag of these modules
.. vim:set tabstop=2 shiftwidth=2 expandtab autoindent: