Skip to content

Commit 91c7f0d

Browse files
committed
Don't resolve templates where it isn't required
1 parent 715f7c0 commit 91c7f0d

File tree

4 files changed

+12
-11
lines changed

4 files changed

+12
-11
lines changed

easybuild/framework/easyblock.py

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1194,7 +1194,8 @@ def make_module_extra_extensions(self):
11941194
lines = [self.module_extra_extensions]
11951195

11961196
# set environment variable that specifies list of extensions
1197-
exts_list = ','.join(['%s-%s' % (ext[0], ext[1]) for ext in self.cfg['exts_list']])
1197+
# We need only name and version, so don't resolve templates
1198+
exts_list = ','.join(['-'.join(ext[:2]) for ext in self.cfg.get_ref('exts_list')])
11981199
env_var_name = convert_name(self.name, upper=True)
11991200
lines.append(self.module_generator.set_environment('EBEXTSLIST%s' % env_var_name, exts_list))
12001201

@@ -1207,7 +1208,7 @@ def make_module_footer(self):
12071208
footer = [self.module_generator.comment("Built with EasyBuild version %s" % VERBOSE_VERSION)]
12081209

12091210
# add extra stuff for extensions (if any)
1210-
if self.cfg['exts_list']:
1211+
if self.cfg.get_ref('exts_list'):
12111212
footer.append(self.make_module_extra_extensions())
12121213

12131214
# include modules footer if one is specified
@@ -1791,7 +1792,7 @@ def fetch_step(self, skip_checksums=False):
17911792
trace_msg(msg)
17921793

17931794
# fetch extensions
1794-
if self.cfg['exts_list']:
1795+
if self.cfg.get_ref('exts_list'):
17951796
self.exts = self.fetch_extension_sources(skip_checksums=skip_checksums)
17961797

17971798
# create parent dirs in install and modules path already
@@ -2063,7 +2064,7 @@ def extensions_step(self, fetch=False):
20632064
- find source for extensions, in 'extensions' (and 'packages' for legacy reasons)
20642065
- run extra_extensions
20652066
"""
2066-
if len(self.cfg['exts_list']) == 0:
2067+
if not self.cfg.get_ref('exts_list'):
20672068
self.log.debug("No extensions in exts_list")
20682069
return
20692070

easybuild/framework/extension.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -127,14 +127,14 @@ def __init__(self, mself, ext, extra_params=None):
127127
# make sure they are merged into self.cfg so they can be queried;
128128
# unknown easyconfig parameters are ignored since self.options may include keys only there for extensions;
129129
# this allows to specify custom easyconfig parameters on a per-extension basis
130-
for key in self.options:
130+
for key, value in self.options.items():
131131
if key in self.cfg:
132-
self.cfg[key] = resolve_template(self.options[key], self.cfg.template_values)
132+
self.cfg[key] = value
133133
self.log.debug("Customising known easyconfig parameter '%s' for extension %s/%s: %s",
134-
key, name, version, self.cfg[key])
134+
key, name, version, value)
135135
else:
136136
self.log.debug("Skipping unknown custom easyconfig parameter '%s' for extension %s/%s: %s",
137-
key, name, version, self.options[key])
137+
key, name, version, value)
138138

139139
self.sanity_check_fail_msgs = []
140140

easybuild/tools/module_generator.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -524,7 +524,8 @@ def _generate_extension_list(self):
524524
"""
525525
Generate a string with a comma-separated list of extensions.
526526
"""
527-
exts_list = self.app.cfg['exts_list']
527+
# We need only name and version, so don't resolve templates
528+
exts_list = self.app.cfg.get_ref('exts_list')
528529
extensions = ', '.join(sorted(['-'.join(ext[:2]) for ext in exts_list], key=str.lower))
529530

530531
return extensions

test/framework/tweak.py

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -471,8 +471,7 @@ def test_map_easyconfig_to_target_tc_hierarchy(self):
471471
update_build_specs={'version': new_version},
472472
update_dep_versions=False)
473473
tweaked_ec = process_easyconfig(tweaked_spec)[0]
474-
tweaked_dict = tweaked_ec['ec'].asdict()
475-
extensions = tweaked_dict['exts_list']
474+
extensions = tweaked_ec['ec']['exts_list']
476475
# check one extension with the same name exists and that the version has been updated
477476
hit_extension = 0
478477
for extension in extensions:

0 commit comments

Comments
 (0)