<?xml version='1.0' encoding='UTF-8'?>
<project>
  <actions/>
  <description>This job gets the latest contributions from helios build files (from HEAD) and invokes both builders in sequence. &#xd;
&#xd;
</description>
  <logRotator>
    <daysToKeep>5</daysToKeep>
    <numToKeep>20</numToKeep>
    <artifactDaysToKeep>-1</artifactDaysToKeep>
    <artifactNumToKeep>-1</artifactNumToKeep>
  </logRotator>
  <keepDependencies>false</keepDependencies>
  <properties>
    <hudson.security.AuthorizationMatrixProperty>
      <permission>hudson.model.Run.Update:thallgren</permission>
      <permission>hudson.model.Item.Workspace:thallgren</permission>
      <permission>hudson.model.Item.Workspace:ROLE_CALLISTO-DEV</permission>
      <permission>hudson.model.Item.Delete:thallgren</permission>
      <permission>hudson.model.Item.Configure:thallgren</permission>
      <permission>hudson.model.Item.Configure:ROLE_CALLISTO-DEV</permission>
      <permission>hudson.model.Run.Delete:thallgren</permission>
      <permission>hudson.model.Item.Build:thallgren</permission>
      <permission>hudson.model.Item.Build:ROLE_CALLISTO-DEV</permission>
    </hudson.security.AuthorizationMatrixProperty>
    <hudson.plugins.disk__usage.DiskUsageProperty/>
    <hudson.plugins.descriptionsetter.JobByDescription/>
  </properties>
  <scm class="hudson.scm.CVSSCM">
    <cvsroot>:pserver:anonymous@dev.eclipse.org:/cvsroot/callisto</cvsroot>
    <module>org.eclipse.helios.build</module>
    <canUseUpdate>true</canUseUpdate>
    <flatten>true</flatten>
    <isTag>false</isTag>
    <excludedRegions></excludedRegions>
  </scm>
  <assignedNode>master</assignedNode>
  <canRoam>false</canRoam>
  <disabled>true</disabled>
  <blockBuildWhenUpstreamBuilding>false</blockBuildWhenUpstreamBuilding>
  <jdk>Base Java 5.0 Installation (/shared/common)</jdk>
  <triggers class="vector">
    <hudson.triggers.SCMTrigger>
      <spec># every 15 mins past the hour 
*/15 * * * *</spec>
    </hudson.triggers.SCMTrigger>
  </triggers>
  <concurrentBuild>false</concurrentBuild>
  <builders>
    <hudson.tasks.Ant>
      <targets>runBothBuilders</targets>
      <antName>apache-ant-1.7.1</antName>
      <antOpts>-Denv.HOSTNAME=build</antOpts>
      <buildFile>/shared/helios/org.eclipse.helios.tools/build.xml</buildFile>
      <properties>heliosPropertyFile=production.properties</properties>
    </hudson.tasks.Ant>
  </builders>
  <publishers>
    <hudson.tasks.Mailer>
      <recipients>david_williams@us.ibm.com</recipients>
      <dontNotifyEveryUnstableBuild>false</dontNotifyEveryUnstableBuild>
      <sendToIndividuals>false</sendToIndividuals>
    </hudson.tasks.Mailer>
  </publishers>
  <buildWrappers>
    <hudson.plugins.locksandlatches.LockWrapper>
      <locks>
        <hudson.plugins.locksandlatches.LockWrapper_-LockWaitConfig>
          <name>helios-lock</name>
        </hudson.plugins.locksandlatches.LockWrapper_-LockWaitConfig>
      </locks>
    </hudson.plugins.locksandlatches.LockWrapper>
  </buildWrappers>
</project>