BuildStep Class

(ProjectExplorer::BuildStep)

The BuildStep class provides build steps for projects. More...

Header: #include <BuildStep>
Inherits: ProjectExplorer::ProjectConfiguration
Inherited By:

ProjectExplorer::AbstractProcessStep

Public Types

enum OutputFormat { Stdout, Stderr, NormalMessage, ErrorMessage }
enum OutputNewlineSetting { DoAppendNewline, DontAppendNewline }

Public Functions

BuildConfiguration *buildConfiguration() const
void cancel()
virtual BuildStepConfigWidget *createConfigWidget()
DeployConfiguration *deployConfiguration() const
bool enabled() const
virtual bool init() = 0
bool isImmutable() const
ProjectConfiguration *projectConfiguration() const
void run()
void setEnabled(bool b)
void setImmutable(bool immutable)
void setWidgetExpandedByDefault(bool widgetExpandedByDefault)
Target *target() const
bool widgetExpandedByDefault() const

Reimplemented Public Functions

virtual bool fromMap(const QVariantMap &map) override
virtual bool isActive() const override
virtual Project *project() const override
virtual QVariantMap toMap() const override

Signals

void addOutput(const QString &string, ProjectExplorer::BuildStep::OutputFormat format, ProjectExplorer::BuildStep::OutputNewlineSetting newlineSetting = DoAppendNewline)
void addTask(const ProjectExplorer::Task &task, int linkedOutputLines = 0, int skipLines = 0)
void enabledChanged()
void finished(bool result)
void progress(int percentage, const QString &message)

Static Public Members

void reportRunResult(QFutureInterface<bool> &fi, bool success)

Protected Functions

BuildStep(BuildStepList *bsl, Core::Id id)
std::function<bool() > cancelChecker() const
bool isCanceled() const
void runInThread(const std::function<bool() > &syncImpl)

Detailed Description

The BuildStep class provides build steps for projects.

Build steps are the primary way plugin developers can customize how their projects (or projects from other plugins) are built.

Projects are built by taking the list of build steps from the project and calling first init() and then run() on them.

To change the way your project is built, reimplement this class and add your build step to the build step list of the project.

Note: The projects own the build step. Do not delete them yourself.

init() is called in the GUI thread and can be used to query the project for any information you need.

run() is run via Utils::runAsync in a separate thread. If you need an event loop, you need to create it yourself.

Member Type Documentation

enum BuildStep::OutputFormat

enum BuildStep::OutputNewlineSetting

Member Function Documentation

[protected] BuildStep::BuildStep(BuildStepList *bsl, Core::Id id)

Default constructs an instance of BuildStep.

[signal] void BuildStep::addOutput(const QString &string, ProjectExplorer::BuildStep::OutputFormat format, ProjectExplorer::BuildStep::OutputNewlineSetting newlineSetting = DoAppendNewline)

[signal] void BuildStep::addTask(const ProjectExplorer::Task &task, int linkedOutputLines = 0, int skipLines = 0)

BuildConfiguration *BuildStep::buildConfiguration() const

void BuildStep::cancel()

[protected] std::function<bool() > BuildStep::cancelChecker() const

[virtual] BuildStepConfigWidget *BuildStep::createConfigWidget()

Returns the Widget shown in the target settings dialog for this build step. Ownership is transferred to the caller.

DeployConfiguration *BuildStep::deployConfiguration() const

bool BuildStep::enabled() const

See also setEnabled().

[signal] void BuildStep::enabledChanged()

[signal] void BuildStep::finished(bool result)

[override virtual] bool BuildStep::fromMap(const QVariantMap &map)

[pure virtual] bool BuildStep::init()

This function is run in the GUI thread. Use it to retrieve any information that you need in the run() function.

[override virtual] bool BuildStep::isActive() const

[protected] bool BuildStep::isCanceled() const

bool BuildStep::isImmutable() const

[signal] void BuildStep::progress(int percentage, const QString &message)

[override virtual] Project *BuildStep::project() const

ProjectConfiguration *BuildStep::projectConfiguration() const

[static] void BuildStep::reportRunResult(QFutureInterface<bool> &fi, bool success)

void BuildStep::run()

[protected] void BuildStep::runInThread(const std::function<bool() > &syncImpl)

void BuildStep::setEnabled(bool b)

See also enabled().

void BuildStep::setImmutable(bool immutable)

See also isImmutable().

void BuildStep::setWidgetExpandedByDefault(bool widgetExpandedByDefault)

See also widgetExpandedByDefault().

Target *BuildStep::target() const

[override virtual] QVariantMap BuildStep::toMap() const

bool BuildStep::widgetExpandedByDefault() const

See also setWidgetExpandedByDefault().