in plugin-dotnet-server/src/main/kotlin/jetbrains/buildServer/dotnet/fetchers/DotnetTargetsFetcher.kt [24:58]
fun getValues(streamFactory: StreamFactory, paths: Sequence<String>): Sequence<String> {
val projects = _solutionDiscover
.discover(streamFactory, paths)
.asSequence()
.flatMap { it.projects.asSequence() }
.toList()
val projectTypes = projects
.flatMap { _projectTypeSelector.select(it) }
.toSet()
var discoveredTargets = projects
.flatMap { it.targets }
.map { it.name }
.filter { it.isNotBlank() }
.map { if(it.contains(' ')) "\"$it\"" else it }
val targets = mutableListOf<String>()
if (projectTypes.contains(ProjectType.Test)) {
targets.addAll(TestTargets)
discoveredTargets = exclude(discoveredTargets, TestTargets)
}
if (projectTypes.contains(ProjectType.Publish)) {
targets.addAll(PublishTargets)
discoveredTargets = exclude(discoveredTargets, PublishTargets)
}
return InitialDefaultTargets
.asSequence()
.plus(discoveredTargets)
.plus(targets)
.plus(FinishDefaultTargets)
.distinctBy { it.lowercase() }
}