Skip to content

Commit aee2fa8

Browse files
authored
Merge pull request #4474 from brettfo/package-commit-hash
Add commit hashes to NuGet and Visual Studio packages
2 parents 1a3f1e8 + 25ee345 commit aee2fa8

File tree

10 files changed

+39
-8
lines changed

10 files changed

+39
-8
lines changed

src/fsharp/FSharp.Compiler.nuget/FSharp.Compiler.Template.nuget.props

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515
<OutputPath>$(FSharpSourcesRoot)\..\$(Configuration)\coreclr\bin</OutputPath>
1616
<PreReleaseSuffix Condition="'$(PreRelease)' != 'false'">-rtm-$(BuildRevision.Trim())-0</PreReleaseSuffix>
1717
<PackageVersion>$(FSPackageVersion)$(PreReleaseSuffix)</PackageVersion>
18-
<PackageProperties>-prop "licenseUrl=$(PackageLicenceUrl)" -prop "version=$(PackageVersion)" -prop "authors=$(PackageAuthors)" -prop "projectUrl=$(PackageProjectUrl)" -prop "tags=$(PackageTags)" -prop "diasymreaderversion=$(MicrosoftDiaSymReaderPackageVersion)" -prop "diasymreaderportablepdbversion=$(MicrosoftDiaSymReaderPortablePdbPackageVersion)"</PackageProperties>
1918
</PropertyGroup>
19+
20+
<Import Project="$(FSharpSourcesRoot)\FSharpSource.targets" />
2021
</Project>

src/fsharp/FSharp.Compiler.nuget/FSharp.Compiler.Template.nuget.targets

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,6 @@
1515
</ProjectReference>
1616
</ItemGroup>
1717

18-
<Import Project="$(FSharpSourcesRoot)\FSharpSource.targets" />
19-
2018
<Target Name="Build" Outputs="$(TargetPath)" DependsOnTargets="$(nugetpackfsharpcompiler)" />
2119
<Target Name="Rebuild" DependsOnTargets="$(nugetpackfsharpcompiler)" />
2220
<Target Name="Clean" DependsOnTargets="CleanVersionFile" />
@@ -34,7 +32,7 @@
3432
Outputs='$(FSharpSourcesRoot)\$(Configuration)\artifacts\$(PackageVersion)\"%(PackageNuspec.Filename)).nupkg'>
3533

3634
<PropertyGroup>
37-
<PackageProperties>-prop "licenseUrl=$(PackageLicenceUrl)" -prop "version=$(PackageVersion)" -prop "authors=$(PackageAuthors)" -prop "projectUrl=$(PackageProjectUrl)" -prop "tags=$(PackageTags)" -prop "diasymreaderversion=$(MicrosoftDiaSymReaderPackageVersion)" -prop "diasymreaderportablepdbversion=$(MicrosoftDiaSymReaderPortablePdbPackageVersion)"</PackageProperties>
35+
<PackageProperties>-prop "licenseUrl=$(PackageLicenceUrl)" -prop "version=$(PackageVersion)" -prop "authors=$(PackageAuthors)" -prop "projectUrl=$(PackageProjectUrl)" -prop "tags=$(PackageTags)" -prop "diasymreaderversion=$(MicrosoftDiaSymReaderPackageVersion)" -prop "diasymreaderportablepdbversion=$(MicrosoftDiaSymReaderPortablePdbPackageVersion)" -prop "githeadsha=$(GitHeadSha)"</PackageProperties>
3836
</PropertyGroup>
3937

4038
<MakeDir Directories="$(FSharpSourcesRoot)\..\artifacts" />

src/fsharp/FSharp.Compiler.nuget/Microsoft.FSharp.Compiler.nuspec

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,8 @@
44
<id>Microsoft.FSharp.Compiler</id>
55
<description>
66
.NET Core compatible version of the fsharp compiler fsc.exe.
7-
Supported Platforms: - .NET Core (.netstandard1.6)
7+
Supported Platforms: - .NET Core (.netstandard1.6).
8+
Commit hash: $githeadsha$.
89
</description>
910
<language>en-US</language>
1011
<requireLicenseAcceptance>true</requireLicenseAcceptance>

src/fsharp/FSharp.Core.nuget/FSharp.Core.LatestNuget.nuspec

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
.NET 4.5+ (net45)
1212
netstandard1.6 (netstandard1.6)
1313
netstandard2.0 (netstandard2.0)
14+
Commit hash: $githeadsha$.
1415
</description>
1516
<language>en-US</language>
1617
<version>$version$</version>

src/fsharp/FSharp.Core.nuget/FSharp.Core.nuget.proj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,7 @@
6161
<PackageVersion Condition="'@(PackageNuspec)' == 'FSharp.Core.LatestNuget.nuspec'">$(FSharpCoreLatestTargetPackageVersion)</PackageVersion>
6262
<PackageMajorVersion Condition="'@(PackageNuspec)' == 'FSharp.Core.LatestNuget.nuspec'">$(FSharpCoreLatestTargetMajorVersion)</PackageMajorVersion>
6363

