diff --git a/tooling/src/commonMain/kotlin/lang/temper/tooling/buildrun/Build.kt b/tooling/src/commonMain/kotlin/lang/temper/tooling/buildrun/Build.kt index 0abd5ad..0e4e54c 100644 --- a/tooling/src/commonMain/kotlin/lang/temper/tooling/buildrun/Build.kt +++ b/tooling/src/commonMain/kotlin/lang/temper/tooling/buildrun/Build.kt @@ -115,14 +115,7 @@ fun prepareBuild( return null } - val pluggedInConfig = moduleConfig.copy( - moduleCustomizeHook = { module, isNew -> - moduleConfig.moduleCustomizeHook.customize(module, isNew) - for (backendId in supportedBackends) { - module.addEnvironmentBindings(lookupFactory(backendId)!!.environmentBindings) - } - }, - ) + val pluggedInConfig = plugInBackendConfigs(moduleConfig) return Build( harness = h, requiredExt = requiredExt, @@ -131,6 +124,19 @@ fun prepareBuild( ) } +/** Applies environment bindings for [backends]. */ +fun plugInBackendConfigs( + moduleConfig: ModuleConfig, + backends: List = supportedBackends, +): ModuleConfig = ModuleConfig( + moduleCustomizeHook = { module, isNew -> + moduleConfig.moduleCustomizeHook.customize(module, isNew) + for (backendId in backends) { + module.addEnvironmentBindings(lookupFactory(backendId)!!.environmentBindings) + } + }, +) + /** [Prepare][prepareBuild]s and executes a build, closing the harness afterward. */ fun doBuild( executorService: ExecutorService, diff --git a/tooling/src/commonMain/kotlin/lang/temper/tooling/buildrun/Watcher.kt b/tooling/src/commonMain/kotlin/lang/temper/tooling/buildrun/Watcher.kt index 2138c46..cdecdc5 100644 --- a/tooling/src/commonMain/kotlin/lang/temper/tooling/buildrun/Watcher.kt +++ b/tooling/src/commonMain/kotlin/lang/temper/tooling/buildrun/Watcher.kt @@ -229,7 +229,7 @@ class Watcher( previouslyCompiled = lastBuild?.partitionedModules?.flatMap { it.second } ?: emptyList(), runTask = runTask, - moduleConfig = moduleConfig, + moduleConfig = plugInBackendConfigs(moduleConfig), cancelGroup = cancelGroup, beforeStartTranslation = outputDirectoriesFree, includeSnapshot = includeSnapshot,