2016-07-15 08:31:50 -07:00
|
|
|
|
// Copyright (c) .NET Foundation and contributors. All rights reserved.
|
|
|
|
|
// Licensed under the MIT license. See LICENSE file in the project root for full license information.
|
|
|
|
|
|
|
|
|
|
using Microsoft.Build.Framework;
|
2016-06-27 21:09:30 -05:00
|
|
|
|
using Microsoft.Build.Utilities;
|
2017-03-01 15:12:16 -06:00
|
|
|
|
using Microsoft.DotNet.Cli.Build.Framework;
|
2016-08-08 15:35:25 -07:00
|
|
|
|
using Microsoft.DotNet.PlatformAbstractions;
|
2016-06-27 21:09:30 -05:00
|
|
|
|
|
|
|
|
|
namespace Microsoft.DotNet.Cli.Build
|
|
|
|
|
{
|
|
|
|
|
public class GetCurrentRuntimeInformation : Task
|
|
|
|
|
{
|
|
|
|
|
[Output]
|
|
|
|
|
public string Rid { get; set; }
|
|
|
|
|
|
|
|
|
|
[Output]
|
|
|
|
|
public string OSName { get; set; }
|
|
|
|
|
|
2017-03-24 15:07:54 -05:00
|
|
|
|
[Output]
|
|
|
|
|
public string OSPlatform { get; set; }
|
|
|
|
|
|
2016-06-27 21:09:30 -05:00
|
|
|
|
public override bool Execute()
|
|
|
|
|
{
|
2017-02-10 12:13:44 -08:00
|
|
|
|
Rid = RuntimeEnvironment.GetRuntimeIdentifier();
|
2017-03-01 15:12:16 -06:00
|
|
|
|
OSName = GetOSShortName();
|
2017-03-24 15:07:54 -05:00
|
|
|
|
OSPlatform = RuntimeEnvironment.OperatingSystemPlatform.ToString().ToLower();
|
2016-06-27 21:09:30 -05:00
|
|
|
|
|
|
|
|
|
return true;
|
|
|
|
|
}
|
2017-03-01 15:12:16 -06:00
|
|
|
|
|
|
|
|
|
private static string GetOSShortName()
|
|
|
|
|
{
|
|
|
|
|
string osname = "";
|
|
|
|
|
switch (CurrentPlatform.Current)
|
|
|
|
|
{
|
|
|
|
|
case BuildPlatform.Windows:
|
|
|
|
|
osname = "win";
|
|
|
|
|
break;
|
|
|
|
|
default:
|
|
|
|
|
osname = CurrentPlatform.Current.ToString().ToLower();
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return osname;
|
|
|
|
|
}
|
2016-06-27 21:09:30 -05:00
|
|
|
|
}
|
2017-03-02 20:35:20 -08:00
|
|
|
|
}
|