diff --git a/scripts/dotnet-cli-build/CompileTargets.cs b/scripts/dotnet-cli-build/CompileTargets.cs index 49c6c9463..f63e73b2d 100644 --- a/scripts/dotnet-cli-build/CompileTargets.cs +++ b/scripts/dotnet-cli-build/CompileTargets.cs @@ -612,8 +612,10 @@ namespace Microsoft.DotNet.Cli.Build { var configuration = c.BuildContext.Get("Configuration"); var buildVersion = c.BuildContext.Get("BuildVersion"); + var srcDir = Path.Combine(c.BuildContext.BuildDirectory, "src"); outputDir = Path.Combine(outputDir, "sdk", buildVersion.NuGetVersion); + FS.CleanBinObj(c, srcDir); Rmdir(outputDir); Mkdirp(outputDir); @@ -621,12 +623,10 @@ namespace Microsoft.DotNet.Cli.Build { dotnet.Publish( "--native-subdirectory", - "--output", - outputDir, - "--configuration", - configuration, - Path.Combine(c.BuildContext.BuildDirectory, "src", project)) - .Environment("DOTNET_BUILD_VERSION", buildVersion.VersionSuffix) + "--output", outputDir, + "--configuration", configuration, + "--version-suffix", buildVersion.CommitCountString, + Path.Combine(srcDir, project)) .Execute() .EnsureSuccessful(); } diff --git a/test/dotnet.Tests/VersionTest.cs b/test/dotnet.Tests/VersionTest.cs new file mode 100644 index 000000000..c6b618f6f --- /dev/null +++ b/test/dotnet.Tests/VersionTest.cs @@ -0,0 +1,30 @@ +// 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 System; +using System.IO; +using System.Collections.Generic; +using System.Text.RegularExpressions; +using Microsoft.DotNet.Cli.Utils; +using Microsoft.DotNet.Cli; +using Microsoft.DotNet.Tools.Test.Utilities; +using Xunit; +using FluentAssertions; + +namespace Microsoft.DotNet.Tests +{ + public class GivenDotnetSdk : TestBase + { + [Fact] + public void VersionCommandDisplaysCorrectVersion() + { + CommandResult result = new DotnetCommand() + .ExecuteWithCapturedOutput("--version"); + + result.Should().Pass(); + Regex.IsMatch(result.StdOut.Trim(), @"[0-9]{1}\.[0-9]{1}\.[0-9]{1}-[a-zA-Z0-9]+-[0-9]{6}$").Should() + .BeTrue($"Unexpected dotnet sdk version - {result.StdOut}"); + + } + } +}