Use consistent packages across platforms for bootstrap #15823
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
The configuration of which packages to restore for the previously source-built bootstrapping logic has inconsistencies between platforms. For example, there is a
runtime.linux-arm64.Microsoft.DotNet.IlCompiler
package listed but noruntime.linux-x64.Microsoft.DotNet.IlCompiler
. That example is actually the reason for the issue identified in dotnet/source-build#3315.In order to make the configuration consistent and easier to manage, I've implemented logic which essentially takes the sets of runtime packs and portable packages and produces a cross-product of them against the set of Linux RIDs being targeted (e.g.
linux-x64
). This cross-product then can produce the full set of package names that need to be restored.During this analysis, it was discovered that the
Microsoft.NET.HostModel
andMicrosoft.NET.Sdk.IL
packages are not needed so these have been removed.Here's a list of the full set of package names that are generated by this logic:
Fixes dotnet/source-build#3315