in agent/src/main/kotlin/com/jetbrains/teamcity/plugins/unrealengine/agent/UnrealEngineProvider.kt [32:48]
suspend fun findEngine(runnerParameters: Map<String, String>): UnrealEngine {
val mode = recover({ parseDetectionMode(runnerParameters) }) { raise(it.message) }
val rootPath =
when (mode) {
is EngineDetectionMode.Automatic -> {
findAmongAgentInstalledEngines(mode.identifier)
}
is EngineDetectionMode.Manual -> {
UnrealEngineRootPath(context.resolveUserPath(mode.engineRootPath.value))
}
}
val engineVersion = engineVersionDetector.detect(rootPath)
return UnrealEngine(rootPath, engineVersion)
}