public Dictionary <string, string> GetSupportedVersions() { var versionMap = new Dictionary <string, string>(); _logger.LogDebug( "Getting list of supported runtime and their sdk versions from {installationDir}", DotNetCoreConstants.DefaultDotNetCoreRuntimeVersionsInstallDir); var installedRuntimeVersions = VersionProviderHelper.GetVersionsFromDirectory( DotNetCoreConstants.DefaultDotNetCoreRuntimeVersionsInstallDir); foreach (var runtimeVersion in installedRuntimeVersions) { var runtimeDir = Path.Combine( DotNetCoreConstants.DefaultDotNetCoreRuntimeVersionsInstallDir, runtimeVersion); var sdkVersionFile = Path.Combine(runtimeDir, "sdkVersion.txt"); if (!File.Exists(sdkVersionFile)) { throw new InvalidOperationException($"Could not find file '{sdkVersionFile}'."); } var sdkVersion = File.ReadAllText(sdkVersionFile); if (string.IsNullOrEmpty(sdkVersion)) { throw new InvalidOperationException("Sdk version cannot be empty."); } versionMap[runtimeVersion] = sdkVersion.Trim(); } return(versionMap); }
// To enable unit testing public virtual PlatformVersionInfo GetVersionInfo() { var installedVersions = VersionProviderHelper.GetVersionsFromDirectory( PythonConstants.InstalledPythonVersionsDir); return(PlatformVersionInfo.CreateOnDiskVersionInfo(installedVersions, DefaultOnDiskVersion)); }
// To enable unit testing public virtual PlatformVersionInfo GetVersionInfo() { this.logger.LogDebug("Getting list of versions from {installDir}", PhpConstants.InstalledPhpVersionsDir); var installedVersions = VersionProviderHelper.GetVersionsFromDirectory( PhpConstants.InstalledPhpVersionsDir); return(PlatformVersionInfo.CreateOnDiskVersionInfo(installedVersions, DefaultOnDiskVersion)); }
// To enable unit testing public virtual PlatformVersionInfo GetVersionInfo() { _logger.LogDebug("Getting list of versions from {installDir}", RubyConstants.InstalledRubyVersionsDir); var installedVersions = VersionProviderHelper.GetVersionsFromDirectory( RubyConstants.InstalledRubyVersionsDir); return(PlatformVersionInfo.CreateOnDiskVersionInfo(installedVersions, RubyConstants.RubyLtsVersion)); }
// To enable unit testing public virtual PlatformVersionInfo GetVersionInfo() { var installedVersions = VersionProviderHelper.GetVersionsFromDirectory( NodeConstants.InstalledNodeVersionsDir); return(PlatformVersionInfo.CreateOnDiskVersionInfo( installedVersions, NodeConstants.NodeLtsVersion)); }
public PlatformVersionInfo GetVersionInfo() { if (_versionInfo == null) { var installedVersions = VersionProviderHelper.GetVersionsFromDirectory( PhpConstants.InstalledPhpVersionsDir); _versionInfo = PlatformVersionInfo.CreateOnDiskVersionInfo( installedVersions, PhpConstants.DefaultPhpRuntimeVersion); } return(_versionInfo); }
// To enable unit testing public virtual PlatformVersionInfo GetVersionInfo() { if (_platformVersionInfo == null) { var installedVersions = VersionProviderHelper.GetVersionsFromDirectory( PythonConstants.InstalledPythonVersionsDir); _platformVersionInfo = PlatformVersionInfo.CreateOnDiskVersionInfo( installedVersions, _options.PythonDefaultVersion); } return(_platformVersionInfo); }
public void GetVersionsFromDirectory_IgnoresMalformedVersionStrings() { // Arrange var expectedVersion = "1.0.0"; CreateSubDirectory(expectedVersion); CreateSubDirectory("2.0b"); // Invalid SemVer string // Act var versions = VersionProviderHelper.GetVersionsFromDirectory(_tempDirRoot); // Assert Assert.Single(versions, expectedVersion); }