-
Notifications
You must be signed in to change notification settings - Fork 1.9k
Implement FormsStack and FormsQueue internally for VS 2017 Compatibility #8403
Conversation
Can we have 2 pr's ? one just for the Stack and Queue and other with the other changes? Also we should format the corefx code with our guidelines, drop private etc.. |
@rmarinho the whole of this PR is to create a nuget that's built on VS 2019 that we can test works on VS 2017 If we split out all the changes we can't really do that
yea I wasn't sure. This isn't really code that we are going to iterate or own we're just going to delete it sometime next year so it didn't seem worth the effort to format according to all our guidelines |
Let's leave the code style the same as corefx, just in case we need to pull in an update. |
I tested the nuget with the sample given here and it now runs with these changes |
0680ccb
to
cba02a5
Compare
cba02a5
to
5ac353f
Compare
36e0805
to
3cb32cc
Compare
Xamarin.Forms.Platform.Android/Xamarin.Forms.Platform.Android.csproj
Outdated
Show resolved
Hide resolved
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can we add this per parts? first the code changes, that would not need vs2019.
Then we add changes to cake and provisioning.
azure-pipelines.yml
Outdated
- name: DOTNET_VERSION | ||
value: 3.0.100 | ||
- name: winVmImage | ||
value: Hosted Windows 2019 with VS2019 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This will keeps us from updating let's say for XamarinForms (private agents) i prefer we had this as settable from the pipeline
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yea once we are happy with the PR I was going to delete this before merging it.
Though I still think this should be part of the yml file not the pipeline. For example if branch 4.1.0 is set to VS 2017 than when you run those builds it'll just build and work. Then when you run 4.2.0 it'll just build and work. If it's settable at the pipeline level than you are required to have knowledge external to the repository in order to make something compile.
But we can discuss that more on Thursday :-)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
we can delete i m happy with it :P Let's merge
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Sounds good!! I want to run some quick tests on UWP to see if incrementing the SDK build will break the icon on MDP even more or if the issue is the same.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@rmarinho I added these back in for the time being because FormsQueue and FormsStack uses C# features that need 2019. I don't really want to modify them so they compile with C# 7.0 I'd rather just leave them untouched.
So I figure once this is merged in and the build server pipeline variables are updated then we can remove the fields?
Xamarin.Forms.Core\corefx\FormsQueue.cs(263,19): Error CS8107: Feature 'default literal' is not available in C# 7.0. Please use language version 7.1 or greater.
Xamarin.Forms.Core\corefx\FormsQueue.cs(278,14): Error CS8107: Feature 'default literal' is not available in C# 7.0. Please use language version 7.1 or greater.
Xamarin.Forms.Core\corefx\FormsQueue.cs(285,19): Error CS8107: Feature 'default literal' is not available in C# 7.0. Please use language version 7.1 or greater.
Xamarin.Forms.Core\corefx\FormsStack.cs(344,23): Error CS8107: Feature 'default literal' is not available in C# 7.0. Please use language version 7.1 or greater.
Xamarin.Forms.Core\corefx\FormsStack.cs(374,24): Error CS8107: Feature 'default literal' is not available in C# 7.0. Please use language version 7.1 or greater.
Xamarin.Forms.Core\corefx\FormsStack.cs(404,23): Error CS8107: Feature 'default literal' is not available in C# 7.0. Please use language version 7.1 or greater.
Xamarin.Forms.Core\corefx\FormsQueue.cs(263,19): Error CS8107: Feature 'default literal' is not available in C# 7.0. Please use language version 7.1 or greater.
Xamarin.Forms.Core\corefx\FormsQueue.cs(278,14): Error CS8107: Feature 'default literal' is not available in C# 7.0. Please use language version 7.1 or greater.
Xamarin.Forms.Core\corefx\FormsQueue.cs(285,19): Error CS8107: Feature 'default literal' is not available in C# 7.0. Please use language version 7.1 or greater.
Xamarin.Forms.Core\corefx\FormsStack.cs(344,23): Error CS8107: Feature 'default literal' is not available in C# 7.0. Please use language version 7.1 or greater.
@@ -43,42 +44,48 @@ var informationalVersion = gitVersion.InformationalVersion; | |||
var buildVersion = gitVersion.FullBuildMetaData; | |||
var nugetversion = Argument<string>("packageVersion", gitVersion.NuGetVersion); | |||
|
|||
var ANDROID_HOME = EnvironmentVariable ("ANDROID_HOME") ?? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@rmarinho all these cake changes just make this cake script consistent with master
what will be the first build that includes the fix, so that I can test it with VS2017? |
@MagicAndre1981 https://dev.azure.com/xamarin/public/_build/results?buildId=10002&view=artifacts and test it out |
I tested the version. In my current working copy the nuget package fails first with So I made a new checkout from my SVN source server and here the 4.2.0.910325 works with VS2017, the Android app compiles and runs fine so far. |
Description of Change
Here are some comparison tests ran through Benchmark dotnet
Here's the test project if you would like to verify or add additional tests
TestCollections.zip
Issues Resolved
Platforms Affected
Testing Procedure
PR Checklist