Skip to content

Commit 6bae205

Browse files
authored
Clarify the acquisition topic (#10636)
1 parent 87d662a commit 6bae205

File tree

1 file changed

+3
-1
lines changed

1 file changed

+3
-1
lines changed

documentation/specs/BuildCheck/BuildCheck-Architecture.md

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -106,7 +106,7 @@ How we'll internally handle the distributed model:
106106
Planned model:
107107
* Checks factories get registered with the BuildCheck infrastructure (`BuildCheckManager`)
108108
* For inbox checks - this happens on startup.
109-
* For custom checks - this happens on connecting `ILogger` instance in scheduler node receives acquistion event (`BuildCheckAcquisitionEventArgs`). This event is being sent by worker node as soon as it hits a special marker (a magic property function call) during early evaluation. Loading is not processed by worker node as currently we want custom checks only in the main node (as they will be only given data proxied from BuildEventArgs).
109+
* For custom checks - this happens on connecting `ILogger` instance in scheduler node receives acquistion event (`BuildCheckAcquisitionEventArgs`). This event is being sent by worker node as soon as it hits a special marker (a magic property function call) during early evaluation. Loading is not processed by worker node as currently we want custom checks only in the main node (as they will be only given data proxied from BuildEventArgs). Loading in worker node in Evaluation context would result in double work as the custom Check needs to be loaded in the main node anyways.
110110
The `BuildCheckAcquisitionEventArgs` should be sent prior `ProjectEvaluationStartedEventArgs` (buffering will need to take place), or main node will need to replay some initial data after custom check is registered.
111111
* `BuildCheckManager` receives info about new project starting to be build
112112
* On scheduler node the information is sourced from `ProjectEvaluationStartedEventArgs`
@@ -136,6 +136,8 @@ Since we are unlikely to enable any checks by default in .NET 9, the focus in th
136136

137137
# Acquisition
138138

139+
(For details on internals of processing acquisition by the infrastructure see [Check Lifecycle](#check-lifecycle))
140+
139141
BuildCheck employs two distinct types of checks: inbox and custom. As a result, the acquisition and distribution processes vary.
140142
Inbox rules are integrated into the MSBuild repository, while custom checks can be packaged as NuGet packages and detected by MSBuild provided they adhere to a specific structure.
141143

0 commit comments

Comments
 (0)