<?xml version='1.0' encoding='UTF-8'?>
<project>
  <actions/>
  <description>This job gets the latest contributions from helios build files (from HEAD) and invokes the b3 aggregator.  &#xd;
Results can be seen in &#xd;
http://build.eclipse.org/helios/aggregation/&#xd;
and a peek at update site categories can be seen at &#xd;
http://build.eclipse.org/helios/aggregation/final&#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.Item.Configure:thallgren</permission>
      <permission>hudson.model.Item.Configure:david_williams</permission>
      <permission>hudson.model.Run.Delete:thallgren</permission>
      <permission>hudson.model.Run.Delete:david_williams</permission>
      <permission>hudson.model.Item.Build:ROLE_CALLISTO-DEV</permission>
      <permission>hudson.model.Item.Build:thallgren</permission>
      <permission>hudson.model.Item.Build:david_williams</permission>
      <permission>hudson.model.Item.Read:thallgren</permission>
      <permission>hudson.model.Item.Read:david_williams</permission>
      <permission>hudson.model.Run.Update:thallgren</permission>
      <permission>hudson.model.Run.Update:david_williams</permission>
      <permission>hudson.model.Item.Workspace:ROLE_CALLISTO-DEV</permission>
      <permission>hudson.model.Item.Workspace:thallgren</permission>
      <permission>hudson.model.Item.Workspace:david_williams</permission>
      <permission>hudson.model.Item.Delete:thallgren</permission>
      <permission>hudson.model.Item.Delete:david_williams</permission>
    </hudson.security.AuthorizationMatrixProperty>
    <hudson.plugins.disk__usage.DiskUsageProperty/>
  </properties>
  <scm class="hudson.scm.CVSSCM">
    <cvsroot>:local:/cvsroot/callisto</cvsroot>
    <module>org.eclipse.helios.build</module>
    <canUseUpdate>true</canUseUpdate>
    <flatten>true</flatten>
    <isTag>false</isTag>
    <excludedRegions></excludedRegions>
  </scm>
  <assignedNode>(hudson-slave1||hudson-slave2)||fastlane</assignedNode>
  <canRoam>false</canRoam>
  <disabled>true</disabled>
  <blockBuildWhenUpstreamBuilding>false</blockBuildWhenUpstreamBuilding>
  <jdk>(Default)</jdk>
  <triggers class="vector">
    <hudson.triggers.SCMTrigger>
      <spec>*/15 * * * *</spec>
    </hudson.triggers.SCMTrigger>
  </triggers>
  <concurrentBuild>false</concurrentBuild>
  <builders>
    <hudson.tasks.Ant>
      <targets>runAggregator</targets>
      <antName>apache-ant-1.7.1</antName>
      <antOpts>-DhostForURL=hudson</antOpts>
      <buildFile>/shared/helios/org.eclipse.helios.tools/build.xml</buildFile>
      <properties>aggrPropertyFile=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>simrel-lock-helios</name>
        </hudson.plugins.locksandlatches.LockWrapper_-LockWaitConfig>
      </locks>
    </hudson.plugins.locksandlatches.LockWrapper>
    <hudson.plugins.build__timeout.BuildTimeoutWrapper>
      <timeoutMinutes>360</timeoutMinutes>
      <failBuild>true</failBuild>
    </hudson.plugins.build__timeout.BuildTimeoutWrapper>
  </buildWrappers>
</project>