Merge pull request #5905 from piotrpMSFT/piotrpMSFT/infra/TasklessGitInfo

Remove task usage in commitcount & hash calculation
This commit is contained in:
Livar 2017-03-02 21:44:25 -08:00 committed by GitHub
commit a47cce6150
4 changed files with 9 additions and 99 deletions

View file

@ -1,13 +1,14 @@
<Project ToolsVersion="15.0">
<Target Name="WriteGitCommitInfoProps"
DependsOnTargets="BuildDotnetCliBuildFramework">
<GetCommitCount>
<Output TaskParameter="CommitCount" PropertyName="GitInfoCommitCount" />
</GetCommitCount>
<Target Name="WriteGitCommitInfoProps">
<Exec Command="git rev-list --count HEAD"
ConsoleToMSBuild="true">
<Output TaskParameter="ConsoleOutput" PropertyName="GitInfoCommitCount" />
</Exec>
<GetCommitHash>
<Output TaskParameter="CommitHash" PropertyName="GitInfoCommitHash" />
</GetCommitHash>
<Exec Command="git rev-parse HEAD"
ConsoleToMSBuild="true">
<Output TaskParameter="ConsoleOutput" PropertyName="GitInfoCommitHash" />
</Exec>
<PropertyGroup>
<ShouldOverWriteThePropsFile

View file

@ -21,8 +21,6 @@
<UsingTask TaskName="GenerateGuidFromName" AssemblyFile="$(CLIBuildDll)" />
<UsingTask TaskName="GenerateMsiVersion" AssemblyFile="$(CLIBuildDll)" />
<UsingTask TaskName="GenerateNuGetPackagesArchiveVersion" AssemblyFile="$(CLIBuildDll)" />
<UsingTask TaskName="GetCommitCount" AssemblyFile="$(CLIBuildDll)" />
<UsingTask TaskName="GetCommitHash" AssemblyFile="$(CLIBuildDll)" />
<UsingTask TaskName="GetCurrentRuntimeInformation" AssemblyFile="$(CLIBuildDll)" />
<UsingTask TaskName="MakeRelative" AssemblyFile="$(CLIBuildDll)" />
<UsingTask TaskName="RemoveAssetFromDepsPackages" AssemblyFile="$(CLIBuildDll)" />

View file

@ -1,47 +0,0 @@
// 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 System.Runtime.InteropServices;
namespace Microsoft.DotNet.Cli.Build
{
public class GetCommitCount : ToolTask
{
[Output]
public string CommitCount { get; set; }
protected override string ToolName
{
get { return "git"; }
}
protected override MessageImportance StandardOutputLoggingImportance
{
get { return MessageImportance.High; } // or else the output doesn't get logged by default
}
protected override string GenerateFullPathToTool()
{
// Workaround: https://github.com/Microsoft/msbuild/issues/1215
// There's a "git" folder on the PATH in VS 2017 Developer command prompt and it causes msbuild to fail to execute git.
return RuntimeInformation.IsOSPlatform(OSPlatform.Windows) ? "git.exe" : "git";
}
protected override string GenerateCommandLineCommands()
{
return $"rev-list --count HEAD";
}
protected override void LogEventsFromTextOutput(string line, MessageImportance importance)
{
var buildVersion = new BuildVersion()
{
CommitCount = int.Parse(line)
};
CommitCount = buildVersion.CommitCountString;
}
}
}

View file

@ -1,42 +0,0 @@
// 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 System.Runtime.InteropServices;
namespace Microsoft.DotNet.Cli.Build
{
public class GetCommitHash : ToolTask
{
[Output]
public string CommitHash { get; set; }
protected override string ToolName
{
get { return "git"; }
}
protected override MessageImportance StandardOutputLoggingImportance
{
get { return MessageImportance.High; } // or else the output doesn't get logged by default
}
protected override string GenerateFullPathToTool()
{
// Workaround: https://github.com/Microsoft/msbuild/issues/1215
// There's a "git" folder on the PATH in VS 2017 Developer command prompt and it causes msbuild to fail to execute git.
return RuntimeInformation.IsOSPlatform(OSPlatform.Windows) ? "git.exe" : "git";
}
protected override string GenerateCommandLineCommands()
{
return $"rev-parse HEAD";
}
protected override void LogEventsFromTextOutput(string line, MessageImportance importance)
{
CommitHash = line;
}
}
}