1. 11 Mar, 2017 3 commits
  2. 10 Feb, 2017 1 commit
    • Christian Hergert's avatar
      pipeline: add IdeBuildPipeline · 7b9075ea
      Christian Hergert authored
      The new IdeBuildPipeline provides a pluggable pipeline with phases. Stages
      are attached within a given stage. When the pipeline is executed, it tries
      to avoid performing unnecessary work so that we can speed up the rate at
      which some user-actions can be performed (such as running).
      
      You can invalidate phases for which those stages will need to be
      re-executed next time the pipeline advances to that phase.
      
      Stages can override some of this behavior by attaching to the ::query
      signal to determine their "completed" status. If work needs to be
      performed asynchronously, it can put a "hold" on the stage and release
      the hold after the asynchronous work is completed. The pipeline will
      pause to wait for thie operation to complete.
      
      You likely want to use some of the pre-created build stage subclasses
      such as for creating directories, launching subprocesses, or performing
      transfers.
      7b9075ea