Skip to content

bump Microsoft.CodeAnalysis to latest#13699

Merged
ViktorHofer merged 5 commits intodotnet:mainfrom
oleksandr-didyk:bump-code-analysis-to-latest
May 30, 2023
Merged

bump Microsoft.CodeAnalysis to latest#13699
ViktorHofer merged 5 commits intodotnet:mainfrom
oleksandr-didyk:bump-code-analysis-to-latest

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

@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

Development

Successfully merging this pull request may close these issues.

Runtime's Arcade dependency update is currently failing because of GenFacades trying to load an SBRP assembly in the source build leg

4 participants