Skip to content
This repository was archived by the owner on Jun 19, 2024. It is now read-only.

Updates to get repo building #34

Open
wants to merge 55 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
55 commits
Select commit Hold shift + click to select a range
5f66615
Update NuGet.Build.Packaging reference and target main branches
Feb 12, 2022
b43df0f
Define PR & CI triggers
Feb 12, 2022
6864834
Use single package feed
Feb 12, 2022
7c744f0
Xamarin.SampleVsix: Single nuget feed
Feb 12, 2022
e21ae39
Authenticate Nuget feeds
Feb 12, 2022
85ae6b6
Create build job
Feb 12, 2022
478dd99
Remove whitespace
Feb 12, 2022
d8adf6f
global.json: SDK version: 3.1.301 -> 3.1.416
Feb 12, 2022
f91436c
.NET Core SDK 2.1: 2.1.807 -> 2.1.818
Feb 12, 2022
1e85247
Build Xamarin.VSSDK.sln instead of build.proj
Feb 14, 2022
e3a451e
Fix: Missing closing quote. Remove Out property definition
Feb 14, 2022
1ebe5a8
Disable tests and include NuGet.config in publish artifact
Feb 14, 2022
d5454f4
Use Sleet v2 template
Feb 14, 2022
5ed5d10
Always build release configuration
Feb 14, 2022
5b4d74a
Stage all nuget files produced in the out directory for publishing
Feb 14, 2022
427dc34
Revert to sleet.v1 template due to PowerShell incompatibility
Feb 14, 2022
d8543aa
Disable sleet publish step. Determine if its required
Feb 14, 2022
d484ff5
Fix: GetFiles: Quotes around wildcard
Feb 14, 2022
b7292f9
Remove blank line
Feb 14, 2022
4e9572e
Fix: Enumerate *.nupkg files not *.nuget files
Feb 14, 2022
ae906c8
VSTest task: Set vsTestVersion to 15.0
Feb 14, 2022
81aa144
Direct build.binlog to root of artifacts staging directory and not a …
Feb 14, 2022
8d40882
Agent pool: AzurePipelines-EO: AzurePipelinesWindows2019compliant
mjbond-msft Mar 21, 2022
d1ab294
Enable Sleet NuGet package publishing step
mjbond-msft Mar 21, 2022
f50acdd
Use latest Sleet shared template: v1 -> v2
mjbond-msft Mar 21, 2022
4e68216
Sleet NuGet publishing step: Revert back to using v1 template. v2 tem…
mjbond-msft Mar 21, 2022
ae52c7e
NuGet update step: Only execute step if pushing packages
mjbond-msft Mar 21, 2022
62afeb0
Replace master branch references with main
mjbond-msft Mar 21, 2022
a743d5a
Separate Build step into Restore and Build steps
mjbond-msft Mar 21, 2022
bbe9ac9
Restore step: Remove Configuration setting
mjbond-msft Mar 21, 2022
5a0aeed
Restore step: Restore using solution file and not build.proj
mjbond-msft Mar 21, 2022
2195b83
Build step: Missing closing double quote on build logger /bl setting
mjbond-msft Mar 22, 2022
bcc6c71
Directory.Build.props: PackageOutputPath: Use $(Out) if set
mjbond-msft Mar 22, 2022
a23577e
Move staging step prior to sleet package publishing
mjbond-msft Mar 22, 2022
567484b
Enable test step
mjbond-msft Mar 22, 2022
b74e933
Produce Xamarin.VSSDK.16.0.Tests.dll for Visual Studio 2019 targeting…
mjbond-msft Mar 23, 2022
7d2ba41
Bump .NET Core 3.1.416 -> 3.1.417
mjbond-msft Mar 23, 2022
7ebb04f
Bump .NET framework target: net46 -> net472
mjbond-msft Mar 23, 2022
c889a3e
Xamarin.VSSDK.Tests: Target net472
mjbond-msft Mar 23, 2022
9b93417
Package reference for dev16 targeting net472
mjbond-msft Mar 23, 2022
539e8b6
Xamarin.VSSDK.Defaults.targets: Fix indentation
mjbond-msft Mar 23, 2022
f1159d9
Xamarin.VSSDK.Tests/VsixTemplate.csproj: VSSDK_Reference_Assemblies p…
mjbond-msft Mar 23, 2022
7b75865
Xamarin.VSSDK.BuildTools: Microsoft.Build.Utilities.Core reference: 1…
mjbond-msft Mar 23, 2022
ad600e0
BindRedirected.csproj: Target net472
mjbond-msft Mar 23, 2022
0eebd4d
/maxCpuCount:1 to help serialize build log
mjbond-msft Mar 23, 2022
bb2a6dc
vssdk-installer.proj: Target net472
mjbond-msft Mar 23, 2022
f5799da
vssdk-installer.proj: Use VSSDK 15 even when target framework is net4…
mjbond-msft Mar 23, 2022
e2dbf32
Test source: Include net472
mjbond-msft Mar 23, 2022
aba5cdd
Test step: Configuration: Release
mjbond-msft Mar 23, 2022
8da211c
Visual Studio 2019 net472 support for 16.x VSSDK packages
mjbond-msft Mar 24, 2022
277d2d6
Xamarin.VSSDK.Tests: Update package references to 16.10
mjbond-msft Mar 24, 2022
242b048
Build verbosity: Diagnostic
mjbond-msft Mar 24, 2022
83ac585
Remove extra slash from comment
mjbond-msft Mar 24, 2022
31a2c76
Upgrade xunit packages to latest versions
mjbond-msft Mar 24, 2022
0e80928
Build verbosity: diagnostic -> detailed
mjbond-msft Mar 24, 2022
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 1 addition & 2 deletions NuGet.Config
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,7 @@
<configuration>
<packageSources>
<clear />
<add key="nuget.org" value="https://api.nuget.org/v3/index.json" />
<add key="nugetizer" value="https://ci.appveyor.com/nuget/nugetizer3000" />
<add key="xvs" value="https://devdiv.pkgs.visualstudio.com/_packaging/xamarin-xvs/nuget/v3/index.json" />
</packageSources>
<disabledPackageSources>
<clear />
Expand Down
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ Extensions to the Visual Studio SDK to make extensions authoring easier.


