fun create()

in server/src/main/kotlin/com/jetbrains/teamcity/plugins/unrealengine/server/buildgraph/BuildGraphVirtualBuildCreator.kt [28:56]


    fun create(
        name: String,
        configureSettings: BuildTypeSettings.() -> Unit,
    ): BuildPromotionEx {
        val buildCreator = buildGeneratorFactory.create(context.originalBuild)

        val virtualBuildTypeSettings =
            VirtualBuildTypeSettings(
                context.originalBuild.generateIdForVirtualBuild(name).toExternalId(),
                name,
            ).setParameters(
                context.originalBuild.parameters.map { SimpleParameter(it.key, it.value) },
            )

        val build =
            buildCreator
                .getOrCreate(virtualBuildTypeSettings) { buildConfiguration, _ ->
                    buildConfiguration.checkoutDirectory = context.originalBuild.checkoutDirectory
                    buildConfiguration.checkoutType = context.originalBuild.buildSettings.checkoutType
                    configureSettings(buildConfiguration)
                    val changed = true
                    changed
                }.asBuildPromotionEx()

        build.setRevisionsFrom(context.originalBuild)
        build.markAsGeneratedBy(context.originalBuild)

        return build
    }