@@ -1259,9 +1259,6 @@ def make_devel_module(self, create_in_builddir=False):
12591259
12601260 self .log .info ("Making devel module..." )
12611261
1262- # load fake module
1263- fake_mod_data = self .load_fake_module (purge = True )
1264-
12651262 header = self .module_generator .MODULE_SHEBANG
12661263 if header :
12671264 header += '\n '
@@ -1305,9 +1302,6 @@ def make_devel_module(self, create_in_builddir=False):
13051302 txt = '' .join ([header ] + load_lines + env_lines )
13061303 write_file (filename , txt )
13071304
1308- # cleanup: unload fake module, remove fake module dir
1309- self .clean_up_fake_module (fake_mod_data )
1310-
13111305 def make_module_deppaths (self ):
13121306 """
13131307 Add specific 'module use' actions to module file, in order to find
@@ -2106,8 +2100,8 @@ def install_extensions_sequential(self, install=True):
21062100 rpath_filter_dirs = self .rpath_filter_dirs )
21072101
21082102 # actual installation of the extension
2109- if install :
2110- with self .fake_module_environment ():
2103+ if install and not self . dry_run :
2104+ with self .fake_module_environment (with_build_deps = True ):
21112105 try :
21122106 ext .install_extension_substep ("pre_install_extension" )
21132107 with self .module_generator .start_module_creation ():
@@ -2116,12 +2110,11 @@ def install_extensions_sequential(self, install=True):
21162110 self .module_extra_extensions += txt
21172111 ext .install_extension_substep ("post_install_extension" )
21182112 finally :
2119- if not self .dry_run :
2120- ext_duration = datetime .now () - start_time
2121- if ext_duration .total_seconds () >= 1 :
2122- print_msg ("\t ... (took %s)" , time2str (ext_duration ), log = self .log , silent = self .silent )
2123- elif self .logdebug or build_option ('trace' ):
2124- print_msg ("\t ... (took < 1 sec)" , log = self .log , silent = self .silent )
2113+ ext_duration = datetime .now () - start_time
2114+ if ext_duration .total_seconds () >= 1 :
2115+ print_msg ("\t ... (took %s)" , time2str (ext_duration ), log = self .log , silent = self .silent )
2116+ elif self .logdebug or build_option ('trace' ):
2117+ print_msg ("\t ... (took < 1 sec)" , log = self .log , silent = self .silent )
21252118
21262119 self .update_exts_progress_bar (progress_info , progress_size = 1 )
21272120
@@ -2267,8 +2260,8 @@ def update_exts_progress_bar_helper(running_exts, progress_size):
22672260 # the (fake) module for the parent software gets loaded before installing extensions
22682261 ext .toolchain .prepare (onlymod = self .cfg ['onlytcmod' ], silent = True , loadmod = False ,
22692262 rpath_filter_dirs = self .rpath_filter_dirs )
2270- if install :
2271- with self .fake_module_environment ():
2263+ if install and not self . dry_run :
2264+ with self .fake_module_environment (with_build_deps = True ):
22722265 ext .install_extension_substep ("pre_install_extension" )
22732266 ext .async_cmd_task = ext .install_extension_substep ("install_extension_async" , thread_pool )
22742267 running_exts .append (ext )
@@ -2297,16 +2290,17 @@ def start_dir(self):
22972290 return self .cfg ['start_dir' ]
22982291
22992292 @contextmanager
2300- def fake_module_environment (self ):
2293+ def fake_module_environment (self , extra_modules = None , with_build_deps = False ):
23012294 """
23022295 Load/Unload fake module
23032296 """
2304- # load fake module
23052297 fake_mod_data = None
2306- if not self .dry_run :
2298+
2299+ if with_build_deps :
23072300 # load modules for build dependencies as extra modules
2308- build_dep_mods = [dep ['short_mod_name' ] for dep in self .cfg .dependencies (build_only = True )]
2309- fake_mod_data = self .load_fake_module (purge = True , extra_modules = build_dep_mods )
2301+ extra_modules = [dep ['short_mod_name' ] for dep in self .cfg .dependencies (build_only = True )]
2302+
2303+ fake_mod_data = self .load_fake_module (purge = True , extra_modules = extra_modules )
23102304
23112305 yield
23122306
@@ -4080,13 +4074,14 @@ def make_module_step(self, fake=False):
40804074 self .module_generator .create_symlinks (mod_symlink_paths , fake = fake )
40814075
40824076 if ActiveMNS ().mns .det_make_devel_module () and not fake and build_option ('generate_devel_module' ):
4083- try :
4084- self .make_devel_module ()
4085- except EasyBuildError as error :
4086- if build_option ('module_only' ) or self .cfg ['module_only' ]:
4087- self .log .info ("Using --module-only so can recover from error: %s" , error )
4088- else :
4089- raise error
4077+ with self .fake_module_environment ():
4078+ try :
4079+ self .make_devel_module ()
4080+ except EasyBuildError as error :
4081+ if build_option ('module_only' ) or self .cfg ['module_only' ]:
4082+ self .log .info ("Using --module-only so can recover from error: %s" , error )
4083+ else :
4084+ raise error
40904085 else :
40914086 self .log .info ("Skipping devel module..." )
40924087
0 commit comments