override suspend fun modifyAppHost()

in rider/src/main/kotlin/com/jetbrains/aspire/rider/orchestration/MauiProjectOrchestrationHandler.kt [33:63]


    override suspend fun modifyAppHost(
        appHostEntity: ProjectModelEntity,
        projectEntities: List<ProjectModelEntity>,
        project: Project
    ): List<String> {
        installMauiHostingPackage(appHostEntity, project)

        val appHostProjectPath = appHostEntity.url?.toPath()
        if (appHostProjectPath == null) {
            LOG.warn("Unable to find AppHost project path. Skipping Maui nuget installation")
            return emptyList()
        }
        val projectPaths = projectEntities.mapNotNull { it.url?.toPath() }

        return buildList {
            for (projectPath in projectPaths.sorted()) {
                val projectName = projectPath.nameWithoutExtension
                val projectResourceName = projectName.replace('.', '-').lowercase()
                val relativeProjectPath = projectPath.relativeTo(appHostProjectPath.parent)

                val line = buildString {
                    append("builder.AddMauiProject(\"")
                    append(projectResourceName)
                    append("\", @\"")
                    append(relativeProjectPath)
                    append("\");")
                }
                add(line)
            }
        }
    }