Skip to content

Commit 89ad594

Browse files
committed
don't use [] as default value for mod_symlink_paths + avoid passing down 'fake' in ModuleGenerator.set_as_default
1 parent 6a07a0d commit 89ad594

File tree

2 files changed

+29
-22
lines changed

2 files changed

+29
-22
lines changed

easybuild/framework/easyblock.py

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2604,8 +2604,11 @@ def _set_module_as_default(self, fake=False):
26042604
dry_run_msg("Marked %s v%s as default version" % (self.name, version))
26052605
else:
26062606
mod_folderpath = os.path.dirname(self.module_generator.get_module_filepath(fake=fake))
2607-
mod_symlink_paths = ActiveMNS().det_module_symlink_paths(self.cfg)
2608-
self.module_generator.set_as_default(mod_folderpath, version, mod_symlink_paths, fake)
2607+
if fake:
2608+
mod_symlink_paths = []
2609+
else:
2610+
mod_symlink_paths = ActiveMNS().det_module_symlink_paths(self.cfg)
2611+
self.module_generator.set_as_default(mod_folderpath, version, mod_symlink_paths=mod_symlink_paths)
26092612

26102613
def cleanup_step(self):
26112614
"""

easybuild/tools/module_generator.py

Lines changed: 24 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -415,7 +415,7 @@ def set_alias(self, key, value):
415415
"""
416416
raise NotImplementedError
417417

418-
def set_as_default(self, module_folder_path, module_version, mod_symlink_paths=[], fake=False):
418+
def set_as_default(self, module_folder_path, module_version, mod_symlink_paths=None):
419419
"""
420420
Set generated module as default module
421421
@@ -873,7 +873,7 @@ def set_alias(self, key, value):
873873
# quotes are needed, to ensure smooth working of EBDEVEL* modulefiles
874874
return 'set-alias\t%s\t\t%s\n' % (key, quote_str(value, tcl=True))
875875

876-
def set_as_default(self, module_folder_path, module_version, mod_symlink_paths=[], fake=False):
876+
def set_as_default(self, module_folder_path, module_version, mod_symlink_paths=None):
877877
"""
878878
Create a .version file inside the package module folder in order to set the default version for TMod
879879
@@ -889,18 +889,20 @@ def set_as_default(self, module_folder_path, module_version, mod_symlink_paths=[
889889
write_file(dot_version_path, txt)
890890

891891
# create symlink to .version file in class module folders
892-
if not fake:
893-
for mod_symlink_path in mod_symlink_paths:
894-
module_name = os.path.basename(module_folder_path)
895-
class_module_folder = os.path.join(install_path('mod'), mod_symlink_path, module_name)
896-
dot_version_link_path = os.path.join(class_module_folder, '.version')
897-
if os.path.islink(dot_version_link_path):
898-
link_target = resolve_path(dot_version_link_path)
899-
remove_file(dot_version_link_path)
900-
self.log.info("Removed default version marking from %s.", link_target)
901-
elif os.path.exists(dot_version_link_path):
902-
raise EasyBuildError('Found an unexpected file named .version in dir %s' % class_module_folder)
903-
symlink(dot_version_path, dot_version_link_path, use_abspath_source=True)
892+
if mod_symlink_paths is None:
893+
mod_symlink_paths = []
894+
895+
for mod_symlink_path in mod_symlink_paths:
896+
module_name = os.path.basename(module_folder_path)
897+
class_module_folder = os.path.join(install_path('mod'), mod_symlink_path, module_name)
898+
dot_version_link_path = os.path.join(class_module_folder, '.version')
899+
if os.path.islink(dot_version_link_path):
900+
link_target = resolve_path(dot_version_link_path)
901+
remove_file(dot_version_link_path)
902+
self.log.info("Removed default version marking from %s.", link_target)
903+
elif os.path.exists(dot_version_link_path):
904+
raise EasyBuildError('Found an unexpected file named .version in dir %s' % class_module_folder)
905+
symlink(dot_version_path, dot_version_link_path, use_abspath_source=True)
904906

905907
def set_environment(self, key, value, relpath=False):
906908
"""
@@ -1294,7 +1296,7 @@ def set_alias(self, key, value):
12941296
# quotes are needed, to ensure smooth working of EBDEVEL* modulefiles
12951297
return 'set_alias("%s", %s)\n' % (key, quote_str(value))
12961298

1297-
def set_as_default(self, module_folder_path, module_version, mod_symlink_paths=[], fake=False):
1299+
def set_as_default(self, module_folder_path, module_version, mod_symlink_paths=None):
12981300
"""
12991301
Create a symlink named 'default' inside the package's module folder in order to set the default module version
13001302
@@ -1318,11 +1320,13 @@ def create_default_symlink(module_folder_path):
13181320
create_default_symlink(module_folder_path)
13191321

13201322
# also create symlinks in class module folders
1321-
if not fake:
1322-
for mod_symlink_path in mod_symlink_paths:
1323-
module_name = os.path.basename(module_folder_path)
1324-
module_folder_path = os.path.join(install_path('mod'), mod_symlink_path, module_name)
1325-
create_default_symlink(module_folder_path)
1323+
if mod_symlink_paths is None:
1324+
mod_symlink_paths = []
1325+
1326+
for mod_symlink_path in mod_symlink_paths:
1327+
module_name = os.path.basename(module_folder_path)
1328+
module_folder_path = os.path.join(install_path('mod'), mod_symlink_path, module_name)
1329+
create_default_symlink(module_folder_path)
13261330

13271331
def set_environment(self, key, value, relpath=False):
13281332
"""

0 commit comments

Comments
 (0)