Merge pull request #1615 from trws/module_delim_portability
avoid specifying --delim unless required
This commit is contained in:
commit
24c0ece841
@ -530,13 +530,6 @@ def prerequisite(self, spec):
|
|||||||
class TclModule(EnvModule):
|
class TclModule(EnvModule):
|
||||||
name = 'tcl'
|
name = 'tcl'
|
||||||
path = join_path(spack.share_path, "modules")
|
path = join_path(spack.share_path, "modules")
|
||||||
environment_modifications_formats = {
|
|
||||||
PrependPath: 'prepend-path --delim "{separator}" {name} \"{value}\"\n',
|
|
||||||
AppendPath: 'append-path --delim "{separator}" {name} \"{value}\"\n',
|
|
||||||
RemovePath: 'remove-path --delim "{separator}" {name} \"{value}\"\n',
|
|
||||||
SetEnv: 'setenv {name} \"{value}\"\n',
|
|
||||||
UnsetEnv: 'unsetenv {name}\n'
|
|
||||||
}
|
|
||||||
|
|
||||||
autoload_format = ('if ![ is-loaded {module_file} ] {{\n'
|
autoload_format = ('if ![ is-loaded {module_file} ] {{\n'
|
||||||
' puts stderr "Autoloading {module_file}"\n'
|
' puts stderr "Autoloading {module_file}"\n'
|
||||||
@ -556,11 +549,13 @@ def file_name(self):
|
|||||||
def header(self):
|
def header(self):
|
||||||
timestamp = datetime.datetime.now()
|
timestamp = datetime.datetime.now()
|
||||||
# TCL Modulefile header
|
# TCL Modulefile header
|
||||||
header = '#%Module1.0\n'
|
header = """\
|
||||||
header += '## Module file created by spack (https://github.com/LLNL/spack) on %s\n' % timestamp
|
#%%Module1.0
|
||||||
header += '##\n'
|
## Module file created by spack (https://github.com/LLNL/spack) on %s
|
||||||
header += '## %s\n' % self.spec.short_spec
|
##
|
||||||
header += '##\n'
|
## %s
|
||||||
|
##
|
||||||
|
""" % (timestamp, self.spec.short_spec)
|
||||||
|
|
||||||
# TODO : category ?
|
# TODO : category ?
|
||||||
# Short description
|
# Short description
|
||||||
@ -575,6 +570,44 @@ def header(self):
|
|||||||
header += '}\n\n'
|
header += '}\n\n'
|
||||||
return header
|
return header
|
||||||
|
|
||||||
|
def process_environment_command(self, env):
|
||||||
|
environment_modifications_formats_colon = {
|
||||||
|
PrependPath: 'prepend-path {name} \"{value}\"\n',
|
||||||
|
AppendPath: 'append-path {name} \"{value}\"\n',
|
||||||
|
RemovePath: 'remove-path {name} \"{value}\"\n',
|
||||||
|
SetEnv: 'setenv {name} \"{value}\"\n',
|
||||||
|
UnsetEnv: 'unsetenv {name}\n'
|
||||||
|
}
|
||||||
|
environment_modifications_formats_general = {
|
||||||
|
PrependPath:
|
||||||
|
'prepend-path --delim "{separator}" {name} \"{value}\"\n',
|
||||||
|
AppendPath:
|
||||||
|
'append-path --delim "{separator}" {name} \"{value}\"\n',
|
||||||
|
RemovePath:
|
||||||
|
'remove-path --delim "{separator}" {name} \"{value}\"\n',
|
||||||
|
SetEnv: 'setenv {name} \"{value}\"\n',
|
||||||
|
UnsetEnv: 'unsetenv {name}\n'
|
||||||
|
}
|
||||||
|
for command in env:
|
||||||
|
# Token expansion from configuration file
|
||||||
|
name = command.args.get('name', '').format(**self.upper_tokens)
|
||||||
|
value = str(command.args.get('value', '')).format(**self.tokens)
|
||||||
|
command.update_args(name=name, value=value)
|
||||||
|
# Format the line int the module file
|
||||||
|
try:
|
||||||
|
if command.args.get('separator', ':') == ':':
|
||||||
|
yield environment_modifications_formats_colon[type(
|
||||||
|
command)].format(**command.args)
|
||||||
|
else:
|
||||||
|
yield environment_modifications_formats_general[type(
|
||||||
|
command)].format(**command.args)
|
||||||
|
except KeyError:
|
||||||
|
message = ('Cannot handle command of type {command}: '
|
||||||
|
'skipping request')
|
||||||
|
details = '{context} at {filename}:{lineno}'
|
||||||
|
tty.warn(message.format(command=type(command)))
|
||||||
|
tty.warn(details.format(**command.args))
|
||||||
|
|
||||||
def module_specific_content(self, configuration):
|
def module_specific_content(self, configuration):
|
||||||
naming_tokens = self.tokens
|
naming_tokens = self.tokens
|
||||||
# Conflict
|
# Conflict
|
||||||
|
Loading…
Reference in New Issue
Block a user