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