in Frontend/src/main/kotlin/com/jetbrains/fortea/configuration/run/execution/T4ExecutorFactory.kt [21:46]
override suspend fun create(
executorId: String,
environment: ExecutionEnvironment,
lifetime: Lifetime,
): RunProfileState {
val dotNetExecutable = parameters.toDotNetExecutableSuspending(ProcessExecutionDetails.Default)
val runtimeToExecute = DotNetRuntime.detectRuntimeForExeOrThrow(
environment.project,
riderDotNetActiveRuntimeHost,
dotNetExecutable.exePath,
dotNetExecutable.runtimeType,
dotNetExecutable.projectTfm
)
val model = environment.project.solution.t4ProtocolModel
return when (executorId) {
DefaultRunExecutor.EXECUTOR_ID -> {
val wrappee = runtimeToExecute.createRunState(dotNetExecutable, environment)
T4RunProfileWrapperState(wrappee, model, parameters)
}
DefaultDebugExecutor.EXECUTOR_ID -> {
val wrappee = runtimeToExecute.createDebugState(dotNetExecutable, environment)
T4DebugProfileWrapperState(wrappee, model, parameters)
}
else -> throw CantRunException("Unsupported executor $executorId")
}
}