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

Update Roslyn to 4.5.0-2.22527.10 #2486

Merged
merged 9 commits into from
Dec 22, 2022

Conversation

allisonchou
Copy link
Contributor

This upgrade is needed for compatibility with Razor.

@@ -59,6 +59,12 @@
<PackageReference Update="Microsoft.VisualStudio.Setup.Configuration.Interop" Version="1.14.114" />
<PackageReference Update="Microsoft.VisualStudio.SDK.EmbedInteropTypes" Version="15.0.12" />

<!-- The two references below can be deleted once OmniSharp.Extensions.LanguageServer
Copy link
Contributor Author

Choose a reason for hiding this comment

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

O#-roslyn and Razor both indirectly reference Microsoft.VisualStudio.Validation:

  • O#-roslyn via OmniSharp.Extensions.LanguageServer -> OmniSharp.Extensions.JsonRpc -> Nerdbank.Streams -> Microsoft.VisualStudio.Threading -> Microsoft.VisualStudio.Validation
  • Razor via Microsoft.VisualStudio.Threading -> Microsoft.VisualStudio.Validation

Razor is on a 17.xx version of Microsoft.VisualStudio.Validation, while O#-roslyn is on a lower version. We need to bump O#-roslyn's version to avoid errors in Razor files. However, the newest version of OmniSharp.Extensions.LanguageServer only utilizes a Validation version of 16.xx, so we have to bump explicitly until they update to a newer version.


<PackageReference Update="SQLitePCLRaw.bundle_green" Version="2.0.7" />
<PackageReference Update="SQLitePCLRaw.bundle_green" Version="2.1.0" />
Copy link
Contributor Author

Choose a reason for hiding this comment

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

Was seeing build warnings until I bumped this version

// The completion is somehow expensive. Currently, this one of two categories: import completion, or override/partial
// completion.
// To-do: Add support for snippet items: https://github.com/OmniSharp/omnisharp-roslyn/issues/2485
if (completion.GetProviderName() == SnippetCompletionProvider)
Copy link
Contributor Author

Choose a reason for hiding this comment

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

Including snippets seems to be causing duplicate items in the completion list, so skipping for now.

@@ -211,7 +209,7 @@ public async Task When_custom_rule_is_set_to_none_dont_return_results_at_all()
}
}

[Fact]
[Fact(Skip = "https://github.com/dotnet/roslyn/issues/66085")]
Copy link
Contributor Author

Choose a reason for hiding this comment

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

The underlying issue here has been fixed (thanks Manish!), however the fix is in a newer version of Roslyn, so skipping the test for now

}

public override ImmutableArray<ISourceGenerator> GetGenerators(string language)
=> ImmutableArray.Create<ISourceGenerator>(new TestSourceGenerator(_execute));
=> _generators;
Copy link
Contributor Author

Choose a reason for hiding this comment

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

This originally caused a test failure due to changes from dotnet/roslyn#64729. The fix is to not create a new generator each time these methods are called, and instead re-use the existing generator in order to maintain the same documentId.

Copy link
Member

@filipw filipw left a comment

Choose a reason for hiding this comment

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

thanks!

@dibarbet dibarbet merged commit 9131f11 into OmniSharp:master Dec 22, 2022
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