-
Notifications
You must be signed in to change notification settings - Fork 118
Description
In some cases it is desired that a module providing a bundle of things be shadowed by another module providing a newer version of one element of the bundle. Being shadowed means here that both modules are loaded but the second one shadow the first as its paths take precedence.
Such use case is especially used in EasyBuild. For instance, EasyBuild may install a Python/3.13.1 bundle that provides setuptools/75.6.0 component. But EasyBuild may also install setuptools/80.9.0 which requires the Python/3.13.1 bundle. So user environment contains setuptools/80.9.0 and Python/3.13.1 modules loaded with the setuptools module shadowing the setuptools component provided by the Python module.
To support such use case, a new feature has to be developed: ignoring conflict between a module alias and an actual module name. Actual module being able to load to take precedence (i.e., shadow) over the module alias.
Such feature will be linked to a configuration option: shadow_alias. This option will be disabled by default.