Ejemplo n.º 1
0
        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);
        }
Ejemplo n.º 2
0
        // To enable unit testing
        public virtual PlatformVersionInfo GetVersionInfo()
        {
            var installedVersions = VersionProviderHelper.GetVersionsFromDirectory(
                PythonConstants.InstalledPythonVersionsDir);

            return(PlatformVersionInfo.CreateOnDiskVersionInfo(installedVersions, DefaultOnDiskVersion));
        }
Ejemplo n.º 3
0
        // 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));
        }
Ejemplo n.º 4
0
        // 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));
        }
Ejemplo n.º 5
0
        // To enable unit testing
        public virtual PlatformVersionInfo GetVersionInfo()
        {
            var installedVersions = VersionProviderHelper.GetVersionsFromDirectory(
                NodeConstants.InstalledNodeVersionsDir);

            return(PlatformVersionInfo.CreateOnDiskVersionInfo(
                       installedVersions,
                       NodeConstants.NodeLtsVersion));
        }
Ejemplo n.º 6
0
        // To enable unit testing
        public virtual PlatformVersionInfo GetVersionInfo()
        {
            // we expect Golang to only be installed using dynamic installation
            this.logger.LogDebug("Getting list of versions from {installDir}", GolangConstants.DynamicInstalledGolangVersionsDir);

            var installedVersions = VersionProviderHelper.GetMajorMinorVersionsFromDirectory(
                GolangConstants.DynamicInstalledGolangVersionsDir);

            return(PlatformVersionInfo.CreateOnDiskVersionInfo(installedVersions, GolangConstants.GolangDefaultVersion));
        }
Ejemplo n.º 7
0
        public PlatformVersionInfo GetVersionInfo()
        {
            if (_versionInfo == null)
            {
                var installedVersions = VersionProviderHelper.GetVersionsFromDirectory(
                    PhpConstants.InstalledPhpVersionsDir);
                _versionInfo = PlatformVersionInfo.CreateOnDiskVersionInfo(
                    installedVersions,
                    PhpConstants.DefaultPhpRuntimeVersion);
            }

            return(_versionInfo);
        }
Ejemplo n.º 8
0
        // 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);
        }
Ejemplo n.º 9
0
        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);
        }
Ejemplo n.º 10
0
        public void GetMajorMinorVersionsFromDirectory_IgnoresMalformedVersionStrings()
        {
            // Arrange
            var expectedVersion = "1.16";

            CreateSubDirectory(expectedVersion);
            CreateSubDirectory("2.0b");  // Invalid Major.Minor version
            CreateSubDirectory("1.2.3"); // Invalid Major.Minor version

            // Act
            var versions = VersionProviderHelper.GetMajorMinorVersionsFromDirectory(_tempDirRoot);

            // Assert
            Assert.Single(versions, expectedVersion);
        }