easybuild.tools.module_naming_scheme.hierarchical_mns module¶
Implementation of an example hierarchical module naming scheme.
Authors:
- Kenneth Hoste (Ghent University)
- Markus Geimer (Forschungszentrum Juelich GmbH)
-
class
easybuild.tools.module_naming_scheme.hierarchical_mns.HierarchicalMNS(*args, **kwargs)¶ Bases:
easybuild.tools.module_naming_scheme.mns.ModuleNamingSchemeClass implementing an example hierarchical module naming scheme.
-
REQUIRED_KEYS= ['name', 'versionprefix', 'version', 'versionsuffix', 'toolchain', 'moduleclass']¶
-
det_full_module_name(ec)¶ Determine full module name, relative to the top of the module path. Examples: Core/GCC/4.8.3, Compiler/GCC/4.8.3/OpenMPI/1.6.5, MPI/GCC/4.8.3/OpenMPI/1.6.5/HPL/2.1
-
det_full_version(ec)¶ Determine full version, taking into account version prefix/suffix.
-
det_init_modulepaths(ec)¶ Determine list of initial module paths (i.e. top of the hierarchy).
-
det_modpath_extensions(ec)¶ Determine module path extensions, if any. Examples: Compiler/GCC/4.8.3 (for GCC/4.8.3 module), MPI/GCC/4.8.3/OpenMPI/1.6.5 (for OpenMPI/1.6.5 module)
-
det_module_subdir(ec)¶ Determine module subdirectory, relative to the top of the module path. This determines the separation between module names exposed to users, and what’s part of the $MODULEPATH. Examples: Core, Compiler/GCC/4.8.3, MPI/GCC/4.8.3/OpenMPI/1.6.5
-
det_module_symlink_paths(ec)¶ Determine list of paths in which symlinks to module files must be created.
-
det_short_module_name(ec)¶ Determine short module name, i.e. the name under which modules will be exposed to users. Examples: GCC/4.8.3, OpenMPI/1.6.5, OpenBLAS/0.2.9, HPL/2.1, Python/2.7.5
-
det_toolchain_compilers_name_version(tc_comps)¶ Determine toolchain compiler tag, for given list of compilers.
-
expand_toolchain_load(ec=None)¶ Determine whether load statements for a toolchain should be expanded to load statements for its dependencies. This is useful when toolchains are not exposed to users.
-
requires_toolchain_details()¶ Determine whether toolchain details are required by this module naming scheme, e.g. whether one of det_toolchain_* functions are relied upon.
-