forked from qt-creator/qt-creator
AbstractProcessStep: Introduce defaultProcessTask()
Task-number: QTCREATORBUG-29168 Change-Id: Ic10a2edefd1a2ce1ffffd0eb051a720d9462e099 Reviewed-by: hjk <hjk@qt.io>
This commit is contained in:
@@ -202,6 +202,15 @@ void AbstractProcessStep::setupStreams()
|
||||
d->stderrStream = std::make_unique<QTextDecoder>(QTextCodec::codecForLocale());
|
||||
}
|
||||
|
||||
GroupItem AbstractProcessStep::defaultProcessTask()
|
||||
{
|
||||
const auto onSetup = [this](Process &process) {
|
||||
return setupProcess(process) ? SetupResult::Continue : SetupResult::StopWithError;
|
||||
};
|
||||
const auto onEnd = [this](const Process &process) { handleProcessDone(process); };
|
||||
return ProcessTask(onSetup, onEnd, onEnd);
|
||||
}
|
||||
|
||||
bool AbstractProcessStep::setupProcess(Process &process)
|
||||
{
|
||||
const FilePath workingDir = d->m_param.effectiveWorkingDirectory();
|
||||
|
@@ -9,11 +9,14 @@
|
||||
|
||||
namespace Utils {
|
||||
class CommandLine;
|
||||
enum class ProcessResult;
|
||||
class Process;
|
||||
enum class ProcessResult;
|
||||
}
|
||||
|
||||
namespace Tasking { class Group; }
|
||||
namespace Tasking {
|
||||
class Group;
|
||||
class GroupItem;
|
||||
}
|
||||
|
||||
namespace ProjectExplorer {
|
||||
class ProcessParameters;
|
||||
@@ -48,6 +51,7 @@ protected:
|
||||
void setLowPriority();
|
||||
void setDisplayedParameters(ProcessParameters *params);
|
||||
|
||||
Tasking::GroupItem defaultProcessTask();
|
||||
bool setupProcess(Utils::Process &process);
|
||||
void handleProcessDone(const Utils::Process &process);
|
||||
void runTaskTree(const Tasking::Group &recipe);
|
||||
|
Reference in New Issue
Block a user