in rider/src/main/kotlin/com/jetbrains/aspire/rider/run/AspireRunConfigurationManager.kt [42:80]
fun executeConfigurationForHost(appHost: AspireAppHost, underDebug: Boolean) {
val executor =
if (underDebug) DefaultDebugExecutor.getDebugExecutorInstance()
else DefaultRunExecutor.getRunExecutorInstance()
val runManager = RunManager.getInstance(project)
val selected = runManager.selectedConfiguration
val selectedConfiguration = selected?.configuration
if (selectedConfiguration != null && selectedConfiguration is AspireRunConfiguration) {
if (appHost.mainFilePath == Path(selectedConfiguration.parameters.mainFilePath)) {
ProgramRunnerUtil.executeConfiguration(selected, executor)
return
}
}
val configurations = runManager.getConfigurationSettingsList(AspireConfigurationType::class.java)
.filter {
val configuration = it.configuration
if (configuration !is AspireRunConfiguration) return@filter false
Path(configuration.parameters.mainFilePath) == appHost.mainFilePath
}
if (configurations.isEmpty()) {
LOG.warn("Unable to find any Aspire run configurations with the given host path")
return
}
val configurationName = configurationNames[appHost.mainFilePath]
if (configurationName != null) {
val configurationWithName = configurations.firstOrNull { it.name == configurationName }
if (configurationWithName != null) {
ProgramRunnerUtil.executeConfiguration(configurationWithName, executor)
return
}
}
val firstConfiguration = configurations.first()
ProgramRunnerUtil.executeConfiguration(firstConfiguration, executor)
}