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());
|
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)
|
bool AbstractProcessStep::setupProcess(Process &process)
|
||||||
{
|
{
|
||||||
const FilePath workingDir = d->m_param.effectiveWorkingDirectory();
|
const FilePath workingDir = d->m_param.effectiveWorkingDirectory();
|
||||||
|
@@ -9,11 +9,14 @@
|
|||||||
|
|
||||||
namespace Utils {
|
namespace Utils {
|
||||||
class CommandLine;
|
class CommandLine;
|
||||||
enum class ProcessResult;
|
|
||||||
class Process;
|
class Process;
|
||||||
|
enum class ProcessResult;
|
||||||
}
|
}
|
||||||
|
|
||||||
namespace Tasking { class Group; }
|
namespace Tasking {
|
||||||
|
class Group;
|
||||||
|
class GroupItem;
|
||||||
|
}
|
||||||
|
|
||||||
namespace ProjectExplorer {
|
namespace ProjectExplorer {
|
||||||
class ProcessParameters;
|
class ProcessParameters;
|
||||||
@@ -48,6 +51,7 @@ protected:
|
|||||||
void setLowPriority();
|
void setLowPriority();
|
||||||
void setDisplayedParameters(ProcessParameters *params);
|
void setDisplayedParameters(ProcessParameters *params);
|
||||||
|
|
||||||
|
Tasking::GroupItem defaultProcessTask();
|
||||||
bool setupProcess(Utils::Process &process);
|
bool setupProcess(Utils::Process &process);
|
||||||
void handleProcessDone(const Utils::Process &process);
|
void handleProcessDone(const Utils::Process &process);
|
||||||
void runTaskTree(const Tasking::Group &recipe);
|
void runTaskTree(const Tasking::Group &recipe);
|
||||||
|
Reference in New Issue
Block a user