ProjectExplorer: Document how ProjectExplorer::BuildSystem interacts

Document how ProjectExplorer::BuildSystem interacts with its
surrounding in a sequence diagram stored in buildsystem.md.

Change-Id: I1419ac63af73e382440f42a168bb103dec8d4b0c
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
This commit is contained in:
Tobias Hunger
2020-04-23 11:05:16 +02:00
committed by Eike Ziller
parent 1b63091314
commit 6c4c7ec751

View File

@@ -0,0 +1,34 @@
# BuildSystem
This is a sequence diagram of how ProjectExplorer::BuildSystem interacts with
its implementations:
```mermaid
sequenceDiagram
User ->> BuildSystemImpl: provide data and ask for parse (impl. defined!)
BuildSystemImpl ->> BuildSystem: call requestParse() or requestDelayedParse()
activate BuildSystem
BuildSystem ->> BuildSystem: m_delayedParsingTimer sends timeout()
BuildSystem ->> BuildSystemImpl: call triggerParsing()
deactivate BuildSystem
activate BuildSystemImpl
BuildSystemImpl ->> BuildSystem: call guardParsingRun()
activate BuildSystem
BuildSystem ->> ParseGuard: Construct
activate ParseGuard
ParseGuard ->> BuildSystem: call emitParsingStarted
BuildSystem ->> User: signal parsingStarted()
BuildSystem ->> BuildSystemImpl: Hand over ParseGuard
deactivate BuildSystem
BuildSystemImpl ->> BuildSystemImpl: Do parsing
opt Report Success
BuildSystemImpl ->> ParseGuard: markAsSuccess()
end
BuildSystemImpl ->> ParseGuard: Destruct
ParseGuard ->> BuildSystem: emitParsingFinished()
activate BuildSystem
BuildSystem ->> User: Signal ParsingFinished(...)
deactivate BuildSystem
deactivate ParseGuard
deactivate BuildSystemImpl
```