Skip to content

Move pinned Microsoft.Netcore.App down #2456

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

Merged
merged 1 commit into from
Oct 4, 2019
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 5 additions & 4 deletions eng/Version.Details.xml
Original file line number Diff line number Diff line change
Expand Up @@ -58,10 +58,6 @@
<Uri>https://github.com/dotnet/corefx</Uri>
<Sha>bedb348c4d93b6172967df6cdeea0272c81eb752</Sha>
</Dependency>
<Dependency Name="Microsoft.NETCore.App.Ref" Version="3.0.0" Pinned="true">
<Uri>https://github.com/dotnet/core-setup</Uri>
<Sha>7d57652f33493fa022125b7f63aad0d70c52d810</Sha>
</Dependency>
<!--
Win-x64 is used here because we have picked an arbitrary runtime identifier to flow the version of the latest NETCore.App runtime.
All Runtime.$rid packages should have the same version.
Expand All @@ -74,6 +70,11 @@
<Uri>https://github.com/dotnet/core-setup</Uri>
<Sha>d34d1570bfdf669ed94b4c939b2f39a1650e2320</Sha>
</Dependency>
<!-- Keep this dependency at the bottom of ProductDependencies, else it will be picked as the parent for CoherentParentDependencies -->
Copy link

Choose a reason for hiding this comment

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

Question: The CoherentParentDependency attributes point CoreFx dependencies to Microsoft.NETCore.App.Runtime.win-x64. Why does a pinned Microsoft.NETCore.App.Ref dependency matter?

Copy link
Member Author

Choose a reason for hiding this comment

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

The theory is that CPD traverses through versions.details.xml files top-down, looking for the first dependency from the repo it's tracking backwards towards. So since EFCore depends on a core-setup package through Extensions, DARC looks through Extensions for a core-setup package to use for dependency calculation. When the first one it finds is the pinned 3.0.0 one, it uses that. This PR is a hack/workaround until we improve the CPD algorithm.

<Dependency Name="Microsoft.NETCore.App.Ref" Version="3.0.0" Pinned="true">
<Uri>https://github.com/dotnet/core-setup</Uri>
<Sha>7d57652f33493fa022125b7f63aad0d70c52d810</Sha>
</Dependency>
</ProductDependencies>
<ToolsetDependencies>
<Dependency Name="Microsoft.DotNet.Arcade.Sdk" Version="1.0.0-beta.19474.3">
Expand Down