### Class

# Ide BuildManager

#### Description

    final class Ide.BuildManager : Ide.Object {
      /* No available fields */
    }

No description available.

#### Ancestors

- IdeObject
- GObject

#### Implements

- GActionGroup
- GInitable

#### Functions

###### ide_build_manager_from_context

No description available.

Available since: 3.32

###### ide_build_manager_ref_from_context

No description available.

Available since: 3.32

#### Instance methods

###### ide_build_manager_build_async

This function will request that `phase` is completed in the underlying build pipeline and execute a build. Upon completion, `callback` will be executed and it can determine the success or failure of the operation using ide_build_manager_build_finish().

Available since: 3.32

###### ide_build_manager_build_finish

Completes a request to ide_build_manager_build_async().

Available since: 3.32

###### ide_build_manager_cancel

This function will cancel any in-flight builds.

Available since: 3.32

###### ide_build_manager_clean_async

Asynchronously requests that the build pipeline clean up to `phase`.

Available since: 3.32

###### ide_build_manager_clean_finish

Completes an asynchronous request to ide_build_manager_clean_async().

Available since: 3.32

###### ide_build_manager_get_busy

Gets if the `IdeBuildManager` is currently busy building the project.

Available since: 3.32

###### ide_build_manager_get_can_build

Checks if the current pipeline is ready to build.

Available since: 3.32

###### ide_build_manager_get_error_count

No description available.

###### ide_build_manager_get_last_build_time

This function returns a `GDateTime` of the last build request. If there has not yet been a build request, this will return `NULL`.

Available since: 3.32

###### ide_build_manager_get_message

This function returns the current build message as a string.

Available since: 3.32

###### ide_build_manager_get_pipeline

This function gets the current build pipeline. The pipeline will be reloaded as build configurations change.

Available since: 3.32

###### ide_build_manager_get_running_time

Gets the amount of elapsed time of the current build as a `GTimeSpan`.

Available since: 3.32

###### ide_build_manager_get_warning_count

No description available.

###### ide_build_manager_invalidate

Requests that the `IdeBuildManager` invalidate the current pipeline and setup a new pipeline.

Available since: 3.32

###### ide_build_manager_rebuild_async

Asynchronously requests that the build pipeline clean and rebuild up to the given phase. This may involve discarding previous build artifacts to allow for the rebuild process.

Available since: 3.32

###### ide_build_manager_rebuild_finish

Completes an asynchronous request to ide_build_manager_rebuild_async().

Available since: 3.32

###### ide_build_manager_ref_pipeline

A thread-safe variant of ide_build_manager_get_pipeline().

Available since: 3.32

##### Methods inherited from IdeObject (28)

Please see IdeObject for a full list of methods.

##### Methods inherited from GObject (43)

Please see GObject for a full list of methods.

##### Methods inherited from GActionGroup (14)

###### g_action_group_action_added

Emits the `GActionGroup::action-added` signal on `action_group`.

Available since: 2.28

###### g_action_group_action_enabled_changed

Emits the `GActionGroup::action-enabled-changed` signal on `action_group`.

Available since: 2.28

###### g_action_group_action_removed

Emits the `GActionGroup::action-removed` signal on `action_group`.

Available since: 2.28

###### g_action_group_action_state_changed

Emits the `GActionGroup::action-state-changed` signal on `action_group`.

Available since: 2.28

###### g_action_group_activate_action

Activate the named action within `action_group`.

Available since: 2.28

###### g_action_group_change_action_state

Request for the state of the named action within `action_group` to be changed to `value`.

Available since: 2.28

###### g_action_group_get_action_enabled

Checks if the named action within `action_group` is currently enabled.

Available since: 2.28

###### g_action_group_get_action_parameter_type

Queries the type of the parameter that must be given when activating the named action within `action_group`.

Available since: 2.28

###### g_action_group_get_action_state

Queries the current state of the named action within `action_group`.

Available since: 2.28

###### g_action_group_get_action_state_hint

Requests a hint about the valid range of values for the state of the named action within `action_group`.

Available since: 2.28

###### g_action_group_get_action_state_type

Queries the type of the state of the named action within `action_group`.

Available since: 2.28

###### g_action_group_has_action

Checks if the named action exists within `action_group`.

Available since: 2.28

###### g_action_group_list_actions

Lists the actions contained within `action_group`.

Available since: 2.28

###### g_action_group_query_action

Queries all aspects of the named action within an `action_group`.

Available since: 2.32

##### Methods inherited from GInitable (1)

###### g_initable_init

Initializes the object implementing the interface.

Available since: 2.22

#### Properties

###### Ide.BuildManager:busy

The “busy” property indicates if there is currently a build executing. This can be bound to UI elements to display to the user that a build is active (and therefore other builds cannot be activated at the moment).

Available since: 3.32

###### Ide.BuildManager:can-build

Gets if the build manager can queue a build request.

Available since: 3.32

###### Ide.BuildManager:error-count

The number of errors discovered during the build process.

Available since: 3.32

###### Ide.BuildManager:has-diagnostics

The “has-diagnostics” property indicates that there have been diagnostics found during the last execution of the build pipeline.

Available since: 3.32

###### Ide.BuildManager:last-build-time

The “last-build-time” property contains a `GDateTime` of the time the last build request was submitted.

Available since: 3.32

###### Ide.BuildManager:message

The “message” property contains a string message describing the current state of the build process. This may be bound to UI elements to notify the user of the buid progress.

Available since: 3.32

###### Ide.BuildManager:pipeline

The “pipeline” property is the build pipeline that the build manager is currently managing.

Available since: 3.32

###### Ide.BuildManager:running-time

The “running-time” property can be bound by UI elements that want to track how long the current build has taken. `g_object_notify()` is called on a regular interval during the build so that the UI elements may automatically update.

Available since: 3.32

###### Ide.BuildManager:warning-count

The “warning-count” property contains the number of warnings that have been discovered in the current build request.

Available since: 3.32

##### Properties inherited from IdeObject (2)

###### Ide.Object:cancellable

The “cancellable” property is a `GCancellable` that can be used by operations that will be cancelled when the `IdeObject::destroy` signal is emitted on `self`.

Available since: 3.32

###### Ide.Object:parent

The parent `IdeObject`, if any.

Available since: 3.32

#### Signals

###### Ide.BuildManager::build-failed

The “build-failed” signal is emitted when a build that was previously notified via `IdeBuildManager::build-started` has failed to complete successfully.

Available since: 3.32

###### Ide.BuildManager::build-finished

The “build-finished” signal is emitted when a build completed successfully.

Available since: 3.32

###### Ide.BuildManager::build-started

The “build-started” signal is emitted when a new build has started. The build may be an incremental build. The `pipeline` instance is the build pipeline which is being executed.

Available since: 3.32

##### Signals inherited from IdeObject (1)

###### Ide.Object::destroy

The “destroy” signal is emitted when the object should destroy itself and cleanup any state that is no longer necessary. This happens when the object has been removed from the because it was requested to be destroyed, or because a parent object is being destroyed.

Available since: 3.32

##### Signals inherited from GObject (1)

###### GObject.Object::notify

The notify signal is emitted on an object when one of its properties has its value set through g_object_set_property(), g_object_set(), et al.

##### Signals inherited from GActionGroup (4)

###### Gio.ActionGroup::action-added

Signals that a new action was just added to the group. This signal is emitted after the action has been added and is now visible.

Available since: 2.28

###### Gio.ActionGroup::action-enabled-changed

Signals that the enabled status of the named action has changed.

Available since: 2.28

###### Gio.ActionGroup::action-removed

Signals that an action is just about to be removed from the group. This signal is emitted before the action is removed, so the action is still visible and can be queried from the signal handler.

Available since: 2.28

###### Gio.ActionGroup::action-state-changed

Signals that the state of the named action has changed.

Available since: 2.28

#### Class structure

    struct IdeBuildManagerClass {
      IdeObjectClass parent_class;

    }

###### Class members

`parent_class` |
    IdeObjectClass
| No description available.