[![TFS Build status](https://devdiv.visualstudio.com/_apis/public/build/definitions/0bdbc590-a062-4c3f-b0f6-9383f67865ee/6415/badge)](https://devdiv.visualstudio.com/DevDiv/_build/index?definitionId=6415&_a=completed)
[![License](https://img.shields.io/github/license/xamarin/Xamarin.VSSDK.svg)](https://github.com/xamarin/Xamarin.VSSDK/blob/master/LICENSE)
[![License](https://img.shields.io/github/license/xamarin/Xamarin.VSSDK.svg)](https://github.com/xamarin/Xamarin.VSSDK/blob/main/LICENSE)

## Installation

Expand Down Expand Up @@ -43,7 +43,7 @@ which provides all the necessary APIs to author VS extensions.
When using VS2017 Update 3 or greater (15.3+), you can also select the target Visual Studio version by
selecting the relevant Target Framework from the Run dropdown:

![Active Debug Framework Selection](https://raw.github.com/xamarin/Xamarin.VSSDK/master/test/ActiveDebugFramework.png)
![Active Debug Framework Selection](https://raw.github.com/xamarin/Xamarin.VSSDK/main/test/ActiveDebugFramework.png)

When doing so, the `TargetFramework` will be set to the selected one, causing the right VSSDK BuildTools
package to be used to deploy the extension to the right Experimental Instance. So you can use VS2017 to
Expand Down
211 changes: 137 additions & 74 deletions build.yml
Original file line number Diff line number Diff line change
@@ -1,84 +1,147 @@
pool:
vmImage: windows-2019
# https://docs.microsoft.com/en-us/azure/devops/pipelines/build/triggers?view=azure-devops
trigger:
batch: false
branches:
include:
- main

# https://docs.microsoft.com/en-us/azure/devops/pipelines/repos/github?view=azure-devops&tabs=yaml#pr-triggers
pr:
autoCancel: false
branches:
include:
- main

variables:
- group: Xamarin NuGetized
- group: Xamarin NuGetized

resources:
repositories:
- repository: templates
type: github
name: xamarin/yaml-templates
ref: refs/heads/master
ref: refs/heads/main
endpoint: xamarin

steps:

- checkout: self
clean: true

- task: UseDotNet@2
inputs:
version: 2.1.807

- task: UseDotNet@2
inputs:
useGlobalJson: true

- task: MSBuild@1
displayName: Restore
inputs:
solution: build.proj
msbuildArguments: /t:Restore /bl:"$(Build.ArtifactStagingDirectory)\restore.binlog"

- task: MSBuild@1
displayName: Build
inputs:
solution: build.proj
msbuildArguments: /t:Build /p:Out="$(Build.ArtifactStagingDirectory)" /bl:"$(Build.ArtifactStagingDirectory)\build.binlog"

- task: VSTest@2
displayName: Test
inputs:
testAssemblyVer2: |-
**\*.Tests.dll
!**\xunit*.dll
codeCoverageEnabled: 'true'
publishRunAttachments: 'true'

- template: sleet/v1.yml@templates
parameters:
connectionString: $(SLEET_FEED_CONNECTIONSTRING)
container: xvs
packages: $(Build.ArtifactStagingDirectory)

- task: PublishBuildArtifacts@1
displayName: Publish
condition: always()
inputs:
PathtoPublish: $(Build.ArtifactStagingDirectory)
ArtifactName: output
ArtifactType: Container

- task: NuGetCommand@2
displayName: 'NuGet Update'
inputs:
command: custom
arguments: 'update -self'

- pwsh: |
$branch = '$(Build.SourceBranch)'
$push = "$($branch -eq 'refs/heads/master' -or $branch -match 'refs/heads/d\d\d-*|refs/heads/rel/*')".ToLowerInvariant()
Write-Host "##vso[task.setvariable variable=PushPackages;]$push"
displayName: Set PushPackages
condition: eq(variables['PushPackages'], '')

- task: NuGetCommand@2
displayName: Push Packages
continueOnError: true
condition: and(succeeded(), eq(variables['PushPackages'], 'true'))
inputs:
command: push
packagesToPush: '$(Build.ArtifactStagingDirectory)/*.nupkg'
nuGetFeedType: external
publishFeedCredentials: 'xamarin-impl public feed'
jobs:
- job: Build
pool:
name: AzurePipelines-EO
demands:
- ImageOverride -equals AzurePipelinesWindows2019compliant

steps:
- checkout: self
clean: true

- task: UseDotNet@2
inputs:
version: 2.1.818

- task: UseDotNet@2
inputs:
useGlobalJson: true

- task: NuGetAuthenticate@0
displayName: Authenticate NuGet feeds
inputs:
forceReinstallCredentialProvider: true

- task: MSBuild@1
displayName: Restore
inputs:
solution: src\Xamarin.VSSDK.sln
msbuildArguments: /t:Restore /p:Configuration=Release /bl:"$(Build.ArtifactStagingDirectory)\restore.binlog"

- task: MSBuild@1
displayName: Build
inputs:
solution: src\Xamarin.VSSDK.sln
msbuildArguments: /t:Build /p:Configuration=Release /bl:"$(Build.ArtifactStagingDirectory)\build.binlog" /maxCpuCount:1 /v:detailed # UNDONE: Help serialize build log: /m:1

# https://docs.microsoft.com/en-us/azure/devops/pipelines/tasks/test/vstest?view=azure-devops
- task: VSTest@2
displayName: Test
inputs:
testAssemblyVer2: |-
**\*.Tests.dll
!**\xunit*.dll
codeCoverageEnabled: 'true'
publishRunAttachments: 'true'
configuration: Release
searchFolder: "$(Build.SourcesDirectory)/test"

- powershell: |
$sourcesDirectory = "$(Build.SourcesDirectory)"
Write-Host "Sources directory: ${sourcesDirectory}"

$artifactsDirectory = "$(Build.ArtifactStagingDirectory)"
Write-Host "Artifacts directory: ${artifactsDirectory}"

[IO.File]::Copy("${sourcesDirectory}/NuGet.Config", "${artifactsDirectory}/NuGet.Config")

$outDirectory = "${sourcesDirectory}/out"
Write-Host "Build output directory: ${outDirectory}"

if ([IO.Directory]::Exists($outDirectory)) {
$files = [IO.Directory]::GetFiles($outDirectory, '*.nupkg')

if ($null -ne $files -and $files.Count -gt 0) {
$files | foreach {
$filename = [IO.Path]::GetFileName($_)
$destPathAndFilename = [IO.Path]::Combine($artifactsDirectory, $filename)
Write-Host "Copy $_ to ${destPathAndFilename}"
[IO.File]::Copy($_, $destPathAndFilename)
}
} else {
Write-Host "ERROR: Nuget files not found: ${outDirectory}"
}
} else {
Write-Host "Output directory not found: ${outDirectory}"
Write-Host "NuGet packages in artifacts directory: ${artifactsDirectory}"
$files = [IO.Directory]::GetFiles($artifactsDirectory, '*.nupkg')
if ($null -ne $files -and $files.Count -gt 0) {
$files | foreach { Write-Host " $([IO.Path]::GetFileName($_))" }
} else {
Write-Host "No NuGet files found: ${artifactsDirectory}"
}
}
displayName: 'Stage artifacts'

- template: sleet/v1.yml@templates
parameters:
connectionString: $(SLEET_FEED_CONNECTIONSTRING)
container: xvs
packages: $(Build.ArtifactStagingDirectory)

- task: PublishBuildArtifacts@1
displayName: Publish
condition: always()
inputs:
PathtoPublish: $(Build.ArtifactStagingDirectory)
ArtifactName: output
ArtifactType: Container

- pwsh: |
$branch = '$(Build.SourceBranch)'
$push = "$($branch -eq 'refs/heads/main' -or $branch -match 'refs/heads/d\d\d-*|refs/heads/rel/*')".ToLowerInvariant()
Write-Host "##vso[task.setvariable variable=PushPackages;]$push"
displayName: Set PushPackages
condition: eq(variables['PushPackages'], '')

- task: NuGetCommand@2
displayName: 'NuGet Update'
condition: and(succeeded(), eq(variables['PushPackages'], 'true'))
inputs:
command: custom
arguments: 'update -self'

- task: NuGetCommand@2
displayName: Push Packages
continueOnError: true
condition: and(succeeded(), eq(variables['PushPackages'], 'true'))
inputs:
command: push
packagesToPush: '$(Build.ArtifactStagingDirectory)/*.nupkg'
nuGetFeedType: external
publishFeedCredentials: 'xamarin-impl public feed'
2 changes: 1 addition & 1 deletion global.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"sdk": {
"version": "3.1.301",
"version": "3.1.417",
"rollForward": "feature"
}
}
5 changes: 3 additions & 2 deletions src/Directory.Build.props
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
<Company>Microsoft</Company>
<Copyright>© Microsoft Corporation. All rights reserved.</Copyright>
<PackageLicenseExpression>MIT</PackageLicenseExpression>
<PackageLicenseUrl>https://github.com/xamarin/Xamarin.VSSDK/blob/master/LICENSE</PackageLicenseUrl>
<PackageLicenseUrl>https://github.com/xamarin/Xamarin.VSSDK/blob/main/LICENSE</PackageLicenseUrl>
<PublishRepositoryUrl>true</PublishRepositoryUrl>
<PackageProjectUrl>https://github.com/xamarin/Xamarin.VSSDK</PackageProjectUrl>

Expand All @@ -23,7 +23,8 @@
<PackOnBuild>true</PackOnBuild>
<PrimaryOutputKind>build</PrimaryOutputKind>
<InferLegacyPackageReferences>false</InferLegacyPackageReferences>
<PackageOutputPath>$(MSBuildThisFileDirectory)..\out</PackageOutputPath>
<PackageOutputPath Condition="'$(Out)' == ''">$(MSBuildThisFileDirectory)..\out</PackageOutputPath>
<PackageOutputPath Condition="'$(Out)' != ''">$(Out)</PackageOutputPath>

<!-- Build -->
<AppendTargetFrameworkToOutputPath>false</AppendTargetFrameworkToOutputPath>
Expand Down
13 changes: 9 additions & 4 deletions src/VSSDK.BuildTools/Xamarin.VSSDK.BuildTools.csproj
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
<Project Sdk="Microsoft.NET.Sdk">

<PropertyGroup>
<TargetFramework>net46</TargetFramework>
<TargetFramework>net472</TargetFramework>
<RootNamespace>Xamarin.VSSDK</RootNamespace>

<PackageId>Xamarin.VSSDK.BuildTools</PackageId>
Expand Down Expand Up @@ -32,12 +32,13 @@
</ItemGroup>

<ItemGroup Label="Visual Studio 2019">
<!-- TODO: updating to 16.x build tools requires changes to DeployVsixExtensionFiles.targets. Enabling/Installing has changed -->
<PackageFile Include="Microsoft.VSSDK.BuildTools" Version="15.9.3039" Kind="Dependency" TargetFramework="net472" />
<!-- TODO: updating to 16.x build tools requires changes to DeployVsixExtensionFiles.targets. Enabling/Installing has changed. Also see TODO comment in vssdk-installer.proj -->
<!-- https://www.nuget.org/packages/Microsoft.VSSDK.BuildTools -->
<PackageFile Include="Microsoft.VSSDK.BuildTools" Version="16.10.1055" Kind="Dependency" TargetFramework="net472" />
</ItemGroup>

<ItemGroup>
<PackageReference Include="Microsoft.Build.Utilities.Core" Version="15.9.20" PrivateAssets="all" />
<PackageReference Include="Microsoft.Build.Utilities.Core" Version="16.11.0" PrivateAssets="all" />
<PackageReference Include="netfx-System.StringResources" Version="3.1.5" PrivateAssets="all" />
<PackageReference Include="NuGet.Build.Packaging" Version="0.1.323" PrivateAssets="all" />
</ItemGroup>
Expand All @@ -63,4 +64,8 @@
</EmbeddedResource>
</ItemGroup>

<ItemGroup>
<PackageReference Update="GitInfo" Version="2.2.0" />
</ItemGroup>

</Project>
8 changes: 4 additions & 4 deletions src/VSSDK/Xamarin.VSSDK.Defaults.targets
Original file line number Diff line number Diff line change
Expand Up @@ -9,14 +9,14 @@
<PropertyGroup>
<!-- Default $(Dev) according to either '.' value or $(ActiveDebugFramework). These are explicit user-chosen values -->
<Dev Condition="'$(Dev)' == '.'">$(VisualStudioVersion)</Dev>
<Dev Condition="'$(Dev)' == '' And '$(ActiveDebugFramework)' == 'net472'">16.0</Dev>
<Dev Condition="'$(Dev)' == '' And '$(ActiveDebugFramework)' == 'net46'">15.0</Dev>
<Dev Condition="'$(Dev)' == '' And '$(ActiveDebugFramework)' == 'net472'">16.0</Dev>
<Dev Condition="'$(Dev)' == '' And '$(ActiveDebugFramework)' == 'net46'">15.0</Dev>
<Dev Condition="'$(Dev)' == '' And '$(ActiveDebugFramework)' == 'net452'">14.0</Dev>
<Dev Condition="'$(Dev)' == '' And '$(ActiveDebugFramework)' == 'net45'">12.0</Dev>

<!-- If no ActiveDebugFramework was set, just set it to the one we determined, for consistency -->
<ActiveDebugFramework Condition="'$(Dev)' == '16.0'">net472</ActiveDebugFramework>
<ActiveDebugFramework Condition="'$(Dev)' == '15.0'">net46</ActiveDebugFramework>
<ActiveDebugFramework Condition="'$(Dev)' == '16.0'">net472</ActiveDebugFramework>
<ActiveDebugFramework Condition="'$(Dev)' == '15.0'">net46</ActiveDebugFramework>
<ActiveDebugFramework Condition="'$(Dev)' == '14.0'">net452</ActiveDebugFramework>
<ActiveDebugFramework Condition="'$(Dev)' == '12.0'">net45</ActiveDebugFramework>

Expand Down
10 changes: 7 additions & 3 deletions src/VSSDK/Xamarin.VSSDK.csproj
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
<Project Sdk="Microsoft.NET.Sdk">

<PropertyGroup>
<TargetFramework>net46</TargetFramework>
<TargetFramework>net472</TargetFramework>
<RootNamespace>Xamarin.VSSDK</RootNamespace>

<PackageId>Xamarin.VSSDK</PackageId>
Expand Down Expand Up @@ -58,11 +58,15 @@
</ItemGroup>

<ItemGroup Label="Visual Studio 2019">
<PackageFile Include="Microsoft.VisualStudio.SDK" Version="16.0.204" TargetFramework="net472" Kind="Dependency" ExcludeAssets="runtime" />
<PackageFile Include="Microsoft.VisualStudio.SDK" Version="16.10.31321.278" TargetFramework="net472" Kind="Dependency" ExcludeAssets="runtime" />
</ItemGroup>

<ItemGroup>
<PackageReference Include="NuGet.Build.Packaging" Version="0.1.323" PrivateAssets="all" />
<PackageReference Include="NuGet.Build.Packaging" Version="0.2.2" PrivateAssets="all" />
</ItemGroup>

<ItemGroup>
<PackageReference Update="GitInfo" Version="2.2.0" />
</ItemGroup>

</Project>
12 changes: 6 additions & 6 deletions src/Version.targets
Original file line number Diff line number Diff line change
Expand Up @@ -17,9 +17,9 @@ AssemblyVersion=$(AssemblyVersion)" />

<Target Name="_ClearTagVersion" AfterTargets="_GitBaseVersionTag" BeforeTargets="_GitBaseVersionFile">
<PropertyGroup Condition="'$(GitBaseVersion)' != '' and '$(GitSemVerSource)' == 'Tag' and '$(GitCommits)' != '0'">
<!-- If the current commit isn't exactly the tagged commit, remove the determined base version,
<!-- If the current commit isn't exactly the tagged commit, remove the determined base version,
so that probing continues as usual (GitInfo file follows).
This means that we can push a version from master/dev without having to create a branch.
This means that we can push a version from main/dev without having to create a branch.
Typical "true" releases will likely come from versioned branches though.
-->
<GitBaseVersion></GitBaseVersion>
Expand All @@ -46,17 +46,17 @@ AssemblyVersion=$(AssemblyVersion)" />
<GitBranch Condition="'$(SYSTEM_PULLREQUEST_TARGETBRANCH)' == '' and '$(BUILD_SOURCEBRANCHNAME)' != ''">$(BUILD_SOURCEBRANCHNAME)</GitBranch>
<GitBranch Condition="'$(APPVEYOR_REPO_BRANCH)' != ''">$(APPVEYOR_REPO_BRANCH)</GitBranch>

<!-- NOTE: build metadata does not affect version matching, so even if you work from a different branch+commit that gets
rebased+merged later on, the version # might still be the same (provided there weren't additional commits in master
<!-- NOTE: build metadata does not affect version matching, so even if you work from a different branch+commit that gets
rebased+merged later on, the version # might still be the same (provided there weren't additional commits in main
before the rebase+merge.
-->
<_IndexOfBranchSlash>$(GitBranch.LastIndexOf('/'))</_IndexOfBranchSlash>
<_IndexOfBranchSubstring>$([MSBuild]::Add('$(_IndexOfBranchSlash)', '1'))</_IndexOfBranchSubstring>
<_GitBranch Condition="'$(_IndexOfBranchSlash)' != '0'">$(GitBranch.Substring($(_IndexOfBranchSubstring)))</_GitBranch>
<_GitBranch Condition="'$(_IndexOfBranchSlash)' == '0'">$(GitBranch)</_GitBranch>

<!-- We'll use GitFlow and ship publicly from master, meaning we don't need branch metadata from there -->
<SemVerMetadata Condition="'$(_GitBranch)' != 'master'">$(_GitBranch).</SemVerMetadata>
<!-- We'll use GitFlow and ship publicly from main, meaning we don't need branch metadata from there -->
<SemVerMetadata Condition="'$(_GitBranch)' != 'main'">$(_GitBranch).</SemVerMetadata>
<SemVerMetadata>$(SemVerMetadata)sha.$(GitCommit)</SemVerMetadata>

<!-- If there is a pre-release label, fix the major.minor.build and increment the release label digit instead. -->
Expand Down
Loading