<?xml version='1.0' encoding='UTF-8'?>
<project>
  <actions/>
  <description>Invokes the p2-enabled product-based build script generated by helios.generate.</description>
  <logRotator>
    <daysToKeep>10</daysToKeep>
    <numToKeep>20</numToKeep>
  </logRotator>
  <keepDependencies>false</keepDependencies>
  <properties>
    <hudson.security.AuthorizationMatrixProperty>
      <useProjectSecurity>true</useProjectSecurity>
      <permission>hudson.model.Item.Delete:ROLE_CALLISTO-DEV</permission>
      <permission>hudson.model.Item.Workspace:ROLE_CALLISTO-DEV</permission>
      <permission>hudson.model.Run.Update:ROLE_CALLISTO-DEV</permission>
      <permission>hudson.model.Item.Configure:ROLE_CALLISTO-DEV</permission>
      <permission>hudson.model.Item.Build:ROLE_CALLISTO-DEV</permission>
      <permission>hudson.model.Run.Delete:ROLE_CALLISTO-DEV</permission>
    </hudson.security.AuthorizationMatrixProperty>
    <hudson.plugins.descriptionsetter.JobByDescription/>
  </properties>
  <scm class="hudson.scm.NullSCM"/>
  <canRoam>true</canRoam>
  <disabled>false</disabled>
  <jdk>(Default)</jdk>
  <triggers class="vector"/>
  <builders>
    <hudson.tasks.Ant>
      <targets>-logfile helios.build.log.txt</targets>
      <antName>(Default)</antName>
    </hudson.tasks.Ant>
  </builders>
  <publishers>
    <hudson.tasks.ArtifactArchiver>
      <artifacts>helios.build.log.txt</artifacts>
      <latestOnly>false</latestOnly>
    </hudson.tasks.ArtifactArchiver>
    <hudson.tasks.Mailer>
      <recipients>david_williams@us.ibm.com</recipients>
      <dontNotifyEveryUnstableBuild>false</dontNotifyEveryUnstableBuild>
      <sendToIndividuals>false</sendToIndividuals>
    </hudson.tasks.Mailer>
  </publishers>
  <buildWrappers/>
  <customWorkspace>/shared/helios/build/helios</customWorkspace>
</project>