Package hudson.matrix

Class DefaultMatrixExecutionStrategyImpl

All Implemented Interfaces:
ExtensionPoint, Describable<MatrixExecutionStrategy>

public class DefaultMatrixExecutionStrategyImpl extends MatrixExecutionStrategy
MatrixExecutionStrategy that captures historical behavior.

This class is somewhat complex because historically this wasn't an extension point and so people tried to put various logics that cover different use cases into one place. Going forward, people are encouraged to create subtypes to implement a custom logic that suits their needs.

Since:
1.456
Author:
Kohsuke Kawaguchi
  • Constructor Details

    • DefaultMatrixExecutionStrategyImpl

      @DataBoundConstructor public DefaultMatrixExecutionStrategyImpl(Boolean runSequentially, boolean hasTouchStoneCombinationFilter, String touchStoneCombinationFilter, Result touchStoneResultCondition, MatrixConfigurationSorter sorter)
    • DefaultMatrixExecutionStrategyImpl

      public DefaultMatrixExecutionStrategyImpl(boolean runSequentially, String touchStoneCombinationFilter, Result touchStoneResultCondition, MatrixConfigurationSorter sorter)
    • DefaultMatrixExecutionStrategyImpl

      public DefaultMatrixExecutionStrategyImpl(boolean runSequentially, String touchStoneCombinationFilter, Result touchStoneResultCondition, int scheduleDelayMillis, MatrixConfigurationSorter sorter)
    • DefaultMatrixExecutionStrategyImpl

      public DefaultMatrixExecutionStrategyImpl()
  • Method Details

    • setHasScheduleDelayBetweenChildBuilds

      @DataBoundSetter public void setHasScheduleDelayBetweenChildBuilds(boolean has)
      Optional delay is not part of DataBoundConstructor so Stapler/XStream stay compatible with the historical 5-argument constructor shape (avoids subtle test/plugin loading issues).
    • setScheduleDelayMillis

      @DataBoundSetter public void setScheduleDelayMillis(Integer scheduleDelayMillis)
    • getHasTouchStoneCombinationFilter

      public boolean getHasTouchStoneCombinationFilter()
    • isRunSequentially

      public boolean isRunSequentially()
      If true, MatrixRuns are run sequentially, instead of running in parallel. TODO: this should be subsumed by ResourceController.
    • setRunSequentially

      public void setRunSequentially(boolean runSequentially)
    • getTouchStoneCombinationFilter

      public String getTouchStoneCombinationFilter()
    • setTouchStoneCombinationFilter

      public void setTouchStoneCombinationFilter(String touchStoneCombinationFilter)
    • getTouchStoneResultCondition

      public Result getTouchStoneResultCondition()
    • setTouchStoneResultCondition

      public void setTouchStoneResultCondition(Result touchStoneResultCondition)
    • getSorter

      public MatrixConfigurationSorter getSorter()
    • setSorter

      public void setSorter(MatrixConfigurationSorter sorter)
    • getScheduleDelayMillis

      public int getScheduleDelayMillis()
    • setScheduleDelayMillis

      public void setScheduleDelayMillis(int scheduleDelayMillis)
    • getHasScheduleDelayBetweenChildBuilds

      public boolean getHasScheduleDelayBetweenChildBuilds()
    • run

      Overrides:
      run in class MatrixExecutionStrategy
      Throws:
      InterruptedException
      IOException