### Class

# Ide PipelineStage

#### Description

    class Ide.PipelineStage : Ide.Object {
      parent_instance: IdeObject
    }

No description available.

#### Ancestors

- IdeObject
- GObject

#### Descendants

- IdePipelineStageLauncher
- IdePipelineStageMkdirs
- IdePipelineStageTransfer

#### Instance methods

###### ide_pipeline_stage_build_async

No description available.

###### ide_pipeline_stage_build_finish

No description available.

###### ide_pipeline_stage_chain

No description available.

###### ide_pipeline_stage_clean_async

No description available.

###### ide_pipeline_stage_clean_finish

No description available.

###### ide_pipeline_stage_emit_reap

No description available.

###### ide_pipeline_stage_get_active

Gets the “active” property, which is set to `TRUE` when the build stage is actively executing or cleaning.

Available since: 3.32

###### ide_pipeline_stage_get_check_stdout

No description available.

###### ide_pipeline_stage_get_completed

No description available.

###### ide_pipeline_stage_get_disabled

No description available.

###### ide_pipeline_stage_get_name

No description available.

###### ide_pipeline_stage_get_stdout_path

No description available.

###### ide_pipeline_stage_get_transient

No description available.

###### ide_pipeline_stage_log

No description available.

###### ide_pipeline_stage_log_subprocess

This function will begin logging `subprocess` by reading from the stdout and stderr streams of the subprocess. You must have created the subprocess with `G_SUBPROCESS_FLAGS_STDERR_PIPE` and `G_SUBPROCESS_FLAGS_STDOUT_PIPE` so that the streams may be read.

Available since: 3.32

###### ide_pipeline_stage_pause

No description available.

###### ide_pipeline_stage_set_active

No description available.

###### ide_pipeline_stage_set_check_stdout

No description available.

###### ide_pipeline_stage_set_completed

No description available.

###### ide_pipeline_stage_set_disabled

No description available.

###### ide_pipeline_stage_set_log_observer

Sets the log observer to handle calls to the various stage logging functions. This will be set by the pipeline to mux logs from all stages into a unified build log.

Available since: 3.32

###### ide_pipeline_stage_set_name

No description available.

###### ide_pipeline_stage_set_stdout_path

No description available.

###### ide_pipeline_stage_set_transient

No description available.

###### ide_pipeline_stage_unpause

No description available.

##### 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.

#### Properties

###### Ide.PipelineStage:active

This property is set to `TRUE` when the build stage is actively running or cleaning.

Available since: 3.32

###### Ide.PipelineStage:check-stdout

Most build systems will preserve stderr for the processes they call, such as gcc, clang, and others. However, if your build system redirects all output to stdout, you may need to set this property to `TRUE` to ensure that Builder will extract errors from stdout.

Available since: 3.32

###### Ide.PipelineStage:completed

The “completed” property is set to `TRUE` after the pipeline has completed processing the stage. When the pipeline invalidates phases, completed may be reset to `FALSE`.

Available since: 3.32

###### Ide.PipelineStage:disabled

If the build stage is disabled. This allows you to have a stage that is attached but will not be activated during execution.

Available since: 3.32

###### Ide.PipelineStage:name

The name of the build stage. This is only used by UI to view the build pipeline.

Available since: 3.32

###### Ide.PipelineStage:stdout-path

The “stdout-path” property allows a build stage to redirect its log messages to a stdout file. Instead of passing stdout along to the build pipeline, they will be redirected to this file.

Available since: 3.32

###### Ide.PipelineStage:transient

If the build stage is transient.

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.PipelineStage::chain

No description available.

###### Ide.PipelineStage::query

The `IdePipelineStage::query` signal is emitted to request that the build stage update its completed stage from any external resources.

Available since: 3.32

###### Ide.PipelineStage::reap

This signal is emitted when a request to rebuild the project has occurred. This allows build stages to ensure that certain files are removed from the system. For example, an autotools build stage might request that “configure” is removed so that autogen.sh will be Executed as part of the next build.

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.

#### Class structure

    struct IdePipelineStageClass {
      IdeObjectClass parent_class;
      gboolean (* build) (
        IdePipelineStage* self,
        IdePipeline* pipeline,
        GCancellable* cancellable,
        GError** error
      );
      void (* build_async) (
        IdePipelineStage* self,
        IdePipeline* pipeline,
        GCancellable* cancellable,
        GAsyncReadyCallback callback,
        gpointer user_data
      );
      gboolean (* build_finish) (
        IdePipelineStage* self,
        GAsyncResult* result,
        GError** error
      );
      void (* clean_async) (
        IdePipelineStage* self,
        IdePipeline* pipeline,
        GCancellable* cancellable,
        GAsyncReadyCallback callback,
        gpointer user_data
      );
      gboolean (* clean_finish) (
        IdePipelineStage* self,
        GAsyncResult* result,
        GError** error
      );
      void (* query) (
        IdePipelineStage* self,
        IdePipeline* pipeline,
        GPtrArray* targets,
        GCancellable* cancellable
      );
      void (* reap) (
        IdePipelineStage* self,
        DzlDirectoryReaper* reaper
      );
      gboolean (* chain) (
        IdePipelineStage* self,
        IdePipelineStage* next
      );

    }

###### Class members

`parent_class` |
    IdeObjectClass
| No description available.
`build` |
    gboolean (* build) (
        IdePipelineStage* self,
        IdePipeline* pipeline,
        GCancellable* cancellable,
        GError** error
      )
| No description available.
`build_async` |
    void (* build_async) (
        IdePipelineStage* self,
        IdePipeline* pipeline,
        GCancellable* cancellable,
        GAsyncReadyCallback callback,
        gpointer user_data
      )
| No description available.
`build_finish` |
    gboolean (* build_finish) (
        IdePipelineStage* self,
        GAsyncResult* result,
        GError** error
      )
| No description available.
`clean_async` |
    void (* clean_async) (
        IdePipelineStage* self,
        IdePipeline* pipeline,
        GCancellable* cancellable,
        GAsyncReadyCallback callback,
        gpointer user_data
      )
| No description available.
`clean_finish` |
    gboolean (* clean_finish) (
        IdePipelineStage* self,
        GAsyncResult* result,
        GError** error
      )
| No description available.
`query` |
    void (* query) (
        IdePipelineStage* self,
        IdePipeline* pipeline,
        GPtrArray* targets,
        GCancellable* cancellable
      )
| No description available.
`reap` |
    void (* reap) (
        IdePipelineStage* self,
        DzlDirectoryReaper* reaper
      )
| No description available.
`chain` |
    gboolean (* chain) (
        IdePipelineStage* self,
        IdePipelineStage* next
      )
| No description available.

#### Virtual methods

###### Ide.PipelineStageClass.build

No description available.

###### Ide.PipelineStageClass.build_async

No description available.

###### Ide.PipelineStageClass.build_finish

No description available.

###### Ide.PipelineStageClass.chain

No description available.

###### Ide.PipelineStageClass.clean_async

No description available.

###### Ide.PipelineStageClass.clean_finish

No description available.

###### Ide.PipelineStageClass.query

No description available.

###### Ide.PipelineStageClass.reap

No description available.