<?xml version="1.0" encoding="utf-8"?>
<project>
  <builders>
    <com.tikal.jenkins.plugins.multijob.MultiJobBuilder>
      <phaseName>PhaseOne</phaseName>
      <continuationCondition>SUCCESSFUL</continuationCondition>
      <executionType>PARALLEL</executionType>
      <phaseJobs>
        <com.tikal.jenkins.plugins.multijob.PhaseJobsConfig>
          <jobName>PhaseOneJobA</jobName>
          <currParams>true</currParams>
          <configs>
            <org.jvnet.jenkins.plugins.nodelabelparameter.parameterizedtrigger.NodeLabelBuildParameter>
              <name>vm_name</name>
              <nodeLabel>agent-${BUILD_NUMBER}</nodeLabel>
            </org.jvnet.jenkins.plugins.nodelabelparameter.parameterizedtrigger.NodeLabelBuildParameter>
            <hudson.plugins.git.GitRevisionBuildParameters>
              <combineQueuedCommits>false</combineQueuedCommits>
            </hudson.plugins.git.GitRevisionBuildParameters>
          </configs>
          <abortAllJob>true</abortAllJob>
          <aggregatedTestResults>false</aggregatedTestResults>
          <enableRetryStrategy>false</enableRetryStrategy>
        </com.tikal.jenkins.plugins.multijob.PhaseJobsConfig>
        <com.tikal.jenkins.plugins.multijob.PhaseJobsConfig>
          <jobName>PhaseOneJobB</jobName>
          <currParams>true</currParams>
          <configs>
            <hudson.plugins.parameterizedtrigger.FileBuildParameters>
              <propertiesFile>build.props</propertiesFile>
              <failTriggerOnMissing>true</failTriggerOnMissing>
            </hudson.plugins.parameterizedtrigger.FileBuildParameters>
          </configs>
          <abortAllJob>false</abortAllJob>
          <aggregatedTestResults>false</aggregatedTestResults>
          <enableRetryStrategy>false</enableRetryStrategy>
        </com.tikal.jenkins.plugins.multijob.PhaseJobsConfig>
      </phaseJobs>
    </com.tikal.jenkins.plugins.multijob.MultiJobBuilder>
    <com.tikal.jenkins.plugins.multijob.MultiJobBuilder>
      <phaseName>PhaseTwo</phaseName>
      <continuationCondition>UNSTABLE</continuationCondition>
      <executionType>SEQUENTIALLY</executionType>
      <phaseJobs>
        <com.tikal.jenkins.plugins.multijob.PhaseJobsConfig>
          <jobName>PhaseTwoJobA</jobName>
          <currParams>true</currParams>
          <configs>
            <hudson.plugins.parameterizedtrigger.NodeParameters/>
            <hudson.plugins.parameterizedtrigger.PredefinedBuildParameters>
              <properties>foo=bar</properties>
            </hudson.plugins.parameterizedtrigger.PredefinedBuildParameters>
          </configs>
          <abortAllJob>false</abortAllJob>
          <aggregatedTestResults>true</aggregatedTestResults>
          <enableRetryStrategy>false</enableRetryStrategy>
        </com.tikal.jenkins.plugins.multijob.PhaseJobsConfig>
        <com.tikal.jenkins.plugins.multijob.PhaseJobsConfig>
          <jobName>PhaseTwoJobB</jobName>
          <currParams>false</currParams>
          <configs>
            <hudson.plugins.parameterizedtrigger.matrix.MatrixSubsetBuildParameters>
              <filter>JVM_VARIANT == "server"</filter>
            </hudson.plugins.parameterizedtrigger.matrix.MatrixSubsetBuildParameters>
          </configs>
          <abortAllJob>false</abortAllJob>
          <aggregatedTestResults>false</aggregatedTestResults>
          <enableRetryStrategy>false</enableRetryStrategy>
          <enableCondition>true</enableCondition>
          <condition>${BUILDNUMBER} % 2 == 1</condition>
          <killPhaseOnJobResultCondition>UNSTABLE</killPhaseOnJobResultCondition>
        </com.tikal.jenkins.plugins.multijob.PhaseJobsConfig>
      </phaseJobs>
    </com.tikal.jenkins.plugins.multijob.MultiJobBuilder>
    <com.tikal.jenkins.plugins.multijob.MultiJobBuilder>
      <phaseName>PhaseThree</phaseName>
      <continuationCondition>ALWAYS</continuationCondition>
      <executionType>PARALLEL</executionType>
      <phaseJobs>
        <com.tikal.jenkins.plugins.multijob.PhaseJobsConfig>
          <jobName>PhaseThreeJobA</jobName>
          <currParams>true</currParams>
          <configs/>
          <abortAllJob>false</abortAllJob>
          <aggregatedTestResults>false</aggregatedTestResults>
          <enableRetryStrategy>false</enableRetryStrategy>
          <killPhaseOnJobResultCondition>FAILURE</killPhaseOnJobResultCondition>
        </com.tikal.jenkins.plugins.multijob.PhaseJobsConfig>
      </phaseJobs>
    </com.tikal.jenkins.plugins.multijob.MultiJobBuilder>
    <com.tikal.jenkins.plugins.multijob.MultiJobBuilder>
      <phaseName>PhaseFour</phaseName>
      <continuationCondition>SUCCESSFUL</continuationCondition>
      <executionType>PARALLEL</executionType>
      <phaseJobs>
        <com.tikal.jenkins.plugins.multijob.PhaseJobsConfig>
          <jobName>PhaseFourJobA</jobName>
          <currParams>false</currParams>
          <configs/>
          <abortAllJob>false</abortAllJob>
          <aggregatedTestResults>false</aggregatedTestResults>
          <parsingRulesPath>/PhaseFour/PhaseFourRetry.prop</parsingRulesPath>
          <maxRetries>3</maxRetries>
          <enableRetryStrategy>true</enableRetryStrategy>
        </com.tikal.jenkins.plugins.multijob.PhaseJobsConfig>
      </phaseJobs>
    </com.tikal.jenkins.plugins.multijob.MultiJobBuilder>
    <com.tikal.jenkins.plugins.multijob.MultiJobBuilder>
      <phaseName>PhaseFive</phaseName>
      <continuationCondition>SUCCESSFUL</continuationCondition>
      <executionType>PARALLEL</executionType>
      <phaseJobs>
        <com.tikal.jenkins.plugins.multijob.PhaseJobsConfig>
          <jobName>PhaseFiveJobA</jobName>
          <currParams>false</currParams>
          <jobAlias>PhaseFiveJobRunA</jobAlias>
          <configs/>
          <abortAllJob>false</abortAllJob>
          <aggregatedTestResults>false</aggregatedTestResults>
          <enableRetryStrategy>false</enableRetryStrategy>
        </com.tikal.jenkins.plugins.multijob.PhaseJobsConfig>
        <com.tikal.jenkins.plugins.multijob.PhaseJobsConfig>
          <jobName>PhaseFiveJobA</jobName>
          <currParams>false</currParams>
          <jobAlias>PhaseFiveJobRunB</jobAlias>
          <configs/>
          <abortAllJob>false</abortAllJob>
          <aggregatedTestResults>false</aggregatedTestResults>
          <enableRetryStrategy>false</enableRetryStrategy>
        </com.tikal.jenkins.plugins.multijob.PhaseJobsConfig>
      </phaseJobs>
    </com.tikal.jenkins.plugins.multijob.MultiJobBuilder>
  </builders>
</project>
