summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
Diffstat (limited to 'lib')
-rw-r--r--lib/spack/spack/modules.py16
1 files changed, 16 insertions, 0 deletions
diff --git a/lib/spack/spack/modules.py b/lib/spack/spack/modules.py
index a81132bcac..61ecdc10c3 100644
--- a/lib/spack/spack/modules.py
+++ b/lib/spack/spack/modules.py
@@ -497,3 +497,19 @@ class TclModule(EnvModule):
header += 'puts stderr "%s"\n' % line
header += '}\n\n'
return header
+
+ def module_specific_content(self, configuration):
+ naming_tokens = self.tokens
+ # Conflict
+ conflict_format = configuration.get('conflict', '')
+ if conflict_format:
+ for naming_dir, conflict_dir in zip(self.naming_scheme.split('/'), conflict_format.split('/')):
+ if naming_dir != conflict_dir:
+ message = 'Conflict scheme does not match naming scheme [{spec}]\n\n'
+ message += 'naming scheme : "{nformat}"\n'
+ message += 'conflict scheme : "{cformat}"\n'
+ raise tty.error(
+ message.format(spec=self.spec, nformat=self.naming_scheme, cformat=conflict_format)
+ )
+ conflict_format = 'conflict ' + conflict_format
+ yield conflict_format.format(**naming_tokens)