override fun discoverRunnersInDirectory()

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()
    }