-
Notifications
You must be signed in to change notification settings - Fork 693
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
Use new serializer library to parse solution files #6219
base: dev
Are you sure you want to change the base?
Conversation
Because the library is async-only, this required a bit of bubbling-up of async signatures and CancellationToken-passing through the List and Why commands.
82d4581
to
aea214b
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM!
Some minor feedback.
We need a change for source build as well.
src/NuGet.Core/NuGet.CommandLine.XPlat/Commands/Why/WhyCommandArgs.cs
Outdated
Show resolved
Hide resolved
@zivkan do you have any idea what's up with the tests on the single failing leg? |
I was going to write that there are a (large?) number of Nuget's tests that are just a little bit flakey, but when I looked at the test's history, this specific test doesn't have any other failures in the test history. Plus, the stack trace shows the error is coming from shows it's coming from Anyway, I clicked the button to retry failed tests, so it'll probably pass on retry. |
Well, it failed again on the same test with the same error, which increases the chance that it might somehow be related to something in this PR, but I'm struggling to imagine what it could possibly be |
Hypothesis: More async-stuff is happening with this PR, so if base-platform level syscalls require thread synchronization it's possible that might need to be adhered to? Maybe sprinkling .ConfigureAwait(false) everywhere there's new async code in this PR? |
Personally, I think it's more likely that some method that was made async is not being awaited, allowing some method to exit before the async work happens. This makes a good case for always renaming methods that are made async to append the However, I don't see any files modified that The fact that the test also fails only on Mac, not on Linux or Windows makes it even more mysterious. I keep writing questions like "have you tried running the test locally", but unless you have a Mac, it doesn't really matter. It's a fresh day today, but I didn't get any new ideas on how to diagnose or fix the failing test. |
Because the library is async-only, this required a bit of bubbling-up of async signatures and CancellationToken-passing through the List and Why commands.
Bug
Fixes: NuGet/Home#14034
Description
Minimal work to
why
andpackage list
commands.list package
with the slnx formatNote that this does not remove all usage of the now-deprecated SolutionFile MSBuild API in NuGet (the only location of which I could find was
GetProjectGraphEntryPoints
- that seemed a bit above my knowledge level (though conceptually should also be simple).PR Checklist