in plugin-dotnet-agent/src/main/kotlin/jetbrains/buildServer/visualStudio/VisualStudioRegistryProvider.kt [37:68]
override fun visit(value: WindowsRegistryValue): Boolean {
val parts = value.key.parts.takeLast(2)
if (
value.type == WindowsRegistryValueType.Str
&& value.text.isNotBlank()
&& "InstallDir".equals(parts[1], true)) {
if ("QualityTools".equals(parts[0], true)) {
_visualStudioTestConsoleInstanceFactory.tryCreate(File(value.text), Version.Empty, Platform.Default)?.let {
LOG.debug("Found $it")
instances.add(it)
}
_msTestConsoleInstanceFactory.tryCreate(File(value.text), Version.Empty, Platform.Default)?.let {
LOG.debug("Found $it")
instances.add(it)
}
}
else {
var baseVersion = Version.parse(parts[0])
if (baseVersion == Version.Empty || baseVersion.digits < 2
) {
LOG.debug("Cannot parse version from ${parts[0]}")
} else {
_visualStudioInstanceFactory.tryCreate(File(value.text), baseVersion, Platform.Default)?.let {
LOG.debug("Found $it")
instances.add(it)
}
}
}
}
return true
}