Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

use VS version as base for insertion packages #4463

Merged
merged 1 commit into from
Mar 7, 2018
Merged

use VS version as base for insertion packages #4463

merged 1 commit into from
Mar 7, 2018

Conversation

brettfo
Copy link
Member

@brettfo brettfo commented Mar 7, 2018

It was recently discovered that the packages inserted into the official Visual Studio build are all prefixed with 10.1 as per #4112. During the course of normal VS branch merges this can cause a state where a VS branch might actually attempt to 'downgrade' (see below) the F# package version which would cause the install builder to choose the incorrect 'newer' version.

The fix is to use the Visual Studio version numbers as the prefix for the insertion packages. FSharp.Core is still versioned as 4.x, fsc is still versioned as 10.x, the language service VSIX is still versioned as 15.x, and now the internal installer packages are 15.x.

downgrade: If the 10.1 prefix is not changed, the dev15.6 branch might produce an insertion package with the version 10.1.20180307.0 and the previous day's dev15.7 branch produced 10.1.20180306.0. Technically, the build from dev15.7 appears to be 'older' than the dev15.6 build, even though that's not necessarily the case. As soon as the dev15.7 branch is in lockdown, master will change this value to 15.8 to prepare for the next release.

@brettfo brettfo requested a review from KevinRansom March 7, 2018 21:46
@@ -11,7 +11,7 @@
</PropertyGroup>

<PropertyGroup>
<FSharpProductVersion>10.1</FSharpProductVersion>
<FSharpProductVersion>15.7</FSharpProductVersion>
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't see $(FSharpProductVersion) referenced anywhere?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It's used in setp\fsharp-setup-build.proj and passed through to setup\Swix\Microsoft.FSharp.Dependencies\Microsoft.FSharp.Dependencies.swixproj.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

That appears to be passing FSharpPackageVersion, not FSharpProductVersion -
https://github.com/Microsoft/visualfsharp/blob/master/setup/fsharp-setup-build.proj#L48

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sorry, I missed a step. 3 lines below this change <FSharpPackageVersion> is set using $(FSharpProductVersion) as its prefix.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Oh, I missed that too. Just to be complete - where are the other versions compiler, language, FSharp.Core, etc specified to be sure that they aren't also changing?

@brettfo brettfo merged commit 3fc5e6d into dotnet:master Mar 7, 2018
@brettfo brettfo deleted the product-version branch March 7, 2018 23:10
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants