in plugin-dotnet-agent/src/main/kotlin/jetbrains/buildServer/visualStudio/VisualStudioInstanceFactory.kt [20:52]
override fun tryCreate(path: File, baseVersion: Version, platform: Platform): ToolInstance? {
if (!_fileSystemService.isExists(path) || !_fileSystemService.isDirectory(path)) {
LOG.debug("Cannot find \"$path\".")
return null
}
else {
val devenvFile = File(path, "devenv.exe")
if (!_fileSystemService.isExists(devenvFile) || !_fileSystemService.isFile(devenvFile)) {
LOG.debug("Cannot find \"$devenvFile\".")
return null
}
else {
var curBaseVersion: Version
var detailedVersion = _peReader.tryGetVersion(devenvFile)
if (detailedVersion == Version.Empty) {
LOG.warn("Cannot get a product version from \"$devenvFile\".")
detailedVersion = baseVersion
}
curBaseVersion =
ProductLineVersionVersions.get(Version(baseVersion.major))
?: ProductLineVersionVersions.get(Version(detailedVersion.major))
?: Version.Empty
if (curBaseVersion == Version.Empty) {
LOG.warn("Cannot find a product line version for $baseVersion.")
return null
}
return ToolInstance(ToolInstanceType.VisualStudio, path, detailedVersion, curBaseVersion, platform)
}
}
}