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

Make Crossgen2 a self-contained package #31741

Merged
merged 2 commits into from
Feb 5, 2020

Conversation

fadimounir
Copy link
Contributor

We had a discussion about it in our team meeting today and we'll go with a self-contained package for crossgen2 in dotnet5.0

cc @dotnet/crossgen-contrib

@MichalStrehovsky
Copy link
Member

Cc @jkoritzinsky

@jkoritzinsky
Copy link
Member

This conflicts with the work in #31701 to move crossgen2 into Arcade along with the rest of the managed components in coreclr. Arcade doesn't support publishing as part of a build as far as I can tell, so that moves crossgen2 to just use the framework-dependent build.

@jkoritzinsky
Copy link
Member

Also, do we want to publish it as self-contained with the runtime from the sdk we build dotnet/runtime with, or the runtime built as part of the build of dotnet/runtime?

This PR currently uses the runtime from the sdk we build dotnet/runtime with. As a result, when building a shipping product, the crossgen2 product would ship with a non-shipping runtime.

If we move the packaging steps for crossgen2 up to the installer subset, then we would have enough of the runtime constructed to create a self-contained crossgen2 package using the just-built runtime. This would enable the release package of crossgen2 to ship with a release runtime.

@fadimounir
Copy link
Contributor Author

This conflicts with the work in #31701

How do you suggest we fix that? We want to ship crossgen2 as a self-contained package.

Also, do we want to publish it as self-contained with the runtime from the sdk we build dotnet/runtime with, or the runtime built as part of the build of dotnet/runtime?

If we move the packaging steps for crossgen2 up to the installer subset, then we would have enough of the runtime constructed to create a self-contained crossgen2 package using the just-built runtime

We want it to ship using the 5.0 runtime that we'll ship eventually. Sounds like this should move to the installer subset then?

@fadimounir
Copy link
Contributor Author

@jkoritzinsky and I discussed it in person:

  1. We can delete the crossgen2 packaging project from the coreclr sub-repo, since we're shipping the one from the installer sub-repo
  2. We'll merge this PR for now (after deleting the project in coreclr), to unblock SDK work
  3. @jkoritzinsky Will work on making the crossgen2 package a self-contained one from Arcade instead of dotnet/runtime, and dotnet/runtime will build a temporary FD package instead.

The packaging project for the package we ship is under the installer sub-repo
@jkoritzinsky
Copy link
Member

To clarify item 3:

I'll make the crossgen2 assembly build as framework-dependent, and make the Microsoft.NETCore.App.Crossgen2 package project assemble a self-contained crossgen2 manually with live bits when creating the package.

@fadimounir fadimounir merged commit 8e60385 into dotnet:master Feb 5, 2020
@fadimounir fadimounir deleted the MakeCrossgen2SelfContained branch March 7, 2020 01:04
@ghost ghost locked as resolved and limited conversation to collaborators Dec 10, 2020
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.

4 participants