dotnet-installer/src/Microsoft.DotNet.Cli.Utils/Env.cs

62 lines
1.8 KiB
C#
Raw Normal View History

using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Runtime.InteropServices;
using Microsoft.Extensions.PlatformAbstractions;
namespace Microsoft.DotNet.Cli.Utils
{
2016-01-05 23:48:50 -08:00
public static class Env
{
private static IEnvironmentProvider _environment = new EnvironmentProvider();
public static IEnumerable<string> ExecutableExtensions
{
get
{
return _environment.ExecutableExtensions;
}
}
public static string GetCommandPath(string commandName, params string[] extensions)
{
return _environment.GetCommandPath(commandName, extensions);
}
public static string GetCommandPathFromRootPath(string rootPath, string commandName, params string[] extensions)
{
return _environment.GetCommandPathFromRootPath(rootPath, commandName, extensions);
}
public static string GetCommandPathFromRootPath(string rootPath, string commandName, IEnumerable<string> extensions)
{
return _environment.GetCommandPathFromRootPath(rootPath, commandName, extensions);
}
2016-03-25 13:15:36 -07:00
public static bool GetBool(string name, bool defaultValue = false)
{
var str = Environment.GetEnvironmentVariable(name);
if (string.IsNullOrEmpty(str))
{
return defaultValue;
}
switch (str.ToLowerInvariant())
{
case "true":
case "1":
case "yes":
return true;
case "false":
case "0":
case "no":
return false;
default:
return defaultValue;
}
}
}
}