-
Notifications
You must be signed in to change notification settings - Fork 1.4k
Support SkipNonexistentTargets
in project reference target protocol
#8330
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
Support SkipNonexistentTargets
in project reference target protocol
#8330
Conversation
Is there a specific use-case for this? I see a theoretical one, but I'm not aware of anything in the typical p2p protocol which uses |
b4ea87a
to
ac66585
Compare
|
…pNonexistentTargets='true'` to `GetTargetFrameworksWithPlatformForSingleTargetFramework`
47fd30c
to
11cb710
Compare
…uild` and address documentation
/azp run |
Azure Pipelines successfully started running 1 pipeline(s). |
/azp run |
Commenter does not have sufficient privileges for PR 8330 in repo dotnet/msbuild |
/azp run |
Azure Pipelines successfully started running 1 pipeline(s). |
@DmitriyShepelev Please help resolve the conflicts |
Update documentation given the merge of #8249, #8257, and #8330. --------- Co-authored-by: Rainer Sigwald <[email protected]>
Fixes #4252
Context
This PR extracts the relevant logic from the closed #5297, which adds support for the
SkipNonexistentTargets
metadatum on theProjectReferenceTargets
item:If
SkipNonexistentTargets
istrue
, then any targets inTargets
are skipped if they're nonexistent.SkipNonexistentTargets
cannot be added toProjectReferenceTargets
items whoseTargets
contain.default
or.projectReferenceTargetsOrDefaultTargets
, which represent the default targets and targets specified on theProjectReference
item (with fallback to default targets if none are specified), respectively.Changes Made
GetTargetLists
filters out skippable nonexistent targets on referenced projects.BuildResult
s to ensure that correspondingBuildRequestConfiguration
s on the build manager node have set project targets if the build manager node created a configuration based on a request from an external node but hadn't received a result (since the project may not have been loaded locally and thus the project targets would be unknown).SkipNonexistentTargets='true'
toGetTargetFrameworks
since in the non-graph case it is added to the relevant MSBuild task.Testing
UTs and manual testing with
/graph
and/graph /isolate
(the latter run withoutrestore
being called due to #6856) on the erroring repos I saw when testing #8249.Notes
Addressing this since it came up when testing #8249.
cc @dfederm