2016-07-15 15:31:50 +00: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-28 02:09:30 +00:00
|
|
|
|
using Microsoft.Build.Utilities;
|
2017-03-01 21:12:16 +00:00
|
|
|
|
using Microsoft.DotNet.Cli.Build.Framework;
|
2016-08-08 22:35:25 +00:00
|
|
|
|
using Microsoft.DotNet.PlatformAbstractions;
|
2016-06-28 02:09:30 +00: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 20:07:54 +00:00
|
|
|
|
[Output]
|
|
|
|
|
public string OSPlatform { get; set; }
|
|
|
|
|
|
2016-06-28 02:09:30 +00:00
|
|
|
|
public override bool Execute()
|
|
|
|
|
{
|
2017-02-10 20:13:44 +00:00
|
|
|
|
Rid = RuntimeEnvironment.GetRuntimeIdentifier();
|
2017-03-01 21:12:16 +00:00
|
|
|
|
OSName = GetOSShortName();
|
2017-03-24 20:07:54 +00:00
|
|
|
|
OSPlatform = RuntimeEnvironment.OperatingSystemPlatform.ToString().ToLower();
|
2016-06-28 02:09:30 +00:00
|
|
|
|
|
|
|
|
|
return true;
|
|
|
|
|
}
|
2017-03-01 21:12:16 +00: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-28 02:09:30 +00:00
|
|
|
|
}
|
2017-03-03 04:35:20 +00:00
|
|
|
|
}
|