64-
<PackageProperties>-prop "licenseUrl=$(PackageLicenceUrl)" -prop "version=$(PackageVersion)" -prop "authors=$(PackageAuthors)" -prop "projectUrl=$(PackageProjectUrl)" -prop "tags=$(PackageTags)"</PackageProperties>
64+
<PackageProperties>-prop "licenseUrl=$(PackageLicenceUrl)" -prop "version=$(PackageVersion)" -prop "authors=$(PackageAuthors)" -prop "projectUrl=$(PackageProjectUrl)" -prop "tags=$(PackageTags)" -prop "githeadsha=$(GitHeadSha)"</PackageProperties>
6565
</PropertyGroup>
6666

6767
<MakeDir Directories="$(FSharpSourcesRoot)\..\artifacts\$(PackageMajorVersion)" />

vsintegration/Vsix/RegisterFsharpPackage.pkgdef

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,6 @@
1616
"Package"="{91a04a73-4f2c-4e7c-ad38-c1a68e7da05c}"
1717
"ProductDetails"="#9002"
1818
"LogoID"="#400"
19-
"UseVSProductID"="1"
2019
@="#9001"
2120

2221
[$RootKey$\AD7Metrics\ExpressionEvaluator\{AB4F38C9-B6E6-43BA-BE3B-58080B2CCCE3}\{994B45C4-E6E9-11D2-903F-00C04FA302A1}]

vsintegration/src/FSharp.Editor/Common/Constants.fs

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,11 @@ module internal FSharpConstants =
1717
[<Literal>]
1818
/// "BC6DD5A5-D4D6-4dab-A00D-A51242DBAF1B"
1919
let languageServiceGuidString = "BC6DD5A5-D4D6-4dab-A00D-A51242DBAF1B"
20-
20+
21+
[<Literal>]
22+
/// "91a04a73-4f2c-4e7c-ad38-c1a68e7da05c"
23+
let projectPackageGuidString = "91a04a73-4f2c-4e7c-ad38-c1a68e7da05c"
24+
2125
[<Literal>]
2226
/// "F#"
2327
let FSharpLanguageName = "F#"

vsintegration/src/FSharp.Editor/FSharp.Editor.fsproj

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,7 @@
4242
<Compile Include="LanguageService\FSharpCheckerExtensions.fs" />
4343
<Compile Include="LanguageService\IProjectSite.fs" />
4444
<Compile Include="LanguageService\ProjectSitesAndFiles.fs" />
45+
<Compile Include="LanguageService\ProvideFSharpVersionRegistrationAttribute.fs" />
4546
<Compile Include="LanguageService\LanguageService.fs" />
4647
<Compile Include="LanguageService\AssemblyContentProvider.fs" />
4748
<Compile Include="LanguageService\SymbolHelpers.fs" />

vsintegration/src/FSharp.Editor/LanguageService/LanguageService.fs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ open Microsoft.FSharp.Compiler.CompileOps
2323
open Microsoft.FSharp.Compiler.SourceCodeServices
2424
open Microsoft.VisualStudio
2525
open Microsoft.VisualStudio.Editor
26+
open Microsoft.VisualStudio.FSharp.Editor
2627
open Microsoft.VisualStudio.FSharp.Editor.SiteProvider
2728
open Microsoft.VisualStudio.TextManager.Interop
2829
open Microsoft.VisualStudio.LanguageServices
@@ -284,6 +285,7 @@ type
284285
[<ProvideLanguageEditorOptionPage(typeof<OptionsUI.QuickInfoOptionPage>, "F#", null, "QuickInfo", "6009")>]
285286
[<ProvideLanguageEditorOptionPage(typeof<OptionsUI.CodeFixesOptionPage>, "F#", null, "Code Fixes", "6010")>]
286287
[<ProvideLanguageEditorOptionPage(typeof<OptionsUI.LanguageServicePerformanceOptionPage>, "F#", null, "Performance", "6011")>]
288+
[<ProvideFSharpVersionRegistration(FSharpConstants.projectPackageGuidString, "Microsoft Visual F#")>]
287289
[<ProvideLanguageService(languageService = typeof<FSharpLanguageService>,
288290
strLanguageName = FSharpConstants.FSharpLanguageName,
289291
languageResourceID = 100,
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
// Copyright (c) Microsoft Corporation. All Rights Reserved. See License.txt in the project root for license information.
2+
3+
namespace Microsoft.VisualStudio.FSharp.Editor
4+
5+
open System
6+
open System.Diagnostics
7+
open Microsoft.VisualStudio.Shell
8+
9+
type internal ProvideFSharpVersionRegistrationAttribute(packageGuidString:string, productName:string) =
10+
inherit RegistrationAttribute()
11+
12+
let keyName = "InstalledProducts\\" + productName
13+
14+
override this.Register(context:RegistrationAttribute.RegistrationContext) =
15+
// Get the version of this build. This code is executed by CreatePkgDef.exe at build time and NOT at runtime.
16+
let version = FileVersionInfo.GetVersionInfo(typeof<ProvideFSharpVersionRegistrationAttribute>.Assembly.Location)
17+
use key = context.CreateKey(keyName)
18+
key.SetValue("Package", Guid.Parse(packageGuidString).ToString("B"))
19+
key.SetValue("PID", version.ProductVersion)
20+
key.SetValue("UseInterface", false)
21+
key.SetValue("UseVSProductID", false)
22+
23+
override this.Unregister(context:RegistrationAttribute.RegistrationContext) =
24+
context.RemoveKey(keyName)

0 commit comments

Comments
 (0)