override fun tryCreate()

in plugin-dotnet-agent/src/main/kotlin/jetbrains/buildServer/dotnet/discovery/mstest/MSTestConsoleInstanceFactory.kt [20:41]


    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 mstestFile = File(path, "MSTest.exe")
            if (!_fileSystemService.isExists(mstestFile) || !_fileSystemService.isFile(mstestFile)) {
                LOG.debug("Cannot find \"$mstestFile\".")
                return null
            }
            else {
                var detailedVersion = _peReader.tryGetVersion(mstestFile)
                if (detailedVersion == Version.Empty) {
                    LOG.warn("Cannot get a product version from \"$mstestFile\".")
                    return null
                }

                return ToolInstance(ToolInstanceType.MSTest, mstestFile, detailedVersion, Version(detailedVersion.major, detailedVersion.minor), platform)
            }
        }
    }