dotnet / wpf

WPF is a .NET Core UI framework for building Windows desktop applications.
MIT License
7.07k stars 1.17k forks source link

Add documentation on how to find which Core SDK version contains a specific WPF commit #1026

Open ryalanms opened 5 years ago

stevenbrix commented 5 years ago

I think starting here might help: https://github.com/dotnet/core-setup/blob/master/Documentation/project-docs/how-to-track-changes.md

That doesn't rely on swagger ui, which is helpful for external contributors. Swagger UI should theoretically be able to help here, although you still need to figure out how to follow the darc flow, which quickly becomes confusing.

vatsan-madhavan commented 5 years ago

@dagood, is this documentation still correct? Does M.WindowsDesktop.App preserve commit SHA’s from dotnet/winforms, dotnet/wpf and dotnet-wpf-int in versions.txt?

dagood commented 5 years ago

External contributors can't access BAR yet, swagger or not: https://github.com/dotnet/arcade-services/issues/2566. 😢

No, that doc is not current. If you open up preview 6 for example, you'll only see this in Microsoft.WindowsDesktop.App.versions.txt:

core-setup fdf81c6faf7c7e0463d191a3a1d36c25c201e5cb

If you have Darc, you should be able to use get-dependency-graph on Core-SDK to see what versions of everything it includes. For external devs, --local should be able to get this info without BAR by looking through the info in each repo's eng/Version.Details.xml, but I don't know how to specifically use it.

But I'm not sure if there's a way to go the other way around--find the first build that contains some WPF commit. You might end up having to do a binary search manually if you want the specific build.

I'd suggest filing issues on Arcade if there are any troubles here, Darc/BAR should make our lives easier in this area.

vatsan-madhavan commented 5 years ago

@dagood Can we start including version information for each of the contributing repo into Microsoft.WindowsDesktop.App.versions.txt? This seems like an easy win.

dagood commented 5 years ago

IIRC WinForms doesn't have version.txt in its transport package, but WPF does--the current infra is dependent on that. But yeah, for WPF, all that should need to happen is copy code like this:

https://github.com/dotnet/core-setup/blob/affd77517865aef5f6f82e6bdfc214e673d4ba61/src/pkg/projects/netcoreapp/src/netcoreapp.depproj#L32-L53

into windowsdesktop.depproj:

https://github.com/dotnet/core-setup/blob/affd77517865aef5f6f82e6bdfc214e673d4ba61/src/pkg/projects/windowsdesktop/src/windowsdesktop.depproj#L36-L40

I don't have time right now to try it out myself.

ryalanms commented 5 years ago

This was a great question from @Lakritzator that I didn't have an answer to. We are still following version files and reading commit hashes out of packages with NuGet Explorer.

dagood commented 5 years ago

Come to think of it, you can get the commit hash from the DLL. If you're able to download the Core-SDK output you want to check, you can just use:

#> (gi .\PresentationFramework.dll).VersionInfo.ProductVersion.Split('+')[1]
18691cea4b61248df9facbae56e02783eb73f2b6