<?xml version='1.0' encoding='UTF-8'?>
<project>
  <actions/>
  <description>This job installs a fresh platform and the latest b3 aggregator. It should not have to be ran very often. </description>
  <logRotator>
    <daysToKeep>5</daysToKeep>
    <numToKeep>10</numToKeep>
    <artifactDaysToKeep>-1</artifactDaysToKeep>
    <artifactNumToKeep>-1</artifactNumToKeep>
  </logRotator>
  <keepDependencies>false</keepDependencies>
  <properties>
    <hudson.security.AuthorizationMatrixProperty>
      <permission>hudson.model.Item.Configure:ROLE_CALLISTO-DEV</permission>
      <permission>hudson.model.Item.Configure:thallgren</permission>
      <permission>hudson.model.Item.Workspace:ROLE_CALLISTO-DEV</permission>
      <permission>hudson.model.Item.Workspace:thallgren</permission>
      <permission>hudson.model.Run.Delete:thallgren</permission>
      <permission>hudson.model.Run.Update:thallgren</permission>
      <permission>hudson.model.Item.Delete:thallgren</permission>
      <permission>hudson.model.Item.Build:ROLE_CALLISTO-DEV</permission>
      <permission>hudson.model.Item.Build:thallgren</permission>
    </hudson.security.AuthorizationMatrixProperty>
    <hudson.plugins.disk__usage.DiskUsageProperty/>
  </properties>
  <scm class="hudson.scm.NullSCM"/>
  <assignedNode>master</assignedNode>
  <canRoam>false</canRoam>
  <disabled>true</disabled>
  <blockBuildWhenUpstreamBuilding>false</blockBuildWhenUpstreamBuilding>
  <jdk>(Default)</jdk>
  <triggers class="vector"/>
  <concurrentBuild>false</concurrentBuild>
  <builders>
    <hudson.tasks.Ant>
      <targets>installAggregatorAndTools</targets>
      <antName>(Default)</antName>
      <buildFile>/shared/helios/org.eclipse.helios.tools/build.xml</buildFile>
      <properties>aggrPropertyFile=/shared/helios/org.eclipse.helios.tools/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>(default)</name>
        </hudson.plugins.locksandlatches.LockWrapper_-LockWaitConfig>
      </locks>
    </hudson.plugins.locksandlatches.LockWrapper>
  </buildWrappers>
</project>