diff options
author | alalazo <massimiliano.culpo@googlemail.com> | 2016-05-23 10:54:48 +0200 |
---|---|---|
committer | alalazo <massimiliano.culpo@googlemail.com> | 2016-05-23 10:54:48 +0200 |
commit | 0890ac4507e5568d1d5a5da9bbd3c729238a9b3a (patch) | |
tree | 345784a5da443e0963ce0262fc850613a769bdff | |
parent | 3ab56a188e83054420d9004be1c6d07276c91375 (diff) | |
download | spack-0890ac4507e5568d1d5a5da9bbd3c729238a9b3a.tar.gz spack-0890ac4507e5568d1d5a5da9bbd3c729238a9b3a.tar.bz2 spack-0890ac4507e5568d1d5a5da9bbd3c729238a9b3a.tar.xz spack-0890ac4507e5568d1d5a5da9bbd3c729238a9b3a.zip |
modules : explicit module file load from configuration files
-rw-r--r-- | lib/spack/spack/config.py | 1 | ||||
-rw-r--r-- | lib/spack/spack/modules.py | 10 |
2 files changed, 9 insertions, 2 deletions
diff --git a/lib/spack/spack/config.py b/lib/spack/spack/config.py index ec37bd290c..c3133697f4 100644 --- a/lib/spack/spack/config.py +++ b/lib/spack/spack/config.py @@ -286,6 +286,7 @@ section_schemas = { 'autoload': {'$ref': '#/definitions/dependency_selection'}, 'prerequisites': {'$ref': '#/definitions/dependency_selection'}, 'conflict': {'$ref': '#/definitions/array_of_strings'}, + 'load': {'$ref': '#/definitions/array_of_strings'}, 'environment': { 'type': 'object', 'default': {}, diff --git a/lib/spack/spack/modules.py b/lib/spack/spack/modules.py index d2b819e80a..9fa92a593f 100644 --- a/lib/spack/spack/modules.py +++ b/lib/spack/spack/modules.py @@ -381,6 +381,8 @@ class EnvModule(object): for x in filter_blacklisted( module_configuration.pop('autoload', []), self.name): module_file_content += self.autoload(x) + for x in module_configuration.pop('load', []): + module_file_content += self.autoload(x) for x in filter_blacklisted( module_configuration.pop('prerequisites', []), self.name): module_file_content += self.prerequisite(x) @@ -402,8 +404,12 @@ class EnvModule(object): return tuple() def autoload(self, spec): - m = type(self)(spec) - return self.autoload_format.format(module_file=m.use_name) + if not isinstance(spec, str): + m = type(self)(spec) + module_file = m.use_name + else: + module_file = spec + return self.autoload_format.format(module_file=module_file) def prerequisite(self, spec): m = type(self)(spec) |