dotnet / aspnetcore

ASP.NET Core is a cross-platform .NET framework for building modern cloud-based web applications on Windows, Mac, or Linux.
https://asp.net
MIT License
35.42k stars 10k forks source link

Merge dotnet/xdt into aspnetcore #51753

Closed ViktorHofer closed 2 months ago

ViktorHofer commented 1 year ago

As discussed offline, we want to merge the xdt repository into aspnetcore. That repository contains a single source and test project. The cost of maintaining the infrastructure is higher than the value we get from that individual repository.

The component is used by at least aspnetcore and sdk, hence why layering this into aspnetcore makes most sense.

Work required:

cc @wtgodbe @danmoseley

mkArtakMSFT commented 12 months ago

There are no experts of that codebase in aspnetcore repo, we can't simply take on these things. There may be other small repos that we discover later, are we going to start merging these into other repos too, expanding these? I'm just a bit concerned about the approach in general, especially about moving things around without proper ownership defined. I think this deserves at least a conversation to understand how the ownership is going to work out. FYI @danmoseley

ViktorHofer commented 12 months ago

We talked about this in an offline chat and @wtgodbe mentioned that @vijayrkn owns xdt. I wouldn't expect the ownership to change here.

wtgodbe commented 11 months ago

Our concern is that aspnetcore builds will start breaking if something in xdt breaks, at which point it will essentially become our responsibility to fix a component we don't own, in order to unblock the team. How strong is the need for this?

ViktorHofer commented 11 months ago

This component hasn't changed for years but needs to be live built as it's part of the build from source graph. Both aspnetcore and sdk depends on it. As aspnetcore sits higher in the stack, we can't move it into sdk.

The xdt repository is de-facto unmaintained and keeping it running for a single project isn't really worth the cost.

danmoseley commented 11 months ago

Let's have a convo or mail offline.

wtgodbe commented 11 months ago

@ViktorHofer are you still on board to handle this migration?

ViktorHofer commented 11 months ago

Sure I can help with that part. I assume mimicing the folder structure of an existing component (i.e. ObjectPool) is fine? https://github.com/dotnet/aspnetcore/tree/main/src/ObjectPool

wtgodbe commented 11 months ago

Yes - you can check out https://github.com/dotnet/aspnetcore/blob/main/docs/AddingNewProjects.md for a couple other mechanical things that need to be done when we add a new project as well (namely updating .sln's & running eng/scripts/GenerateProjectList.ps1)

ViktorHofer commented 10 months ago

I noticed that nuget-client uses xdt as well. Need to see if a live version is used.

ViktorHofer commented 2 months ago

So I looked at this again. dotnet/xdt is a product dependency in dotnet/sdk and nuget-client. It's also used in aspnetcore. Hence we can't merge this into aspnetcore and xdt probably needs to stay as a separate repository.