in plugin-dotnet-agent/src/main/kotlin/jetbrains/buildServer/inspect/XmlPluginsSpecificationProvider.kt [18:47]
override fun getPluginsSpecification(): String? {
val pluginXmlElements = _pluginDescriptorsProvider.getPluginDescriptors()
.mapNotNull {
if (PluginDescriptorType.SOURCE == it.type) {
val matchResult = PluginDescriptorType.SOURCE.regex.matchEntire(it.value)
if (matchResult != null) {
val sourceId = matchResult.groupValues[1]
val value = matchResult.groupValues[2]
val generator = _sourceIdToXmlElementGenerator[sourceId.lowercase()]
if (generator != null) {
return@mapNotNull generator.generateXmlElement(value)
}
}
}
logInvalidDescriptor(it)
return@mapNotNull null
}
val pluginsXmlElement = XmlElement("Packages", pluginXmlElements.asSequence())
if (!pluginsXmlElement.isEmpty) {
ByteArrayOutputStream().use {
_xmlWriter.write(pluginsXmlElement, it)
return it.toString(Charsets.UTF_8.name())
}
}
return null
}