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

bump Microsoft.CodeAnalysis to latest #13699

Merged
merged 5 commits into from
May 30, 2023

Conversation

oleksandr-didyk
Copy link
Contributor

@oleksandr-didyk oleksandr-didyk commented May 25, 2023

Resolves #13681

As per dotnet/runtime#86494 (comment), during runtime build the GenFacades msbuild task requires the Microsoft.CodeAnalysis to get loaded in. The package currently comes from the SBRP, so it fails the build as a ref pack cannot be utilized for this scenario.

As such, this PR bumps the version to latest + resolves some issues related to the bump

eng/Versions.props Outdated Show resolved Hide resolved
@ViktorHofer
Copy link
Member

As per dotnet/runtime#86494 (comment), during runtime build the CodeDom package requires the Microsoft.CodeAnalysis to get loaded in.

@oleksandr-didyk small nit, it's not the CodeDom library / package that needs CodeAnalysis but GenFacades which is an msbuild task that is invoked per project build.

ViktorHofer
ViktorHofer previously approved these changes May 28, 2023
@ViktorHofer
Copy link
Member

@ all, I went ahead and downgraded the CodeAnalysis version to 4.6.0 not to break the VS / SDK scenario and to make progress on unblocking the runtime dependency flow which needs to get going again to not destabilize the product.

@ViktorHofer ViktorHofer enabled auto-merge (squash) May 28, 2023 08:50
@ViktorHofer
Copy link
Member

Apparently that doesn't work:

.packages/microsoft.dotnet.arcade.sdk/8.0.0-beta.23276.2/tools/Tools.proj(0,0): error NU1102: (NETCORE_ENGINEERING_TELEMETRY=Restore) Unable to find package Microsoft.SourceBuild.Intermediate.roslyn with version (= 4.6.0)

We want to depend on the last stable version which is 4.6.0 but there is no source build intermediate package coming from roslyn available. How do we make source build picks the latest available intermediate package but the non source built product use the 4.6.0 version?

@oleksandr-didyk
Copy link
Contributor Author

How do we make source build picks the latest available intermediate package but the non source built product use the 4.6.0 version?

We could baseline 4.6.0 and add it to Version.Details.xml. In would use this version in repo context and in the product it would use N-1 thanks to the entry in Version.Details.xml. It could cause behaviour differences between the two builds though, but I'm not sure there is a different option (conditioning the version on DotNetBuildFromSource seems worse imo)

ViktorHofer
ViktorHofer previously approved these changes May 29, 2023
@ViktorHofer
Copy link
Member

but I'm not sure there is a different option (conditioning the version on DotNetBuildFromSource seems worse imo)

Unless roslyn starts versioning the same as the rest of the .NET repositories, I don't think there's a better option than what you pointed out. Thanks.

@ViktorHofer ViktorHofer disabled auto-merge May 29, 2023 20:24
@ViktorHofer ViktorHofer enabled auto-merge (squash) May 29, 2023 20:24
@ViktorHofer ViktorHofer requested a review from mmitche May 29, 2023 20:26
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
4 participants