in server/src/main/kotlin/com/jetbrains/teamcity/plugins/unrealengine/server/discovery/UnrealEngineRunnerDiscoverer.kt [24:54]
override fun discoverRunnersInDirectory(
dir: Element,
filesAndDirs: MutableList<Element>,
): MutableList<DiscoveredObject> {
val unrealProjects =
unrealProjectDiscoverers
.flatMap {
it
.runCatching { discover(dir) }
.getOrElse { error ->
logger.error(
"""
An error occurred during unreal engine project discovery.
Discoverer: ${it.javaClass.canonicalName} Error: $error
""".trimIndent(),
)
emptyList()
}
}.distinct()
logger.debug("Number of found unreal engine projects in ${dir.fullName}: ${unrealProjects.size}")
val discovered =
unrealProjects
.map { DiscoveredObject(UnrealEngineRunner.RUN_TYPE, defaultRunnerParameters + it.toDiscoveredProperties()) }
.distinctBy { it.parameters }
logger.debug("Total number of discovered runners to suggest: ${discovered.size}")
return discovered.toMutableList()
}