40 lines
1.1 KiB
C#
40 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;
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
}
|