Skip to content

Conversation

@trylek
Copy link
Member

@trylek trylek commented Mar 15, 2021

As David discovered, I apparently made a merge bug in rebasing my
CG2 framework switch-over change prior to checking in that actually
suppressed CG2 publishing due to losing the property
PublishReadyToRunUseCrossgen2. This change fixes that deficiency.

Thanks

Tomas

/cc @dotnet/crossgen-contrib

As David discovered, I apparently made a merge bug in rebasing my
CG2 framework switch-over change prior to checking in that actually
suppressed CG2 publishing due to losing the property
PublishReadyToRunUseCrossgen2. This change fixes that deficiency.

Thanks

Tomas
@trylek trylek added this to the 6.0.0 milestone Mar 15, 2021
Copy link
Member

@davidwrighton davidwrighton left a comment

Choose a reason for hiding this comment

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

Correct calc of this needs to use the computed sdk path, not assume its in .dotnet. This will break developers which install a global build of the sdk which has a sufficiently matching dotnet version. (Most of the library developers do this.)

<PropertyGroup>
<OriginalDotnetRootValue>$(DOTNET_ROOT)</OriginalDotnetRootValue>
<DOTNET_ROOT>$(RepoRoot)</DOTNET_ROOT>
<DOTNET_ROOT>$([System.IO.Path]::Combine('$(RepoRoot)', '.dotnet'))</DOTNET_ROOT>
Copy link
Member

Choose a reason for hiding this comment

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

This isn't reliable. The dotnet.cmd tool will not always point at the .dotnet directory. Instead you need to read the directory from artifacts/toolset/sdk.txt.

Copy link
Member Author

Choose a reason for hiding this comment

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

Fixed in 4th commit. I have also added a temporary instrumentation showing the DOTNET_ROOT location as the installer builds for some reason still fail to find the correct SDK even though I believe lab machines use the default .dotnet location.

@trylek
Copy link
Member Author

trylek commented Mar 17, 2021

@davidwrighton - I believe I have addressed your PR feedback and in fact, thanks to Jeremy's advice it's ultimately super simple. I have also analyzed the binlogs on Windows (there are no binlogs produced for Linux / OSX runs, I'll create a tracking issue for that) and I confirmed that RunReadyToRunCompilation now truly uses Crossgen2. Can you please take another look when you have a chance?

@trylek trylek merged commit 1e233e7 into dotnet:main Mar 17, 2021
@trylek trylek deleted the CG2FrameworkPublishingFix branch March 17, 2021 19:54
@ghost ghost locked as resolved and limited conversation to collaborators Apr 16, 2021
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants