dotnet-installer/src/core-sdk-tasks/GenerateDefaultRuntimeFrameworkVersion.cs

39 lines
1.1 KiB
C#

// 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;
using Microsoft.Build.Utilities;
using NuGet.Versioning;
namespace Microsoft.DotNet.Cli.Build
{
public class GenerateDefaultRuntimeFrameworkVersion : Task
{
[Required]
public string RuntimePackVersion { get; set; }
[Output]
public string DefaultRuntimeFrameworkVersion { get; set; }
public override bool Execute()
{
if (NuGetVersion.TryParse(RuntimePackVersion, out var version))
{
if (version.IsPrerelease && version.Patch == 0)
{
DefaultRuntimeFrameworkVersion = RuntimePackVersion;
}
else
{
DefaultRuntimeFrameworkVersion = new NuGetVersion(version.Major, version.Minor, 0).ToFullString();
}
return true;
}
else
{
return false;
}
}
}
}