Details
-
Technical task
-
Resolution: Unresolved
-
Not Evaluated
-
None
-
None
-
None
Description
Feel free to add any possible new TaskTree usages to the list below:
- Android plugin - as a continuation after sending AndroidSdkDownloader::sdkExtracted() signal. It looks like continuations are series of asynchronous tasks, like:
- AndroidSdkManagerPrivate::reloadSdkPackages() - this executes a blocking process with sdkManagerCommand() currently.
- The latter emits AndroidSdkManager::packageReloadFinished(), and it calls AndroidSettingsWidget::downloadOpenSslRepo(), which starts a git clone process asynchronously.
- RunControl
- could the Runworker system completely replaced by tasktree?
- Debugger plugin
- could individual command/response handling be tasks? there are "mini state machines" for e.g. setting and updated
- setups using debug servers have typically two processes running in parallel
- "mixed" debugging has two DebuggerEngines running in parallel
- Make a VcsCommand revolution:
- Most probably remove VcsCommand and use Utils::Process directly.
- Instead of VcsCommand::addJob() functionality, use TaskTree
- Get rid of Process::setExitCodeInterpreter() and tweak the process return value in the TaskTree instead
- Introduce much more TaskTree usages, as there are many cases that some processes are invoked in a blocking way from the main thread and later the asynchronous one is used (after receiving the data from the previous